纯H5调用微信支付有很多需要注意的地方,
1.绑定微信支付安全域名: 绑定了安全域名并不是在这个域名下的所有连接都可以唤起微信支付,这里有一个严格的限制,就是绑定的这个域名下的不超过1级子目录的页面才有权限唤起微信支付
举个栗子:
安全域名:www.aaa.com/
www.aaa.com/A.html (可以正常访问)
www.aaa.com/index/B.html (没有权限)
2.openid:
初始化需要用到微信openID,获取openID又需要用到微信的code,每次进入这个页面的时候微信都会给一个新的code,但是code只能用一次,如果用户刷新了当前页面就会导致code失效 , 所以在我们第一次获取到code后就缓存到本地,用的时候直接取缓存
3.初始化
初始化wx.chooseWXPay方法时要注意,这个方法接收严格的json格式,在key值加上双引号会减少异常的发生,注意,是双引号 , 这点在官方文档上是没有记录的 , 是各种论坛和技术帖大神总结出来的
wx.chooseWXPay({ "timestamp": aaa, // 支付签名时间戳 "nonceStr": aaa, // 支付签名随机串,不长于 32 位 "package": aaa, // 统一支付接口返回的prepay_id参数值,提交格式如:prepay_id=***) "signType": aaa, // 签名方式,默认为'SHA1',使用新版支付需传入'MD5' "paySign": aaa, // 支付签名 "success": function (res){ //支付完成后的操作 } });