Purchase Cancellation
Method
CancelPurchaseClosedLoop
Description
The Purchase Cancel Transaction feature allows the cancellation of a purchase operation in the Closed Loop model.
The API receives the cancellation request, validates the applicable timeframe rules, and, when eligible, updates the transaction status to Canceled.
Every cancellation request must include a cancellation reason code, according to the predefined cancellation reason catalog.
Cancellation Flow
The purchase cancellation process follows the steps below:
- Receipt of the cancellation request.
- Validation of the allowed timeframe (up to 2 hours after transaction confirmation).
- Update of the transaction status to Canceled.
Timeframe Rule
- A purchase cancellation may be requested within 2 hours after the transaction confirmation.
- Requests submitted after this timeframe will not be processed.
- If the deadline is exceeded, the API will return the following message:
"The deadline to request the cancellation has expired. Please contact support."
Cancellation Reason Catalog
| Code | Reason | Operation Type | Description / Example |
|---|---|---|---|
| C01 | User error | Cash-In / Cash-Out / Payment | Incorrect amount, wrong account, or duplicated operation. |
| C02 | Insufficient funds | Cash-Out / Payment | Balance lower than the requested amount. |
| C03 | Limits exceeded | Cash-Out / Payment | Daily, monthly, or per-operation limit exceeded. |
| C04 | Duplicate operation | All | Same amount, destination, and reference within a short time window. |
| C05 | Timeout / Session expired | All | User did not complete the operation within the allowed time. |
| C06 | System technical failure | All | Internal error, service outage, or no API response. |
| C07 | Fraud detected / AML block | All | Suspicious pattern, watchlist match, PEP, or KYC alert. |
| C08 | Cancellation requested by user | All | User voluntarily cancels before confirmation. |
| C09 | Merchant does not accept payment | Payment | Merchant rejection (e.g. expired QR code or mismatched amount). |
| C10 | Blocked or inactive account | All | Account suspended or pending KYC. |
| C11 | OTP / Biometric validation error | All | Incorrect OTP after 3 attempts or biometric validation failure. |
| C12 | Unauthorized device | All | Operation performed from an unregistered device. |
| C13 | Chargeback reversal | Payment | Customer disputes a card payment after execution. |
| C14 | Support-initiated cancellation | All | Operation canceled by a support agent after a validated request. |
| C15 | Reconciliation failure | Cash-In | Deposit received but not reconciled within 48 hours. |
JSON Request
{
"Method": "CancelPurchaseClosedLoop",
"BusinessUnitId": 30420,
"PartnerId": 10409,
"MerchantAccountKey": "378320-014700-0146333-1",
"OriginalIdentifier": "8974841514514514sd",
"Identifier": "8974841514514514sd",
"Reason": "C01"
}
JSON Response
{
"Success": true,
"Message": ""
}
Updated about 2 hours ago
