微信支付 API v3 回调通知 签名验证 PHPdemo有嘛?
详细问题介绍:
将微信回调接收到的 wechatpay-signature 字段验签,验签失败,后面打断点发现
将微信回调接收到的 wechatpay-signature 字段用base64_decode解码后得到的乱码,
这有什么问题嘛,回调验签验不过,问题紧急!!!
还有确认用的证书是平台证书,也是最新的。
解决方法:
问题解决了!!!
我的问题是因为用了框架的获取body里参数的方法,导致body参数里的字段顺序与微信传来的不一致,(是我看了一篇java实现的文章受到的启发),这里强烈建议使用编程语言原生获取参数的方式获取,我们php是 file_get_contents("php://input");
注意:对微信签名base64_decode解码后乱码,这里并不是微信的签名有错,本来就是这样的
反正排除了证书,序列号之类的问题,就要看参数的问题
注释调的是我原来获取参数,并且构建签名串的方式,现在采用原生的方式就校验通过了
希望能帮到大家。
Atas ialah kandungan terperinci 如何解决微信支付API v3回调通知出现乱码问题. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!