微信支付 支付验证签名失败
2017-07-05 17:33
288 查看
公众号支付,WeixinJSBridge.invoke()方法,返回错误:支付验证签名失败
检查后台签名参数、支付密钥均正确,却还是错误,最后询问微信支付技术才解决,问题所在就是微信给的java
sdk有问题。问题解决就是:全部使用MD5加密的方式,不用去理睬什么环境。
java
sdk v3版:
初始化WXPay方法:
public
WXPay(final WXPayConfig config, final String notifyUrl, final boolean autoReport, final boolean useSandbox) throws Exception {
this.config = config;
this.notifyUrl = notifyUrl;
this.autoReport = autoReport;
this.useSandbox = useSandbox;
if (useSandbox) {
this.signType = SignType.MD5; // 沙箱环境
}
else {
this.signType = SignType.HMACSHA256;
}
this.wxPayRequest = new WXPayRequest(config);
}
正式环境下的签名方式使用HMACSHA256,这就导致了统一下单时也使用HMACSHA256签名,然而WeixinJSBridge.invoke()方法的签名方式,只支持MD5,2者签名方式不同,造成最终的“支付验证签名失败”错误。
另外一个坑:
微信的支付回调,也就是“支付结果通知“,回传参数中并不包含sign_type,那么回传的签名方式是哪种呢?和统一下单接口同一种签名方式!!!
”
检查后台签名参数、支付密钥均正确,却还是错误,最后询问微信支付技术才解决,问题所在就是微信给的java
sdk有问题。问题解决就是:全部使用MD5加密的方式,不用去理睬什么环境。
java
sdk v3版:
初始化WXPay方法:
public
WXPay(final WXPayConfig config, final String notifyUrl, final boolean autoReport, final boolean useSandbox) throws Exception {
this.config = config;
this.notifyUrl = notifyUrl;
this.autoReport = autoReport;
this.useSandbox = useSandbox;
if (useSandbox) {
this.signType = SignType.MD5; // 沙箱环境
}
else {
this.signType = SignType.HMACSHA256;
}
this.wxPayRequest = new WXPayRequest(config);
}
正式环境下的签名方式使用HMACSHA256,这就导致了统一下单时也使用HMACSHA256签名,然而WeixinJSBridge.invoke()方法的签名方式,只支持MD5,2者签名方式不同,造成最终的“支付验证签名失败”错误。
另外一个坑:
微信的支付回调,也就是“支付结果通知“,回传参数中并不包含sign_type,那么回传的签名方式是哪种呢?和统一下单接口同一种签名方式!!!
”
相关文章推荐
- 微信支付提示支付验证签名失败
- ##iOS中的微信支付 支付验证签名失败
- 微信支付:服务器(Java)统一下单获取prepay_id成功,前端公众号里调用jsapi提示支付验证签名失败
- 微信支付-支付验证签名失败,跳转无响应等
- 微信支付——支付签名验证失败的坑
- 微信公众平台支付 一直提示签名认证失败,签名对比正确,却提示签名不正确,关于prepay_id造成签名验证不正确的问题
- 微信公众号之支付验证签名失败
- 微信支付报错“支付签名验证失败”
- 支付宝电脑网站支付,回调时签名验证失败
- 获取微信沙箱秘钥有效期,沙箱验证签名失败,请确认沙箱签名key是否正确,通过getsignkey调用生成——微信支付沙箱开发6
- 微信支付签名验证,检查公众号支付中的签名是否正确
- 微信公账号支付:签名验证失败的解决办法
- 微信jsapi支付验证签名失败
- 微信小程序支付开发爬坑攻略(支付签名验证失败)
- 关于微信APP支付,提示支付验证签名失败
- 铁通、长宽网络支付时“签名失败”问题分析及解决方案 [88222001]验证签名异常:FAIL[20131101100002-142]
- 微信支付SDK “支付验证签名失败”,怎么也找不到原因?
- java官方工具包微信H5支付报“支付验证签名失败”
- 微信公众号支付支付验证签名失败及公众号支付总结
- 微信支付--工具类--产生二维码验证签名