This endpoint updates a previously completed redemption.
You can update the amount used - increase it, decrease it, or set it to zero (full reversal).
IMPORTANT: Only ONE update is allowed per redemption. Once updated, the redemption cannot be updated again.
How Transaction Updates Work
When you update a redemption, the system creates exactly three transactions:
- Original Transaction – The first REDEMPTION transaction (now marked as canceled)
- Example note:
"Transaction canceled and replaced with new transaction. Original amount: 1,000.00, New amount: 500.00"
- Example note:
- Cancellation Transaction – A REDEMPTION_REVERSAL record with negative amount
- Example note:
"Reversal of original transaction 12345"
- Example note:
- New Transaction – The updated REDEMPTION transaction (currently active)
- Example note:
"Updated transaction created from original transaction 12345"
- Example note:
Important Notes:
- ORIGINAL = The very first REDEMPTION transaction (oldest by DateCreated, now canceled)
- CANCELLATION = The REDEMPTION_REVERSAL transaction (accounting record with negative amount)
- If the original redemption had a
referencevalue, the cancellation transaction'sreferencewill be prefixed withCANCEL-(e.g.,CANCEL-REF123)
- If the original redemption had a
- NEW = The updated REDEMPTION transaction (currently active)
- If the original redemption had a
referencevalue, the new transaction'sreferencewill be prefixed withNEW-(e.g.,NEW-REF123)
- If the original redemption had a
- All three transactions share the same external reference you provided
originalAmount= Amount of the ORIGINAL transactionnewAmount= Amount of the NEW transaction
Request
Method: POST
URL: /merchant-client/v2/redemptions/update
Path Parameters: None
Query Parameters: None
Body:
{
"reference": "REF123456",
"amountUsed": 0
}Field Descriptions:
- reference (string, required) – Your unique reference used during the redemption.
- amountUsed (decimal, required) – New amount to use for the transaction. Set to 0 to fully reverse. Must be >= 0.
Responses
200 OK – Successful
Response Structure:
{
"data": {
"transactions": [
{
"transactionId": "12345",
"transactionType": "REDEMPTION",
"amount": 1000.00,
"reference": "REF123456",
"voucherCode": "ABC***",
"serialNumber": "67890",
"note": "Transaction canceled and replaced..."
},
{
"transactionId": "12346",
"transactionType": "REDEMPTION_REVERSAL",
"amount": -1000.00,
"reference": "CANCEL-REF123456",
"voucherCode": "ABC***",
"serialNumber": "67890",
"note": "Reversal of original transaction 12345"
},
{
"transactionId": "12347",
"transactionType": "REDEMPTION",
"amount": 500.00,
"reference": "NEW-REF123456",
"voucherCode": "ABC***",
"serialNumber": "67890",
"note": "Updated transaction created from original transaction 12345"
}
],
"summary": {
"originalAmount": 1000.00,
"newAmount": 500.00,
"reference": "REF123456"
}
},
"statusCode": "00",
"message": "Success"
}Field Descriptions:
- data (object) – Complete update/reversal details with all three transactions.
- originalTransaction (object) – The original REDEMPTION transaction (now canceled).
- transactionId (string) – Unique transaction ID.
- transactionType (string) –
REDEMPTION. - amount (decimal) – Original transaction amount.
- reference (string) – Your reference (shared across all three transactions).
- voucherCode (string) – Masked voucher code.
- serialNumber (string) – Voucher serial number.
- note (string) – Descriptive message about what happened.
- cancellationTransaction (object) – The REDEMPTION_REVERSAL transaction.
- transactionId (string) – Unique transaction ID.
- transactionType (string) –
REDEMPTION_REVERSAL. - amount (decimal) – Negative amount (reversal of original).
- reference (string) – Prefixed with
CANCEL-if original had a reference (e.g.,CANCEL-REF123). - voucherCode (string) – Masked voucher code.
- serialNumber (string) – Voucher serial number.
- note (string) – Descriptive message.
- newTransaction (object or null) – The new REDEMPTION transaction (currently active). Will be
nullif the update was a full reversal (amountUsed = 0).- transactionId (string) – Unique transaction ID.
- transactionType (string) –
REDEMPTION. - amount (decimal) – New transaction amount.
- reference (string) – Prefixed with
NEW-if original had a reference (e.g.,NEW-REF123). - voucherCode (string) – Masked voucher code.
- serialNumber (string) – Voucher serial number.
- note (string) – Descriptive message.
- summary (object) – Summary of the update operation.
- originalAmount (decimal) – Amount of the original transaction.
- newAmount (decimal) – Amount of the new transaction. Will be
0for full reversals. - reference (string) – Your reference.
- originalTransaction (object) – The original REDEMPTION transaction (now canceled).
- statusCode (string) – Status code (
"00"indicates success). - message (string) – Human-readable message.
401 Unauthorized
Returned when authentication fails.
Unauthorized
403 Forbidden
Returned when merchant does not have permission to update redemptions.
{
"statusCode": "03",
"message": "Access denied"
}404 Not Found
Returned when the transaction reference is not found.
{
"statusCode": "60",
"message": "Not found."
}Example cURL Request
Update to Zero (Full Reversal):
curl -X POST \
'https://{baseUrl}/merchant-client/v2/redemptions/update' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"reference": "REF123456",
"amountUsed": 0
}'Update to New Amount:
curl -X POST \
'https://{baseUrl}/merchant-client/v2/redemptions/update' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '{
"reference": "REF123456",
"amountUsed": 500
}'| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||