Cancel
You can use the cancel API to cancel a transaction. The cancellation period is subject to the contract.
Before issuing a cancellation, you must be familiar with the following information:
- After a transaction is canceled before it is paid, a user cannot continue to pay.
- After a paid transaction is canceled, the payment amount is returned to a user's account.
- Commission fee: The commission fee is returned for the canceled transaction.
- Partial cancellation: Only a full cancellation is allowed.
- Cancellation period: The cancellation period depends on the payment method that a user used for a payment. See the following table for details:
Payment method | Cancellation period |
Indonesia-based payment methods | Cancellation is not allowed. |
Thailand-based Online Banking, Mobile Banking APP, Bank Transfer payment methods |
|
Card payment methods |
|
Other payment methods | A paid transaction can be canceled before 00:15 on T+1 day (UTC+8:00). |
Table 1. Cancellation periods of payment methods
When to cancel a transaction
If you have business scenarios where there are transactions that need to be canceled (such as flash sales, hotel booking services, and ticket selling services). You can cancel a transaction by using the cancel API. After a transaction is canceled, the payment status is CANCELLED
. Even if a notification of a successful payment is received after the transaction is canceled, the payment status remains CANCELLED
. You can cancel a transaction in the following scenarios, and Antom handles the cancellation accordingly:
Scenario | Result |
The cancellation request is issued when the transaction is paid and within the cancellation period. | Full refund without charging the commission fee. |
The cancellation request is issued when the transaction is not paid and within the payment expiration period (14 minutes). | The transaction is canceled. Full refund without charging the commission fee if the transaction is paid after it is canceled. |
The cancellation request is issued when the transaction is paid and the payment result is still unknown after you receive the Alipay asynchronous notification or use the inquiryPayment API. | The transaction is canceled. Full refund without charging the commission fee if the payment success notification of the canceled transaction is received. |
For card payments, the cancellation request is issued when the payment is authorized but is not captured. | The authorized transaction is canceled. |
Table 2. Handling of a cancellation request in different scenarios
Notes:
- A refunded transaction cannot be canceled. Otherwise, the error code
PROCESS_FAIL
is returned.- For card payments, a transaction cannot be canceled but can be refunded after the payment is captured.
How to cancel a transaction
Step 1: Call the cancel API
You can cancel a transaction by using the cancel API. You must pass in one of the following parameters in your request:
Parameter | Required or not | Description |
paymentId | OPTIONAL | The unique identifier that Alipay assigns to a transaction. |
paymentRequestId | OPTIONAL | The unique identifier that you assign to a request. |
Table 3. Details of the request parameters of the cancel API
Step 2: Obtain the cancellation result
After you call the cancel API, Antom is to synchronously return the cancellation result by result.resultStatus :
resultStatus | Explanation |
S | The cancellation is successful. cancelTime indicates the time when the cancellation succeeds. |
F | The cancellation failed. See Error codes of the cancel API for troubleshooting. |
U | The cancellation is unknown. Resend the API request with the same value of paymentRequestId. paymentRequestId is the unique identifier of a cancellation, so resending the request by using the same value of the parameter cannot trigger multiple cancellations. Contact Alipay Technical support if the value of result.resultStatus is still |
Table 4. Explanation of result.resultStatus