Skip to main content

Refund Transaction

Process​

Description:

  • Merchant calls this API when customer requests return, service cancellation, etc.
  • Applies to transactions that have been Captured.
  • Supports full or partial refund (refund_amount).
  • Baokim distinguishes between 2 types: Void (cancel before settlement) and Refund (refund after settlement).

API Information​

Method: POST

Request​

(Parameters sent by merchant)

Main Parameters Table​

No.Field NameData TypeRequiredDescription
1request_idString(100)✅Unique request ID from Merchant to Baokim
2request_timeString(20)✅Request send time. Format: YYYY-MM-DD H:i:s
3merchant_codeString(50)✅Unique merchant identifier
4order_codeString(50)✅Baokim order code returned from the Authentication step
5refund_amountNumber❌Refund amount (for partial refund). Leave blank = full refund
6reasonText❌Reason for refund
7extendObject❌Extended data

Example Request​

{
"request_id": "MERCHANT050015588AXE014",
"request_time": "2020-08-11 14:41:00",
"merchant_code": "MERCHANT",
"order_code": "VLAD_1753867524",
"reason": "yêu cầu hủy đơn",
"extend": {}
}

Response​

(Parameters returned by Baokim)

Main Parameters Table​

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

Data Information​

No.Field NameData TypeRequiredDescription
1order_codeNumber✅Baokim order code
2refund_statusNumber✅Status: 0-Refund Pending / 1-Refunded / 2-Fail
3refund_typeNumber✅Refund type: 1-Void / 2-Refund
4statusNumber✅Overall order status of Baokim
5extendObject❌Extended data

Example Response​

{
"code": 0,
"message": "Success",
"data": {
"order_code": "VLAD_1753867524",
"refund_status": 1,
"refund_type": 1,
"status": 9,
"extend": {}
}
}

Error Code​

Error CodeDescription
100Success
11Failed
101Baokim system error
104OAuth authentication error
105Signature authentication error
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
422Validation error: RequestId invalid
422Validation error: RequestTime invalid
422Validation error: PartnerCode invalid
422Card_data invalid
422Amount invalid