Change Log

Change Log

card icon

20 Feb 2025

New Error Code for Payment Failure due to Unavailable Participant

ADDED


🗓️

Release Date: 20 Feb 2025

Change Details:

Currently, when a payment fails due to a participant being offline and unable to process a payment initiation, that payment will fail due to flow control which results in a merchant receiving a payto_payment.failed webhook with the following body:

Before

{"data"=>{
  "id"=>"01951c4b-ce9d-ba1b-fb62-5b910b7c0969",
  "body"=>{
    "failure"=>{
      "code"=>"UKNWN", 
      "title"=>"Unknown Error", 
      "detail"=>"An unexpected error occured. Reach out to Zepto for more information",
      "retryable"=>false
    }
  },
  "type"=>"payto_payment.failed",
  "published_at"=>"2025-02-19T14:41:25.021+11:00",
  "resource_uid"=>"uid",
  "resource_type"=>"payto_payment",
  "resource_metadata"=>{}},
  "links"=>{"resource"=>"https://api.zeptopayments.com/payto/payments/uid"}
}

After

We are now happy to share more detail with merchants in this scenario. In order to do this, we’ve introduced a new error code ZPPAY24 that has the following details

{"data"=>{
  "id"=>"01951c4b-ce9d-ba1b-fb62-5b910b7c0969",
  "body"=>{
    "failure"=>{
      "code"=>"ZPPAY24", 
      "title"=>"Participant not available", 
      "detail"=>"One of the participants is currently not available to process the payment.",
      "retryable"=>false
    }
  },
  "type"=>"payto_payment.failed",
  "published_at"=>"2025-02-19T14:41:25.021+11:00",
  "resource_uid"=>"uid",
  "resource_type"=>"payto_payment",
  "resource_metadata"=>{}},
  "links"=>{"resource"=>"https://api.zeptopayments.com/payto/payments/uid"}
}

Your Action

Merchants can now choose to handle the new error code accordingly.


4 Dec 2024

Prevent non-administrators from removing float accounts in UI

❗️

Breaking

Affected Component: Merchant Portal UI

🗓️

Production Release Date: 4 Dec 2024

Change Details:

Merchants can no longer self-serve to remove their float accounts. This avoids potential issues such as orphaned PayIDs.

Your actions:

If you need assistance with removing a float account please lodge a request with our support team.


25 Nov 2024

Zepto IDs from UUIDv4 to UUIDv7

👍

Improved

🗓️

  • Sandbox Release Date: 25 Nov 2024
  • Production Release Date: 6 Jan 2025

Change Details:

Zepto will change the format of IDs it generates from UUIDv4 to UUIDv7 in order to improve database performance and scalability.

Example Before

{
  "id": "6e339aa1-6743-4bb4-9840-5c5ca0d91c93"
}

Example After

{
  "id": "019327cc-c654-70b0-b522-85c54e073f38"
}

Your actions:

Merchants should ensure any validations they have on Zepto IDs generate are not explicitly checking for UUIDv4 compatibility.

UUIDv7 Benefits


11 Nov 2024

Restrict length of API Idempotency-Key header

❗️

Breaking

🗓️

Production Release Date: 11 Nov 2024

Change Details:

Enforce a 256-character limit for Idempotency-Key headers.

Affected endpoints:

  • POST /payment_requests
  • POST /payments
  • POST /credits/:credit_ref/refunds

28 Oct 2024

Links to refund on payment if payment is facilitating a refund

ADDED

🗓️

  • Sandbox Release Date: 28 Oct 2024
  • Production Release Date: 4 Nov 2024

Change Details:

For payments that facilitate refunds via a PayTo payment, our API will now include a new link, source_refund, within the links section in the response for the following endpoints:

If a payment is facilitating a refund, the source_refund will have a value providing a direct reference to the associated refund. If the payment is not linked to a refund, this field will show as null.

Example:

Before the change:

"links": { 
  self: "http://api.test.example.com/payto/payments/PAYMENT_1234", 
  agreement: "http://api.test.example.com/payto/agreements/biz_agreement_123"
}

After the change:

Payment facilitating a refund:

"links": { 
  self: "http://api.test.example.com/payto/payments/PAYMENT_1234", 
  agreement: "http://api.test.example.com/payto/agreements/biz_agreement_123", 
  source_refund: "http://api.test.example.com/payto/refunds/refund_123"
}

Payment not facilitating a refund:

"links": { 
  self: "http://api.test.example.com/payto/payments/PAYMENT_1234", 
  agreement: "http://api.test.example.com/payto/agreements/biz_agreement_123", 
  source_refund: null
}


10 Oct 2024

PayTo Payment Reference Field Validation

❗️

Breaking change

🗓️

  • Scheduled Sandbox Release Date: 10 Oct 2024
  • Scheduled Production Release Date: 24 Oct 2024

Change Details:

Currently, the reference field in the PayTo Payments endpoint allows non-ASCII characters. This has resulted in incompatibilities with our downstream PayTo core banking and back-office integration.

Introducing further validation to only allow ASCII characters in the payments reference field. This change is a breaking change that might affect your PayTo integration.

Your actions:

Validate that only ASCII characters with this Regex ^[ -~]+$ are used for the reference field in the PayTo Payments endpoint.


01 Oct 2024

Metadata Field

🆕

New feature

🗓️

Release Date: 01 Oct 2024

Change Details:

The Metadata field will be returned in the following endpoints:

Your actions:

Merchants can now utilise the metadata feature.

Please test/build in the sandbox and make any necessary modifications to your current integration as needed.