Skip to main content

Reversal Transaction

Process​

Merchant calls the Reversal API to cancel an Authorized transaction that has not been captured yet, in order to release the held amount for the customer.

API Information​

Method: POST

URL:

Request​

Main Parameters Table​

No.Field NameData TypeRequiredDescription
1request_idString(100)✅Unique request ID
2request_timeString(20)✅Request send time. Format: YYYY-MM-DD H:i:s
3master_merchant_codeString(50)✅Unique Master Merchant identifier
4sub_merchant_codeString(50)✅Unique Sub Merchant identifier
5order_codeString(50)✅Baokim order code from Authentication step
6reasonString(255)✅Cancellation reason
7extendObject❌Extended data

Example Request​

{
"request_id": "MERCHANT050015588AXE014",
"request_time":" 2020-08-11 14:41:00 ",
"master_merchant_code":"MASTER_MERCHANT",
"sub_merchant_code":"SUB_MERCHANT",

"order_code": "VLAD_1753867524",
"reason":"yêu cầu hủy đơn trả góp",
"extend": {
"billing": {
"firstname": "A",
"lastname": "NGUYEN VAN",
"address": "313 Truong Chinh, Dong Da",
"city": "HANOI",
"state": null,
"country": "VN",
"email": "[email protected]",
"phone": "0394899999",
"postal_code": "100000",
}
}
}

Response​

Main Parameters Table​

No.Field NameData TypeRequiredDescription
1codeNumber(3)✅Baokim error code
2messageString(200)✅Baokim error message
3dataObject✅Data returned by Baokim

Data Information​

No.Field NameData TypeRequiredDescription
1order_codeString✅Baokim order code
2reversal_statusNumber✅Reversal status: 0 = Pending, 1 = Reversed, 2 = Fail
3statusNumber✅Overall order status
4extendObject❌Extended data

Example Response​

{
"code": 0,
"message": "Success",
"data": {
"order_code": "VLAD_1753867524",
"reversal_status": 1,
"status": 1,
"extend": {}
}
}

Error Code Table

Error CodeDescription
100Success
11Failed
101Baokim system error
104OAuth authentication error
105Signature authentication error
422Validation error: RequestId invalid
422Validation error: RequestTime invalid
422Validation error: PartnerCode invalid
422Card_data invalid
422Amount invalid
301Order not found by order_code
302Card issue (does not exist, expired)
303Card declined
304Insufficient card balance
305User cancelled transaction
306Incorrect OTP
308Transaction has not completed Authentication
309Transaction has not completed Authorization
310Transaction already reversed — cannot capture
311Transaction already captured — cannot reverse
313Bank-side processing error