这里是一个补充的小细节,如果你确认签名没错,授权页面路径也没问题的话,可以往下看。
直接说结论,调用统一下单API与H5调起两次签名都需要使用MD5方式!
详解:
微信JSAPI调用与微信有两次交互,一次是调用统一下单API,一次是页面H5调起密码输入框,很多人卡在第二步,具体表现为LOGO一闪而过,不显示输入密码框,解析返回结果会提示“支付验证签名失败”(onBridgeReady方法)或chooseWXPay fail(wx.chooseWXPay()方法),虽然两次交互看起来关联不大,但把签名方式都设置为MD5,才可以顺利调起。微信SDK里WXPay.java的构造方法中,非沙箱环境默认使用HMACSHA256方式加密,导致调用统一下单API时加密方式与H5不一致。
BS一下微信的文档与SDK。