Transaction reversal
Voids are used to void orders that have been paid for but not yet settled on the day of the void. After the order is canceled, it is deemed that the transaction has not occurred, and the funds are returned directly to the user without entering the merchant for settlement. Currently, only Thai dynamic QR code (TH_Thailand_dynamic_QR) scenarios are supported.
What's the difference between a reversal and a refund?
| Dimension | Transaction reversal | Refunds |
|---|---|---|
| Applicable time | Only orders that were paid but not settled on the same day | Settled orders (usually with a longer refund window) |
| Capital flows | The order was not settled, directly voided, and the funds were not actually settled to the merchant | The order has been settled and the funds need to be returned to the user from the merchant account |
| Scope of support | Only Thailand Dynamic QR Code (TH_Thailand_dynamic_QR) is currently supported | Support a wider range of channels and countries |
Why reversing is cleaner: Reversing an unsettled reservation is the equivalent of a transaction never happening, there is no "refund → funds back to the merchant account and → then deducted" link, and reconciliation is simpler.
Business Process
Undo status
| Status | Description |
|---|---|
| SUCCESS | Cancellation successful, order voided, funds returned to user |
| FAILED | Failed to undo (e.g. settled, cross day, no order) |
| PENDING | Revocation in progress |
Scope and revocation rules
# # Scope of support
| Country/Channel | Whether to support revocation | Description |
|---|---|---|
| Thailand · Dynamic QR Code (TH_Thailand_dynamic_QR) | ✅ Support | Unsettled orders on the same day can be reversed |
| Other countries/channels | ❌ Not yet supported | Please use the refund/pay on behalf process instead |
Withdrawal ability is determined by the settlement rules of the local payment system. At present, only Thailand's dynamic QR code supports revocation. Other countries have different settlement mechanisms and are not open for the time being.
# # Withdrawal Prerequisites
- Only available for reversal on the same day: only available for reversal on the same day, not for reversal across days
- Unsettled orders only: Settled orders cannot be reversed and require a refund
# # Cross celestial delimitation
| Scenario | Can it be revoked? |
|---|---|
| Reservations paid before 11pm on the same day, withdrawn before 11am on the same day | ✅ Can be revoked |
| Reservations paid before 11pm on the same day, canceled after 11pm on the same day | ❌ Can't Undo (Cross-Day) |
| Reservations across days | ❌ Can't Undo |
# # Processing after Undo Failure
When a withdrawal returns failed, the most common reasons are that the order is settled, crossed days, or the order does not exist:
- Reservations settled or crossed days: can't be reversed, can consider making a payment to the user in the form of payment on behalf of the user
- The order does not exist or the status is uncertain: please check the status of the order on the merchant platform or through the query interface before deciding whether to refund or re-initiate; if you still have questions, please contact PayCools customer support
Scenario
- Same day void: the user cancels the order after paying on the same day and the order has not been settled
- Mishandled: Merchant incorrect payout or wrong amount, re-launched after canceling the original order within the same day
Interface description
| Parameter | Description |
|---|---|
| countryCode | Country Code (TH) |
| originalTransactionId | Original Transaction ID |
| mchVoidOrderId | Revoke Request Serial Number (Merchant Generated, Unique) |
For complete API parameter descriptions, request/response examples, refer to the API documentation.