payOS Checkout Script JS
payOS cung cấp script-js hỗ trợ mở link thanh toán
Giới thiệu
Đây là thư viện dùng để hỗ trợ mở Pop up thanh toán trên trang web của bạn.
- Javascript
- ReactJS
Cài đặt
Khai báo lệnh khởi tạo payOS ở mỗi trang trên trang web của bạn. Nó phải luôn được tải trực tiếp từ https://cdn.payos.vn, thay vì được đưa vào một gói cài đặt hoặc tự lưu trữ. Không giống như các SDK khác của payOS, SDK web JavaScript không được lập phiên bản; cdn.payos.vn sẽ tự động cung cấp SDK mới nhất hiện có.
<script src='https://cdn.payos.vn/payos-checkout/v1/stable/payos-initialize.js'></script>
Chỉ thị CSP
Nếu bạn đang sử dụng Chính sách bảo mật nội dung (CSP), hãy sử dụng các lệnh sau để cho phép lưu lượng truy cập Liên kết:
default-src https://cdn.payos.vn/
script-src https://cdn.payos.vn/payos-checkout/v1/stable/payos-initialize.js
frame-src https://pay.payos.vn/ https://next.pay.payos.vn/
connect-src https://payos.vn/
Khởi tạo
let payOSConfig: PayOSConfig = {
RETURN_URL: "", // required
ELEMENT_ID: "", // required
CHECKOUT_URL: "", // required
embedded: true, // Nếu dùng giao diện nhúng
onSuccess: (event: any) => {
//TODO: Hành động sau khi người dùng thanh toán đơn hàng thành công
},
onCancel: (event: any) => {
//TODO: Hành động sau khi người dùng Hủy đơn hàng
},
onExit: (event: any) => {
//TODO: Hành động sau khi người dùng tắt Pop up
},
};
Mô tả các thành phần của PayOSConfig:
* RETURN_URL
(String): Đây là đường dẫn tới trang web của bạn khi đơn hàng được thanh toán thành công
* ELEMENT_ID
(String): Đây là #id của thẻ div sẽ chứa iframe thanh toán
* CHECKOUT_URL
(String): Đây là đường dẫn tới trang thanh toán mà chúng tôi sẽ mở nó bằng iframe
embedded (boolean):
falsenếu dùng pop up thanh toán,truenếu dùng giao diện nhúng.onSuccess (Callback): Sẽ được gọi sau khi đơn hàng được thanh toán thành công.
onCancel (Callback): Sẽ được gọi sau khi người dùng "Hủy thanh toán".
onExit (Callback): Sẽ được gọi sau khi người dùng bấm thoát khỏi Pop Up thanh toán (Bấm biểu tượng "X" trên iframe).
RETURN_URL phải trùng với đường dẫn hiển thị iframe thanh toán.
Mô tả các thuộc tính có trong event:
- loading: Có giá trị
falsenếu luồng thực thi đã kết thúc. - code: Mã
codephản hồi. Các giá trị của thuộc tính:00: SUCCESS01: FAILED02: INVALID_PARAM
- id:
paymentLinkId. Ví dụ:cb62d25884c7463cbabd2997b4c03af9 - cancel: Có giá trị
truekhi huỷ đơn hàng vàfalsekhi thanh toán đơn hàng - orderCode: Mã đơn hàng
- status: Có giá trị
CANCELLEDhoặcPAID, mô tả cho trạng thái đơn hàng đã bị huỷ hay đã được thanh toán
{
loading: boolean;
code: string;
id: string;
cancel: string;
orderCode: number;
status: string;
}
Cách sử dụng
PayOSCheckout.usePayOS chấp nhận một đối số là Object có kiểu dữ liệu PayOSConfig như đã mô tả ở phần trên, và trả về một Object gồm 2 hàm có tên là open và exit.
const { open, exit } = PayOSCheckout.usePayOS(payOSConfig);
open();
Thông tin về các hàm:
- open() (void): Sau khi hàm này được thực thi, Pop up hoặc giao diện nhúng sẽ được thêm vào trang web.
- exit() (void): Sau khi hàm này được thực thi, Pop up sẽ được tắt ngay lập tức
Cài đặt
Cài đặt với npm
npm install payos-checkout --save
Cài đặt với yarn
yarn add payos-checkout
Sau đó nhập kiểu dữ liệu và hàm
import { usePayOS, PayOSConfig } from '@payos/payos-checkout';
Khởi tạo
const payOSConfig: PayOSConfig = {
RETURN_URL: "", // required
ELEMENT_ID: "", // required
CHECKOUT_URL: "", // required
embedded: true, // Nếu dùng giao diện nhúng
onSuccess: (event: any) => {
//TODO: Hành động sau khi người dùng thanh toán đơn hàng thành công
},
onCancel: (event: any) => {
//TODO: Hành động sau khi người dùng Hủy đơn hàng
},
onExit: (event: any) => {
//TODO: Hành động sau khi người dùng tắt Pop up
},
};
Mô tả các thành phần của PayOSConfig:
* RETURN_URL
(String): Đây là đường dẫn tới trang web của bạn khi đơn hàng được thanh toán thành công
* ELEMENT_ID
(String): Đây là #id của thẻ div sẽ chứa iframe thanh toán
* CHECKOUT_URL
(String): Đây là đường dẫn tới trang thanh toán mà chúng tôi sẽ mở nó bằng iframe
embedded (boolean):
falsenếu dùng pop up thanh toán,truenếu dùng giao diện nhúng.onSuccess (Callback): Sẽ được gọi sau khi đơn hàng được thanh toán thành công.
onCancel (Callback): Sẽ được gọi sau khi người dùng "Hủy thanh toán".
onExit (Callback): Sẽ được gọi sau khi người dùng bấm thoát khỏi Pop Up thanh toán (Bấm biểu tượng "X" trên iframe).
event (Object): Đây là một object sẽ chứa những thông tin thêm nhận được từ payOS khi người dùng thực hiện các hành động onSucess, onCancel, onExit.
RETURN_URL phải trùng với đường dẫn hiển thị iframe thanh toán.
Mô tả các thuộc tính có trong event:
- loading: có giá trị
falsenếu luồng thực thi đã kết thúc. - code: mã
codephản hồi. Tập giá trị:00: SUCCESS01: FAILED02: INVALID_PARAM
- id:
paymentLinkId. Cí dụ:cb62d25884c7463cbabd2997b4c03af9 - cancel: Có giá trị
truekhi huỷ đơn hàng vàfalsekhi thanh toán đơn hàng - orderCode: Mã đơn hàng
- status: Có giá trị
CANCELLEDhoặcPAIDmô tả cho đơn hàng đã bị huỷ hay đã được thanh toán
{
loading: boolean;
code: string;
id: string;
cancel: string;
orderCode: number;
status: string;
}
Cách sử dụng
usePayOS chấp nhận một đối số là Object có kiểu dữ liệu PayOSConfig như đã mô tả ở phần trên, và trả về một Object gồm 2 hàm có tên là open và exit.
const { open, exit } = usePayOS(payOSConfig);
open();
Thông tin về các hàm:
- open() (void): Sau khi hàm này được thực thi, Pop up hoặc giao diện nhúng sẽ được thêm vào trang web.
- exit() (void): Sau khi hàm này được thực thi, Pop up sẽ được tắt ngay lập tức