最近做小程序,公司作为服务商提供给特约商户支付功能,由于第一次对接小程序的支付,过程还是比较顺利的,在此做个记录吧!

普通商户模式

开通微信支付功能,在微信公众号后台的微信支付->商户信息栏目可以获取普通商户的商户号,如下图

然后调用小程序普通商户的统一下单接口

普通直连商户商户号与APPID自助授权绑定,需要在商户平台里面配置,要超级管理员才有权限配置,然后去小程序管理后台配置一下微信支付栏目下的M-A授权



服务商模式

这个相对蛋疼!同样,在微信支付->商户信息栏目可以获取普通商户的商户号,调用小程序服务商的统一下单接口

接口里面的appid微信公众号的appid,sub_appid才是小程序的appid,参数与上面的普通商户不同,sub_mch_id是特邀商户的appid,这个让商家自己去申请,给过来就行,开发遇到下面两个问题

mch_id和appid不匹配

主要还是上面的appid需要填为公众号的appid,mch_id是服务商的商户号

sub_mch_id与小程序sub_appid不匹配

这里需要把商家的商户号sub_mch_id与小程序的sub_appid关联起来

登录服务商支付管理后台,在服务商功能栏目下,申请商家入驻,填写相关资料进行,然后在开发配置里面的特约商户APPID,新增一个appid为小程序的appid即可

小程序调起支付API

通过上面的统一下单接口可以获取到对应的小程序调起微信支付接口所需要的参数,一一对应传入就ok了

wx.requestPayment({
  'timeStamp': data.timeStamp,
  'nonceStr': data.nonceStr,
  'package': data.package,
  'signType': 'MD5',
  'paySign': data.paySign,
  'success': function (res) {
    console.log(res);
  },
  'fail': function (res) {
  }
})