Hoàn tiền giao dịch
Quy trình
Mô tả:
- Merchant gọi API này khi khách hàng có yêu cầu trả hàng, huỷ dịch vụ, v.v.
- Áp dụng cho giao dịch đã Capture.
- Hỗ trợ hoàn toàn bộ hoặc hoàn một phần (
refund_amount). - Baokim phân biệt 2 loại: Void (huỷ trước khi settle) và Refund (hoàn sau khi settle).
Thông tin API
Method: POST
Request
(Tham số đối tác gửi lên)
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 từ Merchant sang Baokim |
| 2 | request_time | String(20) | ✅ | Thời gian gửi request. Format: YYYY-MM-DD H:i:s |
| 3 | merchant_code | String(50) | ✅ | Mã định danh duy nhất của Merchant |
| 4 | order_code | String(50) | ✅ | Mã đơn hàng Baokim trả về tại bước Authentication |
| 5 | refund_amount | Number | ❌ | Số tiền hoàn (nếu hoàn một phần). Bỏ trống = hoàn toàn bộ |
| 6 | reason | Text | ❌ | Lý do hoàn đơn |
| 7 | extend | Object | ❌ | Dữ liệu mở rộng |
Ví dụ 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
(Tham số Baokim trả về)
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 |
| 3 | data | Object | ✅ | Dữ liệu 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 | Number | ✅ | Mã đơn hàng Baokim |
| 2 | refund_status | Number | ✅ | Trạng thái: 0-Refund Pending / 1-Refunded / 2-Fail |
| 3 | refund_type | Number | ✅ | Loại hoàn: 1-Void / 2-Refund |
| 4 | status | Number | ✅ | Trạng thái tổng của đơn hàng Baokim |
| 5 | extend | Object | ❌ | Dữ liệu mở rộng |
Ví dụ Response
{
"code": 0,
"message": "Success",
"data": {
"order_code": "VLAD_1753867524",
"refund_status": 1,
"refund_type": 1,
"status": 9,
"extend": {}
}
}
Error 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ý |
| 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 |
| 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ệ |