rainbow-epay-sdk
v1.0.4
Published
A TypeScript SDK for the RainbowEasyPay.
Maintainers
Readme
EasyPay SDK (TypeScript, Node & Browser)
A TypeScript SDK for the EasyPay interface, utilizing Axios for requests. Supports Node.js and modern browsers.
Installation
npm install rainbow-epay-sdk
# or
yarn add rainbow-epay-sdkUsage
Initialization
import { EasyPay } from 'rainbow-epay-sdk';
const pay = new EasyPay({
domain: 'http://pay.hackwl.cn',
pid: 'YOUR_PID',
key: 'YOUR_KEY',
notify_url: 'http://example.com/notify', // Optional global default
return_url: 'http://example.com/return' // Optional global default
});1. Page Jump Payment (submit.php)
Returns a URL. Redirect the user to this URL to complete payment.
const url = pay.pay({
type: 'alipay',
out_trade_no: '20230101001',
name: 'Test Product',
money: '0.01'
// notify_url and return_url will be used from config if not provided here
});
console.log('Payment URL:', url);2. API Payment (mapi.php)
Returns a JSON object containing the payment link (payurl, qrcode, or urlscheme).
try {
const result = await pay.mapi({
type: 'wxpay',
out_trade_no: '20230101002',
name: 'API Payment',
money: '0.01',
clientip: '127.0.0.1',
device: 'pc'
});
console.log(result); // { code: 1, payurl: '...', ... }
} catch (err) {
console.error(err);
}3. Query Order
async function checkOrder() {
try {
const result = await pay.order('20230101001');
console.log(result);
} catch (err) {
console.error(err);
}
}4. Refund (api.php?act=refund)
async function undoOrder() {
try {
// trade_no (system) or out_trade_no (merchant), money defaults to full
const result = await pay.refund(null, '20230101001', '0.01');
console.log(result);
} catch (err) {
console.error(err);
}
}Methods
pay(args): Page Jump (GET URL)mapi(args): API Payment (POST JSON)query(): Merchant Infosettle(): Settlement Recordsorder(out_trade_no): Single Order Queryorders(): Batch Order Queryrefund(trade_no, out_trade_no, money): Refund
Test
Run the basic test case:
npm testThis will:
- Build the SDK
- Run
test/basic.cjs, which:- Creates an
EasyPayinstance - Generates a payment URL
- Asserts the URL format and prints it
- Creates an
License
MIT
