java微信支付开发 提示 支付验证签名失败

本文介绍了在Java环境下开发微信支付时遇到的支付验证签名失败的问题。在排除了参数缺失和签名错误后,发现官方SDK默认在沙箱环境使用MD5加密,而实际环境中使用的是HMACSHA256。修改代码以适应正确的加密方式后,问题得到解决。

首先说下开发环境,采用java开发,使用的是官方提供的demo。

 首先 你已经排除是参数的缺少的问题,

 

然后, 你也已通过微信提供的签名工具排除了签名的问题 (签名工具 https://pay.weixin.qq.com/wiki/tools/signverify/)

,那么真正的坑就来了。官方一直说默认的加密方式是MD5  ,然后我看了下官方demo提供的源码,如下

看到没有?只有在沙河环境下是MD5,否则就是HMACSHA256加密方式。

然后改动代码如下

问题解决!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值