1.0.0 • Published 5 years ago

ts-wxpays v1.0.0

Weekly downloads
1
License
MIT
Repository
-
Last release
5 years ago

wx支付工具

封装了基本的请求接口,包括统一下单、查询订单、支付结果回调

使用

整个项目有如下需要注意: 1.每次发起的支付交给微信的订单号是随机生成的,真实的订单号放在attach参数里面,如果有其他需要传递的参数请传入 other_info,这样在接受微信异步回调通知时可以通过attach参数获取到传递的值。
2.只支持MD5加密方式。

如需直接只用支付npm包请 npm install --save ts-wxpays

1.实例化对象

let wxpay = new wxPay({
  appid:appid,
  mch_id:mch_id,
  sign_type:"MD5",
  notify_url:notify_url,
},mch_secert)

2.发起小程序支付

let pay = await wxpay.miniPay({
  openid:openid,
  body:'商品测试支付',
  total_fee:1,
  spbill_create_ip:ip,
  order_id:order_id
})

返回的参数直接交给前台发起支付请求即可

3.发起H5支付

let pay = await wxpay.h5Pay({
  body:'商品测试支付',
  total_fee:1,
  spbill_create_ip:ip,
  order_id:order_id
})

此时会返回前端需要跳转到支付页面的url地址

示例
{
  return_code: 'SUCCESS',
  return_msg: 'OK',
  appid: 'wx725a9590e7ddf9d0',
  mch_id: '1504787541',
  nonce_str: 'RwV1t6cg1IfRITrA',
  sign: '7D5AD93648676155A4B86DFBD37EBF30',
  result_code: 'SUCCESS',
  prepay_id: 'wx06160253996406dc7186be341188281700',
  trade_type: 'MWEB',
  mweb_url: 'https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx06160253996406dc7186be341188281700&package=3523276229'
}

4.发起JSAPI/APP/NATIVE支付

let pay = await wxpay.JSAPIPay('NATIVE',{
  body:'商品测试支付',
  total_fee:1,
  spbill_create_ip:ip,
  order_id:order_id
})

此时会返回前端需要跳转到支付页面的url地址

示例
{
    return_code: 'SUCCESS',
    return_msg: 'OK',
    appid: 'wx725a9590e7ddf9d0',
    mch_id: '1504787541',
    nonce_str: 'TAc0BjLZlEJIQR7t',
    sign: '823142A5CFF5D2E4B443DCD767ABA3FF',
    result_code: 'SUCCESS',
    prepay_id: 'wx061624443117195949c5f0a71993305200',
    trade_type: 'NATIVE',
    code_url: 'weixin://wxpay/bizpayurl?pr=ZWWduvU' 
}

5.接受微信的异步通知回调

将微信的通知结果进行转义json格式,传递xml内的内容,进行真实性验证

let check = wxpay.check_order(req.body.xml)

6.查询某一订单的订单状态

let order = wxpay.search_order('4200000402201910061693919630')