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

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

PropertyTypeRequiredDescription
successfunctionCallback function khi gọi api thành công
failfunctionCallback function khi gọi api thất bại

Return Values

Promise <Object data>

PropertyTypeDescription
methodstringMã 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
isCustombooleanLoạ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);
},
});