// 微信支付 https://uniapp.dcloud.io/api/plugins/payment
toResult(val) {
let _this = this
// #ifdef MP-WEIXIN
let data = {
userId: _this.userInfo.id,
id: _this.sendData.id,
payType: val,
type: 0
}
// #endif
// #ifdef H5
let data = {
userId: _this.userInfo.id,
id: _this.sendData.id,
payType: val,
type: 1
}
// #endif
console.log(data, "++++++++++++++++++++")
orderPrepay(data).then(res => { //支付接口
console.log(res.data, "时间戳--------------")
if(res.code == 500){
uni.showToast({
title:res.msg,
icon:'none'
})
return
}else{
this.payData = res.data;
uni.showToast({
title: '加载中',
icon: 'loading',
duration: 9000
});
if (res.code == 200) {
console.log(res)
// #ifdef MP-WEIXIN
uni.requestPayment({
provider: 'wxpay',
timeStamp: res.data.timeStamp,
nonceStr: res.data.nonceStr,
package: res.data.packageValue,
signType: res.data.signType,
paySign: res.data.paySign,
success: (ress) => {
uni.hideToast();
console.log('success:' + JSON.stringify(ress));
uni.switchTab({
url: '/pages/take-foods/take-foods'
});
},
fail: function(err) {
uni.hideToast();
console.log('fail:' + JSON.stringify(err));
}
})
// #endif
// #ifdef H5
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady', this.onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady', this.onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady', this.onBridgeReady);
}
} else {
this.onBridgeReady();
}
// #endif
} else {
console.log("这里打印的是code等于500的时候该怎么做----")
}
}
})
},
onBridgeReady() {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
"appId": this.payData.appId, //公众号ID,由商户传入
"timeStamp": this.payData.timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": this.payData.nonceStr, //随机串
"package": this.payData.packageValue,
"signType": this.payData.signType, //微信签名方式:
"paySign": this.payData.paySign ,//微信签名
}, function(res) {
console.log(res.err_msg,"-----------------------------res.err_msg------------------------")
this.msgdadasdas = res.err_msg
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
uni.showLoading({
title: '支付成功'
});
setTimeout(function() {
uni.hideLoading();
// 支付成功后需要跳转的页面
uni.switchTab({
url: '/pages/take-foods/take-foods'
});
}, 1000);
}
});
},
uniapp微信公众号支付----微信小程序支付
最新推荐文章于 2024-05-19 14:58:37 发布