java微信公众号 js调用微信支付报错 errMsg:chooseWXPay:fail

奖励有点少,实在是没有c币了。
下面是我的js,不清楚到底是什么原因导致的,各位大神帮忙给解决下吧;具体报错:config签名啥的是OK的,但是在调用chooseWXPay的时候,就失败了 报错errMsg:chooseWXPay:fail 没有别的提示信息,不清楚失败原因
$('#pay_sub_btn').on(touchType, function(){
var _this = $(this);
var payType = $('#pay_type').val();
var orderId = $('#J_payOrder_id').val();
var orderSn = $('#J_payOrder_sn').val();
var payFee = $('#J_payOrder_card_no').val();
var fieldLabel = $('#fieldLabel').val();
var date = $('#date').val();
var orderTimes = $('#orderTimes').val();
var gymName = $('#gymName').val();
var path = $('#basePath').val();

    hideError();
    lock = true;
    _this.text('支付中...');
    if(payType == 13){
       //支付宝支付

    }else{
        $.ajax({  
            url:path+"/orders/OrdersPayForWx.do?orderId="+orderId
        }).done(function(data){  
            var obj = eval('(' + data + ')');  
            if(parseInt(obj.agent)<5 && obj.agent != "false"){  
                alert("您的微信版本低于5.0无法使用微信支付,请升级之后再操作!~");
                return;  
            }else if(obj.agent == "false"){
                alert("请使用微信浏览器操作!~");
                return;  
            }
            if(obj.code == "0"){
                alert("登陆已经过期,请重新登录!~");
                window.location.href = path+'/login.jsp';
            }
            wx.config({
                debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
                appId: obj.appId, // 必填,公众号的唯一标识
                timestamp: obj.contime, // 必填,生成签名的时间戳
                nonceStr: obj.constr, // 必填,生成签名的随机串
                signature: obj.consign,// 必填,签名,见附录1
                jsApiList: ['chooseWXPay'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
            });
            wx.ready(function(){
                wx.chooseWXPay({
                    "timestamp": obj.paytime, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符
                    "nonceStr": obj.paystr, // 支付签名随机串,不长于 32 位
                    "package": obj.paypack, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***)
                    "signType": obj.paysigntype, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5'
                    "paySign": obj.paysign, // 支付签名
                    success: function (res) {
                        // 支付成功后的回调函数
                        alert(res.err_msg);
                        _this.text('支付');
                         if(res.err_msg == "get_brand_wcpay_request:ok" ) {
                             _this.text('支付');
                            // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回    ok,但并不保证它绝对可靠。 
                             window.location.href = path + '/orders/GetOrders.do?page=1&pageSize=10&orderStatus=0';
                         }else{
                            alert(res.errMsg);
                            alert(res.err_msg);
                            _this.text('支付');
                            return false;
                         }
                    }
                });
            });
            wx.error(function(res){
                alert(res.err_msg);
                _this.text('支付');
                return false;
            });
        });  
    }
});

1个回答

{"errMsg":"chooseWXPay":"fail"},这个问题产生的原因很有可能是微信授权域名和微信支付域名设置的不一样,比如一个有www一个没有。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!