本文使用到的是微信提供的chooseWXPay jsApi接口,在chooseWXPay通过config验证后,代码如下:
import wx from "weixin-js-sdk"
recharge(){ //点击触发的微信接口可不放在 ready 中
let self=this;
api.getPayInfo({ //此处接口由后台提供,返回chooseWXPay所需的参数,前端这块比较方便
body:"充值",
userId:this.userId,
feeType:this.feeType,
}).then(res=>{
if(res.result===0){
//需要注意的是以下参数都是必传,微信文档上写的有点乱,示例里没有appId,文字备注却有,没发现的就中坑了
wx.chooseWXPay({
appId:res.data.form.appId,
timestamp: res.data.form.timeStamp,
nonceStr: res.data.form.nonceStr,
package: res.data.form.package,
signType: res.data.form.signType,
paySign: res.data.form.paySign,
success: function () {
Toast("支付成功!");
self.$router.go(-1);
},
cancel: function () {
Toast('已取消支付');
self.$router.go(-1);
},
fail: function () {
Toast('支付失败,请重试');
self.$router.go(-1);
}
});
}else {
Toast("获取支付信息失败,请重试");
}
});
}