Reversal giao dịch
Quy trình
MERCHANT gọi API Reversal giao dịch để huỷ giao dịch đã được Authorize nhưng chưa thực hiện capture, nhằm giải phóng số tiền đã bị hold của khách hàng.
Thông tin API
Method: POST
URL:
Request
Bảng tham số chính
| STT | Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|---|
| 1 | request_id | String(100) | ✅ | ID duy nhất của request |
| 2 | request_time | String(20) | ✅ | Thời gian gửi Request. Format: YYYY-MM-DD H:i:s |
| 3 | master_merchant_code | String(50) | ✅ | Mã định danh duy nhất cho master merchant |
| 4 | sub_merchant_code | String(50) | ✅ | Mã định danh duy nhất cho sub merchant |
| 5 | order_code | String(50) | ✅ | Mã đơn của Baokim trả về tại bước Authentication |
| 6 | reason | String(255) | ✅ | Lý do huỷ |
| 7 | extend | Object | ❌ | Dữ liệu mở rộng |
Ví dụ 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
Bảng tham số chính
| STT | Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|---|
| 1 | code | Number(3) | ✅ | Mã lỗi của Baokim |
| 2 | message | String(200) | ✅ | Thông báo mã lỗi của Baokim |
| 3 | data | Object | ✅ | Dữ liệu Baokim trả về |
Thông tin data
| STT | Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|---|
| 1 | order_code | String | ✅ | Mã đơn hàng Baokim |
| 2 | reversal_status | Number | ✅ | Trạng thái reversal: 0 = Pending, 1 = Reversed, 2 = Fail |
| 3 | status | Number | ✅ | Trạng thái tổng đơn hàng |
| 4 | extend | Object | ❌ | Dữ liệu mở rộng |
Ví dụ Response
{
"code": 0,
"message": "Success",
"data": {
"order_code": “VLAD_1753867524”,
"reversal_status": 1,
"status": 1,
"extend": {}
}
}
Bảng mã lỗi Response Code
| Mã lỗi | Mô tả |
|---|---|
| 100 | Thành công |
| 11 | Thất bại |
| 101 | Lỗi hệ thống Baokim |
| 104 | Lỗi xác thực Oauth |
| 105 | Lỗi xác thực chữ ký |
| 422 | Lỗi validate: RequestId không hợp lệ |
| 422 | Lỗi validate: RequestTime không hợp lệ |
| 422 | Lỗi validate: PartnerCode không hợp lệ |
| 422 | Card_data không hợp lệ |
| 422 | Amount không hợp lệ |
| 301 | Không tìm thấy đơn hàng theo order_code |
| 302 | Thẻ có vấn đề (không tồn tại, hết hạn) |
| 303 | Thẻ bị từ chối |
| 304 | Thẻ không đủ số dư |
| 305 | User huỷ giao dịch |
| 306 | Sai mã OTP |
| 308 | Giao dịch chưa thực hiện Authentication |
| 309 | Giao dịch chưa thực hiện Authorize |
| 310 | Giao dịch đã reversal — không thể capture |
| 311 | Giao dịch đã capture — không thể reversal |
| 313 | Lỗi xử lý phía ngân hàng |