目前微信支付成功并没有回调,那我们就自己写一个支付成功的回调吧!
getPaymentCallback(id) {
let time= setInterval(() => {//定时器
let params={ orderId:id }
queryorder(params).then((res)=>{
if(res.code == 1) {
if (res.data.tradeStatus!="NOTPAY"){
//NOTPAY不知道这个是什么的看下面图片
clearInterval(time)
this.$router.push('/mk-order')
}
}else {
clearInterval(time)
}
})
}, 1000)//每秒监测一次tradeStatus字段是否支付成功
},
JSAPI调起支付API
onBridgeReady() {
let that = this;
window.WeixinJSBridge.invoke('getBrandWCPayRequest', {
"appId": that.appId, //公众号ID,由商户传入
"timeStamp": that.timeStamp, //时间戳,自1970年以来的秒数
"nonceStr": that.nonceStr, //随机串
"package":that.package,
"signType": "RSA", //微信签名方式
"paySign": that.paySign //微信签名
},
function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {
// 使用以上方式判断前端返回,微信团队郑重提示:
//res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。
}
//官方说不保证绝对可靠 所以自己写
orderInfo({outTradeNo:that.outTradeNo,communityId:that.communityId}).then(res=>{
if(res.code == 200){
// this.$router.push(`/succes?role=${this.cur}&cur=0`)
if(res.data.trade_state == "SUCCESS"){
//你的需求
}else {
//你的需求
}
}
})
});
}