Chuyển tới nội dung chính

Webhook thông báo kết quả giao dịch

Quy trình

Mô tả:

  • Baokim gửi webhook cho Merchant khi mỗi giao dịch được duyệt vay hoặc bị huỷ trả chậm.
  • Merchant cần xây dựng API webhook để nhận thông báo này.
  • Baokim ký dữ liệu request gửi sang Merchant bằng SHA256withRSA.

Thông tin API

Method: POST

URL: Merchant cung cấp

Header:

Content-Type: application/json
Signature: $signature

Request

(Tham số Baokim gửi tới Merchant)

Bảng tham số chính

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1request_idString(100)ID duy nhất ứng với mỗi Request từ MERCHANT sang Baokim
2request_timeString(20)Thời gian gửi request. Format: YYYY-MM-DD H:i:s
3merchant_codeString(50)Mã định danh duy nhất cho đối tác: MERCHANT
4operationStringLoại thao tác: PAYMENT hoặc REFUND
5dataObjectThông tin chi tiết giao dịch

Thông tin data

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1order_idNumberMã đơn hàng Baokim
2mrc_order_idString(50)Mã đơn hàng Merchant
3merchant_codeString(50)Mã định danh Merchant
4customer_nameString(200)Tên đầy đủ khách hàng, không dấu, có khoảng trắng
5customer_phoneString(10)Số điện thoại khách hàng
6customer_emailString(255)Email khách hàng
7customer_addressString(500)Địa chỉ khách hàng
8package_codeString(255)Mã gói vay
9nameString(20)Tên gói vay
10periodNumberKỳ hạn (1, 3, 6, 9, 12 tháng)
11min_amountNumberSố tiền tối thiểu áp dụng gói vay
12max_amountNumberSố tiền tối đa áp dụng gói vay
13down_payment_percentNumber% số tiền trả trước
14down_payment_amountNumberSố tiền trả trước
15original_amountNumberSố tiền đơn hàng
16user_feeNumberPhí người mua chịu
17merchant_feeNumberPhí người bán chịu
18total_paylater_amountNumberTổng số tiền trả sau (đã tính phí)
19payment_per_periodNumberSố tiền trả mỗi kỳ
20total_amountNumberTổng số tiền user cần thanh toán (trả trước + trả sau)
21difference_amountNumberSố tiền chênh lệch so với trả thẳng
22document_requiredString(4)Giấy tờ cần có (CCCD/CMND)
23provider_codeString(20)Tên tổ chức tài chính
24descriptionString(255)Mô tả đơn hàng
25url_successString(255)URL redirect khi duyệt vay thành công
26url_failString(255)URL redirect khi duyệt vay thất bại
27statusNumberTrạng thái giao dịch
28extensionObjectThông tin mở rộng (danh sách sản phẩm)
29created_atDatetimeThời gian tạo đơn hàng
30updated_atDatetimeThời gian cập nhật đơn hàng

Thông tin extension

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1itemsArrayDanh sách object thông tin ngân hàng và gói vay

Thông tin items

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1item_idString(50)ID sản phẩm
2item_codeString(50)Mã sản phẩm
3item_nameString(255)Tên sản phẩm
4item_amountNumberGiá tiền sản phẩm
5quantityNumberSố lượng sản phẩm
6urlString(500)Link sản phẩm

Ví dụ Request

{
"request_id": "MERCHANT050015588AXE012",
"request_time": "2020-08-11 14:41:00",
"merchant_code": "MERCHANT",
"operation": "PAYMENT/REFUND",
"data": {
"order_id": 1870436,
"mrc_order_id": "VLAD_1753867524",
"merchant_code": "MERCHANT",
"customer_name": "Nguyễn Trung Quân",
"customer_phone": "0394827170",
"customer_email": "[email protected]",
"customer_address": "40, ngách 16/255 đường Láng, Đống Đa, Hà Nội",
"package_code": "homecredit_1month",
"name": "Home Credit 1 tháng",
"period": 1,
"min_amount": 1000000,
"max_amount": 500000,
"down_payment_percent": 20,
"down_payment_amount": 2000000,
"original_amount": 10000000,
"user_fee": 0,
"merchant_fee": 100000,
"total_paylater_amount": 8000000,
"payment_per_period": 8000000,
"total_amount": 10100000,
"difference_amount": 100000,
"document_required": "CCCD",
"provider_code": "HOMECREDIT",
"description": "Đơn hàng trả chậm",
"url_success": "https://example.com/success",
"url_fail": "https://example.com/fail",
"status": 1,
"extension": {
"items": [
{
"item_id": 123456,
"item_code": "AEIQ_4562",
"item_name": "Máy tính xách tay ABC",
"item_amount": 10000000,
"quantity": 1,
"url": "https://example.com/product-detail"
}
]
},
"created_at": "2020-08-11 14:41:00",
"updated_at": "2020-08-11 15:41:00"
}
}

Response

(Merchant trả lại cho Baokim)

Bảng tham số chính

STTTên trườngKiểu dữ liệuBắt buộcMô tả
1codeString(3)Xác nhận đã nhận (0 = thành công)
2messageString(20)Message trả về
3dataString(20)Dữ liệu trả về nếu có

Ví dụ Response

{
"code": 0,
"message": "Success",
"data": null
}

Bảng mã lỗi

Mã lỗiMô tả
100Thành công
101Lỗi hệ thống
102Lỗi nhà cung cấp
104Lỗi xác thực JWT
105Chữ ký số không hợp lệ
106Số tiền đơn hàng không đủ để hoàn tiền
107Đơn hàng không thể hoàn
108Đơn hàng không thể hủy
109Đơn hàng không tồn tại
110Mã đơn hàng merchant đã tồn tại
422Lỗi validate