奖励有点少,实在是没有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;
});
});
}
});