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 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 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 of 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

  1. Click on the Payment Requests tab

  2. Find the Payment Request you wish to cancel and click on the blue reference on the left

  3. If this Request is able to be cancelled, you will see a red Cancel button in the top right-hand corner of this window.

  4. Click the red Cancel button

  5. Click OK in the pop-up

  6. This Payment Request will be cancelled and will not be sent for processing.

To cancel a Payout

  1. Click on the Payments tab

  2. Find the Payout Batch that holds the Payout you wish to cancel and click on the blue reference

  3. Find the correct Payout inside this batch and click on the blue reference for this Payout

  4. If this Payout is able to be cancelled, you will see a red Void button in the top right-hand corner of this window.

  5. Click this Void button

  6. Enter a reason for your own future reference

  7. Click on the Void Transaction button

  8. This 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 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 blue bubble icon from the corner of the screen.

Did this answer your question?