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

Khởi tạo giao dịch

API cho phép Merchant Server gửi thông tin đơn hàng đến Transfer Service để khởi tạo giao dịch

  • URL: https://api-transfer.zaloplatforms.com/v1/order/create
  • Method: POST
  • Response Type: application/json

Parameters

TrườngKiểu dữ liệuBắt buộcMô tảYêu cầu
app_idStringtrueID ứng dụng merchant đăng ký với Transfer ServicePhải là app_id đã đăng ký với Transfer Service
merchant_order_idStringtrueMã giao dịch của merchantUnique trong phạm vi merchant, format YYMMDD_${client_id}, client_id chấp nhận số, chữ hoa, chữ thường, -, _, tối đa 40 ký tự (bao gồm cả YYMMDD_)
merchant_order_timeLongtrueThời gian tạo đơn hàng phía merchant (timestamp)Không quá 15 phút so với thời gian hiện tại
timestampLongtrueThời điểm tạo request (timestamp)Dùng để validate request
expire_durationIntegerfalseThời gian hết hạn giao dịch (phút)Min: 5, Max: 180, nếu không truyền/ = 0 → default 15 phút, nếu nhỏ hơn 5 hoặc lớn hơn 180 → báo lỗi
amountLongtrueSố tiền thanh toán>= 2.000 VNĐ, <= 20.000.000 VNĐ
descriptionStringtrueMô tả đơn hàngKhông rỗng, tối đa 25 ký tự
callback_urlStringfalseURL callback nhận kết quả thanh toánValid HTTPS URL, nếu không truyền sẽ dùng config trên Application Portal
embed_dataStringfalseThông tin bổ sung cho đơn hàngChuỗi hợp lệ (ví dụ JSON đã escape)
signatureStringtrueThông tin xác thực requestChữ ký dùng để xác thực request. Xem tài liệu

Sample request

{
"app_id": "0752a0528b1762493b06",
"merchant_order_id": "251208_topup0000",
"app_time": 1765174194413,
"amount": 100000,
"description": "test topup",
"expire_duration": 5,
"callback_url": "https://merchant.com/api/callback",
"embed_data": "{\"promotion_code\":\"SALE2025\",\"customer_tier\":\"gold\"}",
"timestamp": 1764039951659,
"signature": "xxxx"
}

Sample response

{
"error_code": 0,
"error_message": "Thành công",
"data": {
"merchant_order_id": "251209_topup1234",
"ts_order_id": "291f1c09374cde12875d",
"status": "QR_GENERATED",
"app_time": 1765259044935,
"status_code": 1,
"created_time": 1765259044980,
"expire_time": 1765259344980,
"callback_URL": "",
"amount": 100000,
"description": "test topup checkout kit",
"qr_data": "00020101021238570010A000000727012700069704220113VQRQAAUMJ54060208QRIBFTTA530370454061000005802VN62380107NPS68690823test topup checkout kit6304A058"
}
}

Error codes

Error codeError messageGhi chú
-105Invalid signatureLỗi chữ ký xác thực request
-201Invalid merchant idMerchant id không hợp lệ
-302Invalid bank account idTài khoản ngân hàng không hợp lệ
-403Invalid order amountSố tiền giao dịch không hợp lệ
-410Invalid order descriptionMô tả đơn hàng không hợp lệ
-411Invalid order expire duration secondsThời gian hết hạn giao dịch không hợp lệ
-412Invalid order client idMã client của đơn hàng không hợp lệ
-409Invalid merchant order timeThời gian đơn hàng không hợp lệ
-501Invalid application idApplication id không hợp lệ
-414Invalid callback urlCallback URL không hợp lệ
-510Application not existApplication không tồn tại
-514Application has no linked bank accountApplication chưa liên kết tài khoản ngân hàng

Order status

Status codeStatus messageMô tả
1QR_GENERATEDĐang chờ thanh toán
2PAIDĐã thanh toán
3EXPIREDĐã hết hạn chờ thanh toán từ ngân hàng. Merchant tự kiểm tra sao kê tài khoản để biết trạng thái thực tế.