Idempotency

Idempotency is a capability for all merchants to mitigate any operational or financial impact caused by unintentional duplicate API calls.

Idempotency requires that the merchant reference field is unique per merchant and per environment. The API will verify the uniqueness of the merchant reference field and provide error in the API response if the merchant reference value is a duplicate.

πŸ“˜

Currently, idempotency works for transactions with Authorized, Processed, or Completed status, and is available for the Pay, Authorize, Capture, and Deposit transaction types.

Capture & Deposit APIs

In order to execute the Capture API and Deposit API requests, ensure you pass in the following fields:

  • split token: Split Token you received from the Bank Authorization Notification
  • amount: Amount to be captured.
  • merchantReference: Your specific identifier for this transaction. For example, this could be your Order Number. This will appear in Event Notifications and Reports.

Expected Response

CodeDescription
210This is a duplicate request. It has been ignored

πŸ“˜

Info

If you are unable to support this requirement, please contact support.

Additional Notes

  1. Refund API can use the same merchant reference that already existed. The duplicate merchant reference validation does not apply to refunds. It only applies to transactions that have been Authorized, Processed, or Completed.
  2. If the bank auth is pending, the same bank auth can be used again.
  3. If the bank auth is canceled (because the user quit), the same bank auth can be used again.
  4. If the bank auth is successful, the same bank auth cannot be used again.

πŸ“˜

Refresh Token

For the refresh token flow (verification), merchants may reuse the merchant reference from the denied capture on the verification call. However, they are not able to use it on the next capture since the verification transaction would have been Authorized status (which is when the duplicate merchant reference validation is applied). A better option would be using the reference only for the capture calls and another for verification.