第一步:引入
<script src="http://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
第二步:调取后端接口返回数据并调取微信支付
// 购买商品
buyNow(list) {
list.tokens = uni.getStorageSync('token')
uni.showLoading()
home.buyNow(list).then(res => {
var packages = 'prepay_id=' + res.data.payment.prepay_id
WeixinJSBridge.invoke(
"getBrandWCPayRequest", {
appId: addid, //公众号名称,由商户传入
timeStamp: res.data.payment.timeStamp, //时间戳,自1970年以来的秒数
nonceStr: res.data.payment.nonceStr, //随机串
package: packages, //这个package是比较坑的他的格式必须是 prepay_id=wx22104854834640694c34f15a1066605800,是必须!!!!!!!!!!!!!!
//我在写的时候就碰见了这个坑
signType: "MD5", //微信签名方式
paySign: res.data.payment.paySign //微信签名
},
function(res) {
console.log(res)
if (res.err_msg == "get_brand_wcpay_request:ok") {
// this.$router.push({
// path: "/FuelCard"
// });
uni.showToast({
title: '支付成功',
icon: 'none',
duration: 1500
})
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
}
}
);
uni.hideLoading();
}).catch(e => {
uni.hideLoading();
uni.showToast({
title: e,
icon: 'none',
duration: 2000
})
})
},