API Lựa chọn phương thức thanh toán
1. Lựa chọn phương thức thanh toán: API selectPaymentMethod
Đối tác sử dụng API này để mở trang chọn phương thức thanh toán, và sau khi người dùng chọn phương thức thành công, kết quả tương ứng sẽ được trả về cho đối tác.
Parameters
Object object
Property | Type | Required | Description |
---|---|---|---|
success | function | Callback function khi gọi api thành công | |
fail | function | Callback function khi gọi api thất bại |
Return Values
Promise <Object data>
Property | Type | Description |
---|---|---|
method | string | Mã phương thức thanh toán. Nếu phương thức được Checkout SDK hỗ trơ, vui lòng tham khảo tại đây |
isCustom | boolean | Loại phương thức thanh toán (Checkout SDK hỗ trợ hay phương thức riêng) |
Sample Code
import { Payment } from "zmp-sdk/apis";
// Gọi API mở trang lựa chọn phương thức thanh toán
Payment.selectPaymentMethod({
success: (data) => {
// Lựa chọn phương thức thành công
const { method, isCustom } = data;
// Sử dụng {id: method, isCustom: isCustom} truyền vào field method trong API createOrder.
},
fail: (err) => {
// Tắt trang lựa chọn phương thức hoặc xảy ra lỗi
console.log(err);
}
});
// hoặc
const { method, isCustom } = await Payment.selectPaymentMethod({
fail: (err) => {
// Tắt trang lựa chọn phương thức hoặc xảy ra lỗi
console.log(err);
}
});
2. Thanh toán
Tương thực như API createOrder, tuy nhiên đối tác cần gửi thêm thông tin phương thức nhận được tại kết quả trên để tiến hành thanh toán.
Parameters
Object object
Property | Type | Description |
---|---|---|
amount | number | Tương tự như API createOrder |
item | Array<Record<String, String>> | |
desc | string | |
extradata | any | |
method | Object<{id: string, isCustom: boolean}> | Thông tin phương thức thanh toán. |
success | function | Tương tự như API createOrder |
fail | function |
Sample Code
import { Payment } from "zmp-sdk/apis";
// tạo yêu cầu thanh toán 50.000VNĐ
Payment.createOrder({
desc: "Thanh toán 50.000",
item: [
{ id: "1", amount: 20000 },
{ id: "2", amount: 30000 },
],
amount: 50000,
extradata: {
notes: "Đây là giá trị gửi thêm",
}
method: {
id: "ZALOPAY",
isCustom: false,
}
success: (data) => {
// Tạo đơn hàng thành công
// Hệ thống tự động chuyển sang trang thanh toán.
const { orderId } = data;
console.log(orderId);
},
fail: (err) => {
// Tạo đơn hàng lỗi
console.log(err);
},
});
// hoặc
const { orderId } = await Payment.createOrder({
desc: "Thanh toán 50.000",
item: [
{ id: "1", amount: 20000 },
{ id: "2", amount: 30000 },
],
amount: 50000,
method: {
id: "ZALOPAY",
isCustom: false,
}
fail: (err) => {
// Tạo đơn hàng lỗi
console.log(err);
},
});