Truy vấn trạng thái đơn hàng
API dùng để truy vấn trạng thái đơn hàng
Khuyến nghị triển khai
Trong một số trường hợp, Merchant có thể không nhận được callback từ Zalopay, ví dụ:
- Lỗi kết nối mạng (Network Timeout);
- Dịch vụ của Merchant tạm thời không khả dụng (Service Unavailable);
- Lỗi nội bộ của hệ thống Merchant hoặc Zalopay;
- Hoặc các sự cố ngoài ý muốn trong quá trình truyền nhận dữ liệu.
Để đảm bảo trạng thái giao dịch luôn được đồng bộ, Zalopay khuyến nghị Merchant triển khai một trong các phương án sau:
Phương án 1 (Khuyến nghị)
Thiết lập cơ chế chạy định kỳ (scheduler/background job) để tra cứu trạng thái các đơn hàng chưa nhận được callback cho đến khi:
- Merchant nhận được callback; hoặc
- Đơn hàng đã hết thời gian thanh toán.
Phương án 2
Trường hợp không triển khai cơ chế chạy định kỳ, Merchant nên gọi API tra cứu trạng thái đơn hàng ít nhất một lần sau khi đơn hàng hết thời gian thanh toán mặc định (15 phút) và vẫn chưa nhận được callback.
- application/json
- application/x-www-form-urlencoded
Request Body required
- app_id integer required
Định danh cho ứng dụng (web, app, pos ...) hay dịch vụ (auto-debit, disbursement ...) của Merchant được cấp khi đăng ký tích hợp phương thức thanh toán với Zalopay.
- app_trans_id string required
Mã giao dịch Merchant gửi qua hệ thống Zalopay để user thực hiện thanh toán (TXID của giao dịch đơn hàng).
- mac string required
Thông tin chứng thực: mac = HMAC(hmac_algorihtm, mac key, hmacinput), chi tiết như bên dưới:
- hmac_algorihtm: là phương thức bảo mật được Merchant đăng ký với Zalopay, mặc định là HmacSHA256.
- mac key: được cung cấp bởi Zalopay.
- hmacinput = app_id +|+ app_trans_id +|+ mac key
Vui lòng tham khảo phần truyền dữ liệu an toàn để biết thêm chi tiết.
Request Body required
- app_id integer required
Định danh cho ứng dụng (web, app, pos ...) hay dịch vụ (auto-debit, disbursement ...) của Merchant được cấp khi đăng ký tích hợp phương thức thanh toán với Zalopay.
- app_trans_id string required
Mã giao dịch Merchant gửi qua hệ thống Zalopay để user thực hiện thanh toán (TXID của giao dịch đơn hàng).
- mac string required
Thông tin chứng thực: mac = HMAC(hmac_algorihtm, mac key, hmacinput), chi tiết như bên dưới:
- hmac_algorihtm: là phương thức bảo mật được Merchant đăng ký với Zalopay, mặc định là HmacSHA256.
- mac key: được cung cấp bởi Zalopay.
- hmacinput = app_id +|+ app_trans_id +|+ mac key
Vui lòng tham khảo phần truyền dữ liệu an toàn để biết thêm chi tiết.
- 200
OK
- application/json
- Schema
- Example (from schema)
Schema
- return_code integer
Mã trạng thái.
Vui lòng tham khảo mã trạng thái để biết thêm chi tiết. - return_message string
Mô tả mã trạng thái.
- sub_return_code integer
Mã trạng thái chi tiết.
Vui lòng tham khảo mã trạng thái để biết thêm chi tiết. - sub_return_message string
Mô tả mã trạng thái chi tiết.
- is_processing boolean
Thông tin trạng thái xử lý của đơn hàng (dành riêng cho Zalopay).
- amount int64
Số tiền thanh toán.
- zp_trans_id int64
Mã giao dịch của Zalopay. Merchant dùng giá trị này để yêu cầu hoàn tiền và đối soát.
- server_time long
Thời gian xử lý của hệ thống Zalopay (unix timestamp in milliseconds).
- discount_amount long
Số tiền user được hưởng khuyến mãi.
{
"return_code": 0,
"return_message": "string",
"sub_return_code": 0,
"sub_return_message": "string",
"is_processing": true,
"amount": 0,
"zp_trans_id": 0,
"server_time": 0,
"discount_amount": 0
}