nt-addon-pay 基于 Nest.js 的支付插件 项目简介
Notadd 支付插件整合微信支付 API、支付宝支付 API,基于 Nest.js 框架构建的一个支付插件。使用说明安装npm install @notadd/addon-pay配置 PayAddonimport { Module } from '@nestjs/common';
import { PayAddon } from '@notadd/addon-pay';
@Module({
imports: [
PayAddon.forRoot({
wechatConfig: {
appid: 'appid', // 公众号appi/应用appid/小程序appid
mch_id: 'mch_id', // 商户号
secretKey: 'secretKey', // 商户交易秘钥
pfx: fs.readFileSync('path_to_p12_file'), // p12文件
sandbox: true // 是否启用沙箱环境,默认不启用
}
})
]
})
export class ApplicationModule {}使用 WechatXXXPayServiceimport { Injectable, Inject } from '@nestjs/common';
import { WechatNativePayService, WechatTradeType } from '@notadd/addon-pay';
@Injectable()
export class TestPay {
constructor(@Inject(WechatNativePayService) private readonly wechatNativePayService: WechatNativePayService) { }
async nativePay() {
const ressult = await this.wechatNativePayService.pay({
body: '支付一下',
out_trade_no: '201811271512000001',
total_fee: 301,
spbill_create_ip: '127.0.0.1',
notify_url: 'your.domain.com/wechat-pay/notify',
trade_type: WechatTradeType.JSAPI
});
}
}贡献说明我们欢迎 Nest.js 使用者来参与这个插件的开发,作为一个贡献者,请您遵循以下原则:代码提交规范,参考 Git Commit Message Conventions始终从 develop checkout 一个新分支,命名规范为 feature/xxx,xxx 必须具有可读性,如:微信-普通商户版-扫码支付 => feature/wechat-native-pay在 checkout 新分支前,先在本地 develop 分支拉取远程 develop 分支的最新代码文件命名规则请参考项目目前的命名规则,如:微信支付中,order.interface.ts 代表所有订单相关的请求参数和返回结果的定义,swipe.pay.service.ts 代表付款码支付的业务逻辑功能开发请先查阅 Roadmap,确保你想贡献的功能没有正在被实现。然后在 issue 里提交一个贡献请求,注明想要贡献的功能。发现 Bug ?如果你在源码中发现bug,请你先在本仓库的 issue 提交一个bug问题。在你提交完bug问题后,我们很乐意接受你提交一个 PR来帮助我们修复这个bug。Roadmap 0.0.1 贡献说明 0.1.0 微信-普通商户版-APP支付 0.2.0 微信-普通商户版-JSAPI支付、微信-普通商户版-Native支付、微信-普通商户版-H5支付、微信-普通商户版-小程序支付 0.3.0 微信-普通商户版-付款码支付 0.4.0 支付宝-APP支付 0.5.0 支付宝-当面付 0.6.0 支付宝-手机网站支付 0.7.0 支付宝-电脑网站支付 1.0.0 完善使用说明、发布正式版v1.0.0
import { PayAddon } from '@notadd/addon-pay';
@Module({
imports: [
PayAddon.forRoot({
wechatConfig: {
appid: 'appid', // 公众号appi/应用appid/小程序appid
mch_id: 'mch_id', // 商户号
secretKey: 'secretKey', // 商户交易秘钥
pfx: fs.readFileSync('path_to_p12_file'), // p12文件
sandbox: true // 是否启用沙箱环境,默认不启用
}
})
]
})
export class ApplicationModule {}使用 WechatXXXPayServiceimport { Injectable, Inject } from '@nestjs/common';
import { WechatNativePayService, WechatTradeType } from '@notadd/addon-pay';
@Injectable()
export class TestPay {
constructor(@Inject(WechatNativePayService) private readonly wechatNativePayService: WechatNativePayService) { }
async nativePay() {
const ressult = await this.wechatNativePayService.pay({
body: '支付一下',
out_trade_no: '201811271512000001',
total_fee: 301,
spbill_create_ip: '127.0.0.1',
notify_url: 'your.domain.com/wechat-pay/notify',
trade_type: WechatTradeType.JSAPI
});
}
}贡献说明我们欢迎 Nest.js 使用者来参与这个插件的开发,作为一个贡献者,请您遵循以下原则:代码提交规范,参考 Git Commit Message Conventions始终从 develop checkout 一个新分支,命名规范为 feature/xxx,xxx 必须具有可读性,如:微信-普通商户版-扫码支付 => feature/wechat-native-pay在 checkout 新分支前,先在本地 develop 分支拉取远程 develop 分支的最新代码文件命名规则请参考项目目前的命名规则,如:微信支付中,order.interface.ts 代表所有订单相关的请求参数和返回结果的定义,swipe.pay.service.ts 代表付款码支付的业务逻辑功能开发请先查阅 Roadmap,确保你想贡献的功能没有正在被实现。然后在 issue 里提交一个贡献请求,注明想要贡献的功能。发现 Bug ?如果你在源码中发现bug,请你先在本仓库的 issue 提交一个bug问题。在你提交完bug问题后,我们很乐意接受你提交一个 PR来帮助我们修复这个bug。Roadmap 0.0.1 贡献说明 0.1.0 微信-普通商户版-APP支付 0.2.0 微信-普通商户版-JSAPI支付、微信-普通商户版-Native支付、微信-普通商户版-H5支付、微信-普通商户版-小程序支付 0.3.0 微信-普通商户版-付款码支付 0.4.0 支付宝-APP支付 0.5.0 支付宝-当面付 0.6.0 支付宝-手机网站支付 0.7.0 支付宝-电脑网站支付 1.0.0 完善使用说明、发布正式版v1.0.0