收藏
回答

调试微信支付V3版API接口,使用wechatpay-apache-httpclient签名错误

使用wechatpay-apache-httpclient sdk 调试微信支付V3版API接口,报“应答的微信支付签名验证失败”,看日志微信服务器已经对API作出结果响应,但是SDK对返回结果验签失败,未查出问题,官方给予解答一下吧。

回答关注问题邀请回答
收藏

3 个回答

  • 微信支付技术助手8
    微信支付技术助手8
    03-10

    https://wechatpay-api.gitbook.io/wechatpay-api-v3/chang-jian-wen-ti/zheng-shu-xiang-guan

    商户自己查了后更换

    03-10
    有用
    回复 2
    • Mr.sòng
      Mr.sòng
      03-10
      我请求接口的证书序列号是正确的,但是跟踪代码看接口响应的序列号跟我的不一样,我更换哪个?尝试用接口返回的序列号发起请求,接口返回错误。
      03-10
      回复
    • Mr.sòng
      Mr.sòng
      03-10
      谁能给解释一下?
      03-10
      回复
  • Mr.sòng
    Mr.sòng
    03-10

    跟踪代码,SDK在验证签名的时候,从Headers中得到的证书序列号如下图红框,与我下载的证书序列号不一致,导致certificates这个HashMap中不存在证书,校验失败。官方的技术能给予解答一下么?

    03-10
    有用
    回复
  • peng
    peng
    03-09

    验签需要使用到平台证书,可以检查下有没有设置之类的。

    03-09
    有用
    回复 5
    • Mr.sòng
      Mr.sòng
      03-10
      证书设置都没有问题,跟踪SDK,发现是证书序列号的问题,微信响应头中的证书序列号与我的证书序列号不一致。
      03-10
      回复
    • peng
      peng
      03-10回复Mr.sòng
      是的,需要一致。
      03-10
      回复
    • Mr.sòng
      Mr.sòng
      03-10回复peng
      我请求接口的证书序列号是正确的,但是跟踪代码看接口响应的序列号跟我的不一样,我更换哪个?尝试用接口返回的序列号发起请求,接口返回错误。
      03-10
      回复
    • peng
      peng
      03-10回复Mr.sòng
      你现在调用那个接口? 你们调用接口获得了多个平台证书?验签需要根据微信的响应的平台序列号,用这个平台序列号对应的公钥验签。
      03-10
      回复
    • Mr.sòng
      Mr.sòng
      03-10回复peng
      调通了。平台证书并不是在商户平台下载的证书压缩包中的文件apiclient_cert.pem,是需要使用调用下载平台证书接口下载平台证书。感谢。
      03-10
      回复
登录 后发表内容
问题标签