微信支付:服务器(Java)统一下单获取prepay_id成功,前端公众号里调用jsapi提示支付验证签名失败
2017-08-25 09:19
851 查看
昨天折腾一宿,就是因为这个问题:
微信支付:服务器统一下单获取prepay_id成功,前端公众号里调用jsapi提示支付验证签名失败(签名工具测试签名正确)
先说出问题原因:统一下单使用的微信支付官方下载的demo的Java版,https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
这个demo里统一下单使用的签名方式是HMAC-SHA256,而页面签名方式用的https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
这里默认的是签名方式是MD5,前后两个签名方式不一至导致的“支付验证签名失败”。
解决方法:前后两个签名方式调成一致,同时用MD5或同时用HMAC-SHA256。
注意事项:回调的时候也用一致的签名方法!!
感悟:明明是在线签名工具签名正确了的,明明是默认sign_type就是MD5的,但是谁想到还有前后签名不一致这一说,不说坑不坑的事了,昨天因为找不到原因,眼睛瞪成铜铃大把代码、公众号、商户号,CSDN上相关文档翻了个底朝天,也算有所收获吧,至于有的文档里说把密钥重置一下就可以了什么的,大约是大家的笑谈吧。
微信支付:服务器统一下单获取prepay_id成功,前端公众号里调用jsapi提示支付验证签名失败(签名工具测试签名正确)
先说出问题原因:统一下单使用的微信支付官方下载的demo的Java版,https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1
这个demo里统一下单使用的签名方式是HMAC-SHA256,而页面签名方式用的https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
这里默认的是签名方式是MD5,前后两个签名方式不一至导致的“支付验证签名失败”。
解决方法:前后两个签名方式调成一致,同时用MD5或同时用HMAC-SHA256。
注意事项:回调的时候也用一致的签名方法!!
感悟:明明是在线签名工具签名正确了的,明明是默认sign_type就是MD5的,但是谁想到还有前后签名不一致这一说,不说坑不坑的事了,昨天因为找不到原因,眼睛瞪成铜铃大把代码、公众号、商户号,CSDN上相关文档翻了个底朝天,也算有所收获吧,至于有的文档里说把密钥重置一下就可以了什么的,大约是大家的笑谈吧。
相关文章推荐
- 微信公众平台支付 一直提示签名认证失败,签名对比正确,却提示签名不正确,关于prepay_id造成签名验证不正确的问题
- 微信支付提示支付验证签名失败
- 获取微信沙箱秘钥有效期,沙箱验证签名失败,请确认沙箱签名key是否正确,通过getsignkey调用生成——微信支付沙箱开发6
- 微信支付(公众号支付APIJS、app支付)服务端统一下单接口java版
- 获取微信支付接口错误信息,一些官方公众号支付demo中没有的错误提示
- Java使用微信支付-发起统一下单支付接口
- Java微信支付总结(一):获得prepay_id(以及生成微信支付签名)
- 微信支付服务商签名验证无误,但是统一下单后服务器返回【签名错误】
- 微信公众号支付支付验证签名失败及公众号支付总结
- 微信支付-支付验证签名失败,跳转无响应等
- 微信支付获取 prepay id 偶尔失败问题【转】
- 微信支付接口,提示:调用支付jsapi缺少参数: $key0$
- 微信公众号之微信支付(V3版)jsp页面jsapi统一下单调启支付(java版)
- 微信支付签名验证,检查公众号支付中的签名是否正确
- PHP:微信小程序调用【统一下单】【微信支付】【支付回调】API;XML转Array,Array转XML方法(通用)
- 微信jsapi支付验证签名失败
- 手把手教你--JAVA微信支付(公众号支付JSAPI)
- 微信支付提示支付失败,但所有流水状态是成功的
- 关于微信APP支付,提示支付验证签名失败
- java官方工具包微信H5支付报“支付验证签名失败”