目前遇到的问题是,点击支付按钮,支付完成后可以弹出订阅提示,但在提示后选择允许或取消都没法跳转到支付完成的页面。是不能这样吗?
//支付按钮
pay:function(){
console.log('order_id:'+this.data.order_id)
var config=(wx.getStorageSync("config"));
wx.request({
url: config.host+'getData/getwxpay.php',
method: "POST",
data: {
total_fee:this.data.amount,
openid:wx.getStorageSync('openid'),
order_id:this.data.order_id,
},
header: {
'content-type': 'application/x-www-form-urlencoded' // 默认值
},
success: (res)=> { //后端返回的数据
var data = res.data;
console.log('data:'+data);
console.log('datatimeStamp:'+data["timeStamp"]);
this.setData({ out_trade_no:res.data.out_trade_no }); //获取统一支付接口返回的订单号
wx.requestPayment({
timeStamp: data['timeStamp'],
nonceStr: data['nonceStr'],
package: data['package'],
signType: data['signType'],
paySign: data['paySign'],
success:(res)=> {
wx.requestSubscribeMessage({
tmplIds: ['DXn1kPIDN_8YmcyLfN00Cn9sULB9MwK_3btCVOHxtms','n43uKQZswBYifWLyiD9Wlps4M4PQWNE26bsMeMxw5Z8'],
success (res) {
console.log('已授权接收订阅消息')
wx.navigateTo({
url: '../jiyao/paycomplete?order_id='+this.data.out_trade_no,
})
}
})
},
fail: function (res) {
console.log(res);
}
})
}
});
}
感谢回答者,已经修复了,是下面跳转链接的this问题。
增加 var _this = this; 下面的调用也改成 _this 问题解决;
你应该在支付前就弹 订阅提示,不管他订不订阅都支付,而不是在支付后订阅,支付后不一定能掉的起订阅的,部分手机是掉不起来的,最好是将订阅写到本次触发的最前面,以免后面处理了什么导致他微信判定非用户点击操作