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

Tạo đơn hàng

Quy trình

Mô tả:

  • Merchant gọi API này để tạo một đơn hàng của Baokim và nhận đường link thanh toán.
  • Nếu response.code = 100: Baokim xử lý giao dịch và trả kết quả qua Webhook thanh toán.
  • Nếu response.code = 101: Merchant cần redirect trình duyệt khách hàng đến redirect_url, sau khi thanh toán thành công Baokim trả kết quả qua Webhook thanh toán.

Lưu ý với phương thức Thu hộ tự động (payment_method = 22):

  • Đăng ký không bao gồm thanh toán: truyền total_amount = 0.
  • Đăng ký bao gồm thanh toán: truyền total_amount > 0.
  • Yêu cầu thanh toán thu hộ: bắt buộc truyền payment_info.token và total_amount > 0.
  • Nội dung description dùng làm nội dung chuyển tiền, tối đa 120 ký tự.

Thông tin API

Method: POST

URL: /b2b/core/api/ext/mm/order/send

Request

Bảng tham số chính

STTTham sốKiểu dữ liệuBắt buộcMô tả
1request_idString(50)ID request
2request_timeDatetimeThời gian request. Format: YYYY-MM-DD H:m:s
3master_merchant_codeString(50)Mã master merchant Baokim cung cấp
4sub_merchant_codeString(50)Mã sub merchant Baokim cung cấp
5store_codeString(50)Mã cửa hàng
6branch_codeString(50)Mã chi nhánh
7staff_codeString(50)Mã nhân viên bán hàng
8service_codeString(50)Mã dịch vụ (bắt buộc nếu là Thu hộ tự động)
9mrc_order_idString(50)Mã đơn hàng của merchant
10descriptionString(255)Mô tả đơn hàng
11total_amountIntegerTổng tiền đơn hàng (= 0 nếu chỉ đăng ký thu hộ)
12url_successStringURL redirect khi thanh toán thành công
13url_failStringURL redirect khi thanh toán thất bại
14save_tokenIntegerLưu thông tin thẻ: 0 = Không (default), 1 = Có
15itemsArray of objectsList sản phẩm (xem bảng bên dưới)
16customer_infoObjectThông tin khách hàng (xem bảng bên dưới)
17payment_infoObjectThông tin thanh toán (xem bảng bên dưới)
18payment_methodIntegerPhương thức thanh toán — bắt buộc với tích hợp Pro (xem bảng bên dưới)

Thông tin phương thức thanh toán (payment_method)

Giá trịPhương thức
1VA
2BNPL
3Thẻ tín dụng
4Trả góp thẻ
5ATM
6VNPayQR
22Auto debit (Thu hộ tự động)

Thông tin thanh toán (payment_info)

STTTham sốKiểu dữ liệuBắt buộcMô tả
1tokenStringToken thanh toán (bắt buộc nếu card_hash null)
2card_hashStringThông tin thẻ mã hoá (bắt buộc nếu token null)

Thông tin sản phẩm (items)

STTTham sốKiểu dữ liệuBắt buộcMô tả
1codeStringMã sản phẩm
2nameStringTên sản phẩm
3amountIntegerGiá sản phẩm
4quantityIntegerSố lượng
5linkStringLink sản phẩm

Thông tin khách hàng (customer_info)

STTTham sốKiểu dữ liệuBắt buộcMô tả
1codeStringMã khách hàng
2nameStringTên khách hàng
3emailStringEmail
4phoneStringSố điện thoại
5addressStringĐịa chỉ
6genderIntegerGiới tính: 1 = Male, 2 = Female

Ví dụ Request

{
"request_id": "RQID0001",
"request_time": "2023-08-18 10:00:00",
"master_merchant_code": "BAOKIMMASTERMERCHANT",
"sub_merchant_code": "BAOKIMSUBMERCHANT",
"store_code": null,
"branch_code": null,
"staff_code": null,
"service_code": "BILLINTERNET",
"mrc_order_id": "BK_3894757",
"description": "Đơn hàng Test",
"total_amount": 20000,
"url_success": "https://baokim.vn/success",
"url_fail": "https://baokim.vn/fail",
"save_token": 0,
"items": [
[
{
"code": "SP001",
"name": "Sản phẩm 01",
"amount": 10000,
"quantity": 1,
"link": "https://baokim.vn/items/1"
},
{
"code": "SP002",
"name": "Sản phẩm 02",
"amount": 10000,
"quantity": 1,
"link": "https://baokim.vn/items/2"
}
]
],
"customer_info": {
"code": "KH001",
"name": "Nguyen Van A",
"email": "[email protected]",
"phone": "0812345678",
"address": "313 Trường Chinh, Khương Mai, Thanh Xuân, Hà Nội",
"gender": 1
},
"payment_info": {
"token": "Mq7AwLoHkafPdXYxvYedH8sb6MZ18k",
"card_hash": null
},
"payment_method": 22
}

Response

Bảng tham số chính

STTTham sốKiểu dữ liệuBắt buộcMô tả
1codeIntegerMã kết quả: 100 = Đang xử lý, 101 = Cần redirect
2messageStringThông báo
3dataObjectDữ liệu trả về

Thông tin data

STTTham sốKiểu dữ liệuBắt buộcMô tả
1order_idIntegerMã đơn hàng Baokim
2mrc_order_idStringMã đơn hàng merchant
3master_merchant_codeStringMã master merchant
4sub_merchant_codeStringMã sub merchant
5total_amountIntegerTổng tiền đơn hàng
6payment_methodIntegerPhương thức thanh toán
7created_atDatetimeThời gian tạo
8updated_atDatetimeThời gian cập nhật
9redirect_urlStringLink thanh toán Baokim (có giá trị khi code = 101)

Ví dụ Response — Cần redirect (code = 101)

{
"code": 101,
"message": "Thành công",
"data": {
"order_id": 50911,
"mrc_order_id": "BK_3894757",
"master_merchant_code": "BAOKIMMASTERMERCHANT",
"sub_merchant_code": "BAOKIMSUBMERCHANT",
"total_amount": 20000,
"payment_method": 22,
"created_at": "2025-04-14 15:23:10",
"updated_at": "2025-04-14 15:23:10",
"redirect_url": "https://b2b-payment-page.devtest.baokim.vn/payment/?oid=50911&checksum=50f1c60363c29c19b1c18359f1b4cfc655165117"
}
}

Ví dụ Response — Đang xử lý (code = 100)

{
"code": 100,
"message": "Giao dịch đang chờ xử lý",
"data": {
"order_id": 50911,
"mrc_order_id": "BK_3894757",
"master_merchant_code": "BAOKIMMASTERMERCHANT",
"sub_merchant_code": "BAOKIMSUBMERCHANT",
"total_amount": 20000,
"payment_method": 22,
"created_at": "2025-04-14 15:23:10",
"updated_at": "2025-04-14 15:23:10",
"redirect_url": null
}
}

Error Codes

Mã lỗiMô tả
100Đang xử lý
101Thành công - yêu cầu điều hướng khách hàng
102Lỗi nhà cung cấp
104Lỗi xác thực
707Mã Order ID đã tồn tại
709Master Merchant không thể tự tạo giao dịch
710Sub Merchant không tồn tại
711Master Merchant không tồn tại
712Sub Merchant đang không hoạt động
713Master Merchant đang không hoạt động
714Sub Merchant không thuộc Master Merchant
717Mã dịch vụ không tồn tại
718Mã dịch vụ không hoạt động
720Token không hợp lệ
724Không tìm thấy cấu hình phí