YeahPay payment integration library
npm install @posx/yeahpaybash
npm install @posx/yeahpay
`
依赖要求:
- 需要 Capacitor 环境(v5/v6/v7)
- 如果项目未安装,需额外安装:npm install @capacitor/core
说明: 本库使用 Capacitor HTTP 插件进行网络请求,避免浏览器 CORS 限制。
🚀 快速开始
$3
`typescript
import { YeahPayClient, IYeahPayApiConfig } from '@posx/yeahpay'
const config: IYeahPayApiConfig = {
asyncUrl: 'https://your-yeahpay-server.com/async',
appId: 'YOUR_APP_ID',
deviceSn: 'YOUR_DEVICE_SERIAL',
serverRsaPublic: 'YOUR_SERVER_RSA_PUBLIC_KEY',
clientRsaPrivate: 'YOUR_CLIENT_RSA_PRIVATE_KEY',
signatureKey: 'YOUR_SIGNATURE_KEY'
}
const client = new YeahPayClient(config)
`
$3
`typescript
// 银行卡支付
const pay = await client.createCardCharge({ amount: '10.50', bizOrderId: 'ORDER_' + Date.now() })
if (pay.success) {
const q = await client.queryOrder({ bizOrderId: pay.data.bizOrderId })
if (q.data.status === 2) console.log('支付成功')
}
// 二维码主扫
await client.createQRScanCharge({ amount: '25.00', bizOrderId: 'QR_' + Date.now(), authCode: '13319...' })
// 二维码被扫(示例以微信为例)
await client.createQRCodeCharge({ amount: '15.80', bizOrderId: 'QRCODE_' + Date.now(), payWay: 'WXZF' })
`
🔧 API 概览
`typescript
class YeahPayClient {
constructor(config: IYeahPayApiConfig)
createCardCharge(req: IYeahPayCreateChargeRequest): Promise
createQRScanCharge(req: IYeahPayCreateChargeRequest): Promise
createQRCodeCharge(req: IYeahPayCreateChargeRequest): Promise
queryOrder(req: IYeahPayQueryRequest): Promise
refundCardCharge(req: IYeahPayRefundRequest): Promise
cancelCardCharge(req: Omit): Promise
refundQRCharge(req: IYeahPayRefundRequest): Promise
settlement(bizSettlementFlowId: string): Promise
reprint(bizOrderId: string, bizRefundId?: string): Promise
simulateCreateCharge(req: IYeahPayCreateChargeRequest): Promise
simulateQueryOrder(req: IYeahPayQueryRequest): Promise
}
interface IYeahPayApiConfig {
asyncUrl: string; appId: string; deviceSn: string;
serverRsaPublic: string; clientRsaPrivate: string; signatureKey: string;
}
interface IYeahPayResponse {
success: boolean; code: string; message: string; data?: any; traceId?: string; isTestData?: boolean;
}
`
🧪 运行
`bash
测试
npm test
集成测试
npm run test:integration
构建
npm run build
`
$3
`bash
npx ts-node examples/basic-usage.ts
`
📄 许可证与支持
- 许可证:MIT(见 LICENSE)
- Issues:https://github.com/your-org/pay-yeahpay/issues`