• 技术文章 >微信小程序 >微信开发

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

    藏色散人藏色散人2021-07-15 13:55:26转载284
    微信支付 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删除
    专题推荐:微信支付
    上一篇:分享微信支付v3版 php解密解密代码 下一篇:uni-app开发H5端和原生H5开发怎么选择
    大前端线上培训班

    相关文章推荐

    • 随着微信支付的升级,PHP微信支付类V3接口也来了• 关于微信支付小程序v3【附PHP完整后端代码】• 【记录】PHP微信小程序 微信支付v3的使用• 分享微信支付v3版 php解密解密代码

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网