企业微信内部开发:
(1)企业微信管理后台-》应用管理-》应用-》自建:创建应用如《乐校》
(2)在自建应用《乐校》-》自定义菜单-》配置菜单及跳转的网址;
https://open.weixin.qq.com/connect/oauth2/authorize?appid=CORPID&redirect_uri=REDIRECT_URI&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect
配置完成后发布
(3)企业支付绑定商户号
(4)打开企业微信app-》工作台-》点击《乐校》-》点击菜单-》发起jssdk统一下单,然后根据下单信息调起支付
//JSAPI调起支付
doWxChooseWXPay(payInfo){
return new Promise((resolve, reject) => {
try{
let payParams = {
appId:payInfo.appId,
timeStamp:payInfo.timeStamp,
nonceStr: payInfo.nonceStr,
package:payInfo.package,
signType:payInfo.signType,
paySign:payInfo.paySign,
};
console.log("-----支付payParams:",payParams)
WeixinJSBridge.invoke('getBrandWCPayRequest', payParams, function(res) {
console.log("-----支付结果:",res)
resolve(wxUtil.doWxEncErr(res,'微信支付异常'));
});
}catch(e){
console.log("-----支付异常e:",e)
resolve(wxUtil.doWxEncErr(e,'微信支付异常'));
}
})
},
结果:调起支付时报错:下单账号与支付账号不一致,请合适后再支付
报错原因:统一下单的 openid 和调起支付的 openid 不一致。
解决方案:传入的 openid 需要实时获取,最直接的方式是:使用接口调试工具(例如:postman),获取下支付用户的 openid 和调起支付的 openid 进行对比,看是否一样。不一样则会在支付时出现上面的错误提示。