wechat-backend-pay
v0.0.1
Published
针对**普通商户**的微信支付接口封装。
Downloads
4
Readme
wechat-backend-pay
针对普通商户的微信支付接口封装。
通常接口也适用于服务商版和银行服务商版。
Usage
const API = require('./lib')
const api = new API({
appId: '...',
mchId: '...',
mchKey: '...'
})
api[method](...)
初始化 API 的 options
参数说明:
appId
,必需,公众号标识,即 AppID,可在「微信公众平台 - 设置 - 开发设置」页中获得。(需要已经成为开发者,且帐号没有异常状态)。mchId
,必需,商户号。mchKey
,必需,商户密钥。signType
,签名类型,目前支持 HMAC-SHA256 和 MD5,默认为 MD5。pfx
,商户证书。pfxPath
,商户证书路径,在 pfx 不存在时进行读取。publicKey
,RSA 公钥。notifyUrl
,支付结果通知的回调地址。refundUrl
,退款结果通知的回调地址。baseURL
,请求的基地址,通常这个值为https://api.mch.weixin.qq.com
,不需要进行更改。timeout
,请求的超时时间,默认为 40 秒。debug
,供内部开发调试使用。
初始化参数的属性名采用驼峰形式,微信支付大部分接口的参数是下划线风格,请注意进行区分。
沙箱模式
微信提供了微信支付仿真测试系统,本工具也支持了沙箱模式的调用,调用方式如下:
- 如果已经明确知道沙箱密钥
sandbox_signkey
const api = new API({
appId: '...',
mchId: '...',
mchKey: sandbox_signkey
})
...
- 如果没有沙箱密钥,则采用商户密钥进行异步获取之后再进行后续操作。
;(async () => {
const api = await API.sandbox({
appId: '...',
mchId: '...',
mchKey: '...'
})
...
})()
沙箱密钥的获取逻辑通过
getSandboxSignkey
进行暴露。
API Methods List
- 随机字符串参数
nonce_str
会统一进行处理,不需要传入。 appid
和mch_id
参数会自动进行处理,不需要传入。- 通常情况下,签名类型参数
sign_type
不需要传入,接口有特别要求时会显式的指定。 - 使用默认签名类型,即
MD5
的方式,在进行签名计算的时候会删除sign_type
参数。 - 签名类型目前只支持
MD5
和HMAC-SHA256
,传入其他值会直接报错。 - 签名
sign
会自动进行计算,不需要传入。 - 传递给微信接口的对象使用 JS 对象即可,会自动进行 XML 封装。
- 微信接口请求成功后给回的是 XML 字符串,会自动进行解析,不需要重复解析。
方法|功能 ----|---- unifiedOrder|统一下单 getPayParams|直接获取 JSSDK 支付参数,兼容小程序 getAppParams|直接获取 APP 支付参数 getH5Link|直接获取 H5 支付的跳转链接 orderQuery|查询订单 closeOrder|关闭订单 refund|退款申请 refundQuery|查询退款 downloadBill|下载对账单 downloadFundFlow|下载资金账单 payitilReport|交易保障 getBillComment|拉取订单评价数据 micropay|提交付款码支付 reverse|撤销订单 getOpenIdByAuthCode|授权码查询openid getNativeUrl|获取扫码支付的 URL getShortUrl|扫码支付的链接转为短链接 sendCoupon|发放代金券 queryCouponStock|查询代金券批次 queryCouponsInfo|查询代金券信息 sendRedpack|发放普通红包 sendGroupRedpack|发放裂变红包 queryRedpack|查询红包记录 transfers|企业付款 getTransferInfo|查询企业付款 payBank|企业付款到银行卡 queryBank|查询企业付款到银行卡