首页  >  文章  >  微信小程序  >  如何解决微信支付API v3回调通知出现乱码问题

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

藏色散人
藏色散人转载
2021-07-15 13:55:264713浏览

微信支付 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删除