tori-pay
v0.1.0
Published
TypeScript SDK for integrating ToriPay payments.
Readme
tori-pay
TypeScript SDK để tích hợp thanh toán Pay2S từ backend Node.js.
Cài đặt
npm install tori-payPackage build ra cả ESM, CJS và type declaration .d.ts.
Tạo payment
import { Pay2SClient } from "tori-pay";
const pay2s = new Pay2SClient({
endpoint: "https://sandbox-payment.pay2s.vn/v1/gateway/api/create",
accessKey: process.env.PAY2S_ACCESS_KEY!,
secretKey: process.env.PAY2S_SECRET_KEY!,
partnerCode: process.env.PAY2S_PARTNER_CODE!,
merchantName: "Tori Store",
ipnUrl: "https://your-domain.com/pay2s/ipn",
redirectUrl: "https://your-domain.com/pay2s/return",
});
const result = await pay2s.createPayment({
amount: 10000,
orderId: "ORDER10001",
orderInfo: "DHORDER10001",
bankAccounts: [
{
account_number: "99999999",
bank_id: "ACB",
},
],
});
console.log(result.payUrl);Config
interface Pay2SConfig {
endpoint?: string;
accessKey: string;
secretKey: string;
partnerCode: string;
merchantName?: string;
ipnUrl: string;
redirectUrl: string;
requestType?: string;
lang?: string;
}Giá trị mặc định:
endpoint:https://payment.pay2s.vn/v1/gateway/api/createrequestType:pay2s
Với sandbox, truyền endpoint:
endpoint: "https://sandbox-payment.pay2s.vn/v1/gateway/api/create"Chữ ký
SDK dùng HMAC SHA256 với secretKey. Chuỗi ký theo Pay2S:
accessKey=$accessKey&amount=$amount&bankAccounts=Array&ipnUrl=$ipnUrl&orderId=$orderId&orderInfo=$orderInfo&partnerCode=$partnerCode&redirectUrl=$redirectUrl&requestId=$requestId&requestType=$requestTypebankAccounts=Array là giá trị cố định trong chuỗi ký theo tài liệu Pay2S.
Có thể debug payload và raw signature:
const payload = pay2s.createPaymentPayload({
amount: 10000,
orderInfo: "DHORDER10001",
bankAccounts: [{ account_number: "99999999", bank_id: "ACB" }],
});
console.log(payload.signature);Build
npm install
npm run buildOutput nằm trong dist:
dist/index.jscho ESMdist/index.cjscho CommonJSdist/index.d.tscho TypeScript declarations
Example
Xem examples/create-payment.ts.
