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

普通商户模式

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

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

普通直连商户商户号与 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) {},
});