微信开发问题(非支付目录问题)choosewxpay fail解决
$('#chooseWXPay').on('click', function(){ wx.chooseWXPay({ timestamp: payObject.timestamp, // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。 但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 nonceStr: payObject.nonceStr, // 支付签名随机串,不长于 32 位 package: payObject.package, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) signType: payObject.signType, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' paySign: payObject.paySign, success : function(res) { // 支付成功后的回调函数 window.location.href = 'http://www.baidu.com'; } }); });
最后才发现,是生成的paySign有错,而paySign生成错误是有package这个参数值错误导致的,
在后台经统一下单接口返回xml,获取其中的prepay_id,给js传package参数时要传
String package = "prepay_id=” + prepay_id; //prepay_id是通过统一下单接口获取的
js代码中的 payObject.package就是的值就是这里的package,
在生成paySign时,package参数的值是“prepay_id=******”的形式,是“prepay_id=*****”参与签名生成
转载自:http://blog.csdn.net/u013283562/article/details/50420566