Hoàn đơn hàng
Quy trình
Mô tả:
- Merchant gọi API hoàn đơn hàng.
- Nếu mã lỗi Baokim trả về là 116 (GD gốc được thanh toán từ Ví điện tử), vui lòng gọi lại API này với thông tin STK ngân hàng nhận tiền hoàn.
Thông tin API
Method: POST
URL: /b2b/core/api/ext/refund/send
Request
Bảng tham số chính
| Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| request_id | String | ✅ | ID request |
| request_time | Datetime | ✅ | Thời gian request. Format: YYYY-MM-DD HH:mm:ss |
| merchant_code | String | ✅ | Mã đối tác Baokim cung cấp |
| mrc_order_id | String | ✅ | Mã đơn hàng của merchant |
| description | String | ✅ | Nội dung hoàn tiền |
| amount | Integer | ❌ | Số tiền hoàn nếu hoàn 1 phần |
| account_no | String | ❌ | STK nhận tiền hoàn (khi mã lỗi = 116) |
| bank_no | String(6) | ❌ | Mã ngân hàng nhận tiền hoàn (khi mã lỗi = 116) |
| installment | Object | ❌ | Thông tin huỷ trả góp |
Thông tin installment
| Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| only_cancel_installment | Integer | ✅ | 0 = Huỷ toàn phần, 1 = Huỷ chuyển đổi |
Ví dụ Request
{
"request_id": "RQID0001",
"request_time": "2023-08-18 10:00:00",
"merchant_code": "MERCHANTCODE",
"mrc_order_id": "BK_24121706176582",
"description": null,
"amount": 10000,
"account_no": 1903000000000018,
"bank_no": 970407,
"installment": null
}
Response
ghi chú
HTTP 200 - Thành công
Bảng tham số chính
| Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| code | Integer | ✅ | Mã kết quả |
| message | String | ✅ | Thông báo |
| data.order | Object | ✅ | Thông tin đơn hàng |
| data.transaction | Object | ✅ | Thông tin giao dịch hoàn |
Thông tin đơn hàng (data.order)
| Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| id | Integer | ✅ | Mã đơn hàng Baokim |
| mrc_order_id | String | ✅ | Mã đơn hàng merchant |
| total_amount | Integer | ✅ | Số tiền đơn hàng |
| status | Integer | ✅ | Trạng thái đơn hàng (0–9) |
| completed_at | Datetime | ✅ | Thời gian thành công |
| created_at | Datetime | ✅ | Thời gian tạo |
| updated_at | Datetime | ✅ | Thời gian cập nhật cuối |
Thông tin giao dịch (data.transaction)
| Tên trường | Kiểu dữ liệu | Bắt buộc | Mô tả |
|---|---|---|---|
| id | Integer | ✅ | ID giao dịch trên Baokim |
| order_id | Integer | ✅ | ID đơn hàng trên Baokim |
| mrc_order_id | String(50) | ✅ | Mã đơn hàng merchant |
| type | Integer | ✅ | Loại giao dịch |
| payment_method | Integer | ✅ | Phương thức thanh toán |
| merchant_fee | Integer | ✅ | Phí merchant chịu |
| user_fee | Integer | ✅ | Phí người dùng chịu |
| promotion_amount | Integer | ✅ | Số tiền khuyến mãi |
| total_amount | Integer | ✅ | Tổng tiền giao dịch (amount + user_fee) |
| amount | Integer | ✅ | Số tiền đơn hàng |
| description | String(255) | ✅ | Mô tả giao dịch |
| status | Integer | ✅ | Trạng thái: 0 = Khởi tạo, 1 = Thành công, 2 = Thất bại, 3 = Pending |
| period | Integer | ❌ | Kỳ hạn (null nếu không áp dụng) |
| completed_at | Datetime | ✅ | Thời gian hoàn thành |
| created_at | Datetime | ✅ | Thời gian tạo |
| updated_at | Datetime | ✅ | Thời gian cập nhật |
Ví dụ Response
{
"code": 200,
"message": "Thành công",
"data": {
"order": {
"id": 4412312,
"mrc_order_id": "BK_021_ANC",
"total_amount": 10000,
"status": 1,
"completed_at": "2023-08-02 08:15:30",
"created_at": "2023-08-02 08:13:30",
"updated_at": "2023-08-02 08:15:30"
},
"transaction": [
{
"id": 112344,
"order_id": 4412312,
"mrc_order_id": "BK_021_ANC",
"type": 1,
"payment_method": 1,
"merchant_fee": 0,
"user_fee": 1000,
"promotion_amount": 0,
"total_amount": 11000,
"amount": 10000,
"description": "Thanh toan don hang",
"status": 1,
"period": null,
"completed_at": "2023-08-02 08:15:30",
"created_at": "2023-08-02 08:13:30",
"updated_at": "2023-08-02 08:15:30"
}
]
}
}
Error Codes
| Mã lỗi | Mô tả |
|---|---|
| 102 | Lỗi nhà cung cấp |
| 104 | Lỗi xác thực |
| 105 | Chữ ký số không hợp lệ |
| 106 | Số tiền không đủ |
| 107 | Đơn hàng không thể hoàn |
| 109 | Đơn hàng không tồn tại |