@posx/yeahpay
v1.0.18
Published
YeahPay payment integration library
Readme
@posx/yeahpay
YeahPay支付集成库,提供安全的支付接口封装,支持银行卡与二维码支付。
✨ 特性
- 🔐 安全加密(RSA+AES、SHA-256)
- 🏦 多种支付(银行卡、主扫、被扫)
- 🔄 异步查询与轮询
- 💰 退款与撤销
- 🧪 内置模拟,便于测试
- 📱 基于 Capacitor,无 CORS 限制
- 📝 TypeScript 类型完整
📦 安装
npm install @posx/yeahpay依赖要求:
- 需要 Capacitor 环境(v5/v6/v7)
- 如果项目未安装,需额外安装:
npm install @capacitor/core
说明: 本库使用 Capacitor HTTP 插件进行网络请求,避免浏览器 CORS 限制。
🚀 快速开始
基础配置
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)简单示例
// 银行卡支付
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 概览
class YeahPayClient {
constructor(config: IYeahPayApiConfig)
createCardCharge(req: IYeahPayCreateChargeRequest): Promise<IYeahPayResponse>
createQRScanCharge(req: IYeahPayCreateChargeRequest): Promise<IYeahPayResponse>
createQRCodeCharge(req: IYeahPayCreateChargeRequest): Promise<IYeahPayResponse>
queryOrder(req: IYeahPayQueryRequest): Promise<IYeahPayResponse>
refundCardCharge(req: IYeahPayRefundRequest): Promise<IYeahPayResponse>
cancelCardCharge(req: Omit<IYeahPayRefundRequest, 'amount'>): Promise<IYeahPayResponse>
refundQRCharge(req: IYeahPayRefundRequest): Promise<IYeahPayResponse>
settlement(bizSettlementFlowId: string): Promise<IYeahPayResponse>
reprint(bizOrderId: string, bizRefundId?: string): Promise<IYeahPayResponse>
simulateCreateCharge(req: IYeahPayCreateChargeRequest): Promise<IYeahPayResponse>
simulateQueryOrder(req: IYeahPayQueryRequest): Promise<IYeahPayResponse>
}
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;
}🧪 运行
# 测试
npm test
# 集成测试
npm run test:integration
# 构建
npm run build示例
npx ts-node examples/basic-usage.ts📄 许可证与支持
- 许可证:MIT(见
LICENSE) - Issues:
https://github.com/your-org/pay-yeahpay/issues
版本:v1.0.6
最后更新:2024-08-30
