Note: This article is relevant to merchants integrating with Zepto in Australia.
There may come a time when you wish to cancel a transaction that has already been created, this could be due to a customer requesting a change to their Debit amount or simply a transaction made in error that you wish to stop processing. Whatever the reason, this article will explain when you are able to and how you can cancel a Payment Request or Payment.
When Can I Cancel a Transaction
When a Payout or Payment Request is created, both a Debit and Credit are created and these make up the transaction. In the case of a Payment Request, the Debit would be from your customer's account and the Credit would be to your account, these would be reversed in the case of a Payout.
Both the Debit and the Credit will have a status, we will be using this to determine whether a transaction can be cancelled or not.
For Payouts and Payment Requests, you are able to cancel the transaction up until the associated Debit has reached the pre-processing
status. Once the Debit has this status, it has been sent to the bank for processing and there is no way to stop it from processing.
How To Cancel a Transaction
If the Debit side of your transaction has not reached the pre-processing
status yet, you will be able to cancel it. The method for doing this will differ depending on your integration.
Cancelling via the API
Cancelling a Payout or Payment Request via the API is simple and will only take one DELETE request to the respective endpoint
In the case of a Payment Request
DELETE /payment_requests/PR.1234
This would cancel the Payment Request with the reference PR.1234
In the case of a Payout, the Debit reference associated with the Payout will need to be used
DELETE /payouts/D.1234
This would cancel the Payout with a Debit that has the reference D.1234
If successful, the response will have a status code 204
and no content.
If unsuccessful the response status would be 400
and will include a message about why this was unable to be cancelled. For example
{"errors":"Payment Requests cannot be cancelled while processing."}
OR
{"errors":"A matured payout cannot be voided."}
Cancelling via the User Interface
Cancelling transactions via the User Interface is intuitive and straightforward. The below steps will outline how to correctly do this.
To cancel a Payment Request
Click on the
Payment Requests
tabFind the Payment Request you wish to cancel and click on the blue reference on the left
If this Request is able to be cancelled, you will see a red
Cancel
button in the top right-hand corner of this window.Click the red
Cancel
buttonClick
OK
in the pop-upThis Payment Request will be cancelled and will not be sent for processing.
To cancel a Payout
Click on the
Payments
tabFind the correct Payout and click on the blue reference for this Payout
If this Payout is able to be cancelled, you will see a red
Void
button in the top right-hand corner of this window.Click this
Void
buttonEnter a reason for your own future reference
Click on the
Void Transaction
buttonThis Payout will be cancelled and will not be sent for processing
What To Do If It's Too Late To Cancel
If your transaction has reached the pre-processing
status, it has been sent to the bank for processing and you will not be able to cancel it. If this is the case, we recommend allowing the transaction to process as it normally would and, once you have the funds in your account, issuing a refund to your customer for the amount required.
Feel free to reach out if you have further questions by emailing us directly at support@zepto.com.au or clicking on the green bubble icon from the corner of the screen.