startCashier
Lưu ý
Vui lòng liên hệ Đội ngũ Zalopay để được cấp quyền sử dụng tính năng này.Mô tả
Mở trang thanh toán cho các đơn hàng.
Hỗ trợ thanh toán 1 hoặc nhiều đơn hàng trên
zpa
(Zalopay App) và zpi
(Zalopay in Zalo App).Parameters
Tên Param | Kiểu dữ liệu | Bắt buộc | Mô tả |
---|---|---|---|
orders | Array<Order> | Có | Danh sách đơn hàng cần thanh toán. |
options | Map<string, string> | Không | Dữ liệu tùy chọn để tuỳ biến, điều chỉnh tính năng, cách hoạt động của trang thanh toán. |
callback | (data: CallbackData) => () | Không | Hàm callback trong quá trình thanh toán (ví dụ: hủy thanh toán/trang kết quả xuất hiện/đóng trang kết quả...). |
Order
type Order = {
order_type: 1;
order: {
app_id: number;
zp_trans_token: string;
};
}
Options
Tên data | Kiểu dữ liệu/Giá trị | Mô tả | Phiên bản hỗ trợ |
---|---|---|---|
"cashier.auto_checkout_vietqr" | "true"/"false" | Tự động mở màn hình VietQR, nếu nguồn tiền VietQR khả dụng. | ZPI ZPA |
"rp.redirect_data.type" | string - 0: default value, close Zalopay webview on ZPI / back to home on ZPA - 1: only close result page - 2: close result page & redirect on ZPI /launch deeplink on ZPA to url (must have rp.redirect_data.url ) | Hành vi khi nhấn "Đóng" tại trang Kết quả giao dịch. | ZPI ZPA |
"rp.redirect_data.url" | string | URL điều hướng đi khi nhấn "Đóng" tại trang Kết quả giao dịch. (khi rp.redirect_data.type: 2 ). | ZPI ZPA |
"rp.bottom_action.label" | string | Tên CTA thứ 2 trên trang Kết quả giao dịch. | ZPI |
"rp.bottom_action.url" | string | URL điều hướng đi khi nhấn nút CTA thứ 2 tại trang Kết quả giao dịch. | ZPI |
Callback
type CallbackData = {
payment_event: string;
data: EventData;
};
type EventData = EventAppearedClosed | EventCancel | EventComplete;
//callback data of event: 'RESULT_APPEARED', 'RESULT_CLOSED'
type EventAppearedClosed = {
payment_event: 'RESULT_APPEARED'/'RESULT_CLOSED';
data: {
orders: OrderCallback[];
}
};
//callback data of event: 'PAYMENT_CANCEL'
type EventCancel = {
payment_event: 'PAYMENT_CANCEL';
data: {
reason: string;
}
};
//callback data of event: 'PAYMENT_COMPLETED'
type EventComplete = {
payment_event: 'PAYMENT_COMPLETED';
data: {
previous_event: PaymentEvent;
data: { // data of previous event
orders: OrderCallback[];
};
};
};
type OrderCallback = {
app_id: string | number;
app_trans_id: string;
zp_trans_id: string;
status: number; //Failed = 0, Success = 1, Processing = 2,
}
Code mẫu
window.zlpSdk.Payment.startCashier({
orders: [{
order_type: 1,
order: {
app_id: 61,
zp_trans_token: 'ACUntME9BYhsTZZvdop5Il6w',
}
},
{
order_type: 1,
order: {
app_id: 2390,
zp_trans_token: 'ACLS6M-vR4w6dqTnGDrmTWSw',
}
}],
options: {
'rp.bottom_action.label': 'Nạp thêm',
'rp.bottom_action.url': '/topup',
'rp.redirect_data.type': '2',
'rp.redirect_data.url': '/telco-data'
},
callback: (data) => {
// handle callback here
console.log('callback data', data)
}
})