callback
API đối tác xây dựng sẽ nhận kết quả thanh toán từ ZMP Payment Gateway.
Khi và chỉ khi đối tác thanh toán đã thu tiền khách hàng thành công thì ZMP Payment mới gọi API này để thông báo kết quả.
Merchant Server dựa vào kết quả này để thực hiện hoàn thành thanh toán cho người dùng.
Đặc tả
Nếu trừ tiền người dùng thành công, ZMP Payment Server callback cho Merchant Server theo CallbackURL . Merchant dùng PrivateKey để xác thực data do ZMP Payment Server POST qua.
Dữ liệu nhận được từ callback
Property | Type | Description |
---|---|---|
data | Object | Dữ liệu giao dịch gọi về cho ứng dụng |
mac | String | Thông tin chứng thực của đơn hàng, dùng PrivateKey được cung cấp để chứng thực đơn hàng |
Dữ liệu của trường data
Property | Type | Description |
---|---|---|
appId | String | Id định danh của mini app |
orderId | String | Id của yêu cầu thanh toán đã tạo ở API createOrder |
transId | String | Id của yêu cầu thanh toán từ hệ thống đối tác thanh toán |
transTime | Long | Thời gian giao dịch của đối tác thanh toán |
merchantTransId | String | Mã giao dịch của đối tác thanh toán |
amount | Long | Số tiền thanh toán |
description | String | Thông tin đơn hàng |
resultCode | Int | Trạng thái giao dịch của đơn hàng |
message | String | Mô tả mã resultCode |
extradata | String | Thông tin thêm |
Kiểm tra callback hợp lệ
data =
'appId={appId}&amount={amount}&description={description}&orderId={orderId}&message={message}&resultCode={resultCode}&transId={transId}';
reqmac = HMAC('HmacSHA256', privateKey, data);
if (reqmac == mac) {
// callback hợp lệ
} else {
// callback không hợp lệ
}
- HmacSHA256: Là phương thức bảo mật HmacSHA256
- PrivateKey: Do ZMP Payment cung cấp cho ứng dụng lúc đăng ký ứng dụng
- Data: Là dữ liệu do ZMP Payment request tới callback API của Merchant khi đối tác thanh toán đã thu tiền khách hàng thành công.
Thông tin AppServer trả về cho ZMP Payment Server khi nhận callback
Property | Type | Description |
---|---|---|
returnCode | int | Có các giá trị sau:
|
returnMessage | String | Mô tả chi tiết mã trạng thái |