收藏
回答

微信支付异步通知,验证签名失败,可能原因?

微信支付异步通知,返回的是数据流,将其转换成map,当做参数,WXPayUtil.isSignatureValid用该方法验证签名,失败,请问可能是什么原因,另外,支付使用什么方式加密签名,返回也是什么方式加密签名是吗?



最后一次编辑于  2019-10-10
回答关注问题邀请回答
收藏

1 个回答

  • 微信支付技术助手1
    微信支付技术助手1
    2019-10-10

    1、在统一下单unifiedorder接口中,确认下配置的notify_url,找到程序的代码
    2、修改代码增加签名验证:取支付通知中的参数和自己的密钥算出签名,用这个签名和支付通知中参数的签名做比较,如果完全一样,则验证通过,否则验证不通过。
    算签名的方法:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_3
    3.签名校验工具:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1

    2019-10-10
    赞同
    回复 2
    • 闲时
      闲时
      01-04
      官方支付文档写的有问题,统一下单不设置加密方式默认为HMAC-SHA25,微信返回签名加密说同统一下单的加密类型,统一下单不设置加密类型,本地验签又默认把验签加密方式设为了MD5
      01-04
      1
      回复
    • 哦~
      哦~
      01-10
      我再次重申这个问题,已经整整三个月了,这个问题依然存在,麻烦尽快修改sdk及api文档
      01-10
      回复
登录 后发表内容
问题标签