在vue单页应用的时候,安卓手机第一次授权登陆支付页面的时候,调不起微信支付,第二次在进入的时候可以调起来?

在vue单页应用的时候,安卓手机第一次授权登陆支付页面的时候,调不起微信支付,第二次在进入的时候可以调起来?


                                if(data.code==200){
                                       
                                    var appId = data.data.order.appId;
                                    var timeStamp = data.data.order.timeStamp;
                                    var nonceStr = data.data.order.nonceStr;
                                    var pg = data.data.order.package;
                                    var signType = data.data.order.signType;
                                    var paySign = data.data.order.paySign;
                                    var order_id = data.data.order.order_id;
                                    var signature = data.data.jsapi.signature;
                                    if(appId&&timeStamp&&nonceStr&&pg&&signType&&paySign&&order_id&&signature){
                                        wx.config({

                                            debug: false, 

                                            appId: appId, // 必填,公众号的唯一标识

                                            timestamp: timeStamp, // 必填,生成签名的时间戳

                                            nonceStr: nonceStr, // 必填,生成签名的随机串

                                            signature: signature,// 必填,签名,见附录1

                                            jsApiList: [
                                                "chooseWXPay"
                                            ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2

                                        });
                                        wx.ready(function(){
                                           
                                            wx.chooseWXPay({

                                                timestamp: timeStamp, 

                                                nonceStr: nonceStr, // 支付签名随机串,不长于 32 位

                                                package: pg, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)

                                                signType: signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'

                                                paySign: paySign, // 支付签名

                                                success: function (res) {

                                                    // 支付成功后的回调函数
                                                    _self.$router.push({ name: 'Control',query:{'device_id':_self.device_id} })

                                                },
                                                cancel:function(res){  
                                                    return new Promise((resolve, reject) => {
                                                        cancel_order(order_id).then(response=>{
                                                            const data = response.data;
                                                        })
                                                    })
                                                }  

                                            });

                                        });
                                       
                                        
                                    }else{
                                        data.message = '缺少参数!';
                                        var q = data;
                                        new Promise((resolve, reject) => {
                                            errorLog(q).then(response=>{
                                                const data = response.data;
                                            })
                                        }) 
                                    }
                                    

                                }
阅读 3.5k
2 个回答
新手上路,请多包涵

我也遇到了这个问题,安卓公众号授权后第一次支付,无法调起微信支付界面,刷新一下或第二次进入不授权就可以调起来,请问您解决了吗?

支付那里try catch,第一次支付调起会进入catch里再重新调起一次。但是第一次还有一个问题,点微信支付完成那个页面的完成后,页面会相当于点击返回

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题