收藏
回答

Native支付报错

支付出现Validate response failed,the WechatPay signature is incorrect错误。

证书以及V3密钥都重置过了,还是不行。

商户号:1219547501

我发现我30号申请的证书和29号申请的证书序列号是一致的这是机制吗?

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

3 个回答

  • 微信支付质量运营助手
    微信支付质量运营助手
    1天前

    报错内容是你收到微信的应答后验签失败。一般是由于你验签所用的证书 或者公钥,跟微信返回签名时用的不一致,请核对下微信返回请求头的wechatpay-serial,并用对应序列号的证书或者公钥来验签即可。

    核对了你这个商户号平台证书已经过期,现在用的微信支付公钥方案,但你还用了平台证书来验签导致的报错。微信SDK是兼容证书和公钥两种方案的,请改成SAPublicKeyNotificationConfig.Builder()就是用公钥验签的了,具体可以看下对应SDK的readme。https://github.com/wechatpay-apiv3/wechatpay-java

    1天前
    有用
    回复
  • Memory
    Memory
    2天前

    验证签名使用的是平台证书/微信支付公钥,你为什么要重置商户证书?

    2天前
    有用
    回复 4
    • 。
      1天前
      Config config = new RSAAutoCertificateConfig.Builder()
                .merchantId(merchantId)
                .privateKeyFromPath(privateKeyPath)
                .merchantSerialNumber(merchantSerialNumber)
                .apiV3Key(apiV3Key)
                .build();我使用的是这个方法构建的config, .privateKeyFromPath(privateKeyPath)这个路径不是api商户证书的apiclient_key.pem这个文件么
      1天前
      回复
    • Memory
      Memory
      1天前回复
      你要先去看你使用的是平台证书模式还是微信公钥模式
      1天前
      回复
    • 。
      1天前
      用RSAAutoCertificateConfig.Builder这个构建的不都是平台证书模式么
      1天前
      回复
    • Memory
      Memory
      1天前回复
      要看商户是什么模式而不是看你用什么构建
      1天前
      回复
  • 智能回答 智能回答 本次回答由AI生成
    2天前
    有用
    回复
登录 后发表内容