如何解决微信支付API v3回调通知出现乱码问题

藏色散人
发布: 2021-07-15 13:55:26
转载
4712 人浏览过

微信支付 API v3 回调通知 签名验证 PHPdemo有嘛?

详细问题介绍:

840ea39aa6735f1aad66737e39d51b9.png

6508703df091ad920ce4c59f14bcf2a.png

将微信回调接收到的 wechatpay-signature 字段验签,验签失败,后面打断点发现

将微信回调接收到的 wechatpay-signature 字段用base64_decode解码后得到的乱码,

b35b58155cc6a9ea7c67e71de4e3841.png

这有什么问题嘛,回调验签验不过,问题紧急!!!

还有确认用的证书是平台证书,也是最新的。

解决方法:

问题解决了!!!

我的问题是因为用了框架的获取body里参数的方法,导致body参数里的字段顺序与微信传来的不一致,(是我看了一篇java实现的文章受到的启发),这里强烈建议使用编程语言原生获取参数的方式获取,我们php是 file_get_contents("php://input");

注意:对微信签名base64_decode解码后乱码,这里并不是微信的签名有错,本来就是这样的

反正排除了证书,序列号之类的问题,就要看参数的问题

f4f4c100f65b5f697a6b0b4ebde223c.png

注释调的是我原来获取参数,并且构建签名串的方式,现在采用原生的方式就校验通过了

希望能帮到大家。

以上是如何解决微信支付API v3回调通知出现乱码问题的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:Newzers
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板