收藏
回答

特约商户进件接口报错:商户证书序列号有误。请使用签名私钥匹配的证书序列号?

特约商户进件接口提交进件数据的时候报错:

使用证书自带serial_no时报错:提示头部缺少Wechatpay-Serial平台证书序列号;更改为接口下载证书serial_no时,报错商户证书序列号有误。请使用签名私钥匹配的证书序列号

这个问题要怎么解决啊,四五天啦,一直没解决,所有的接口调用都是按照文档进行的。各位大佬有没有知道原因的,求指点,万分感谢!

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

7 个回答

  • N
    N
    2020-05-25

    平台证书如何获取,贴个代码不

    2020-05-25
    有用
    回复 1
    • 程小时
      程小时
      2023-11-10
      /**
           * 获取证书。
           *filePath证书路径
           * @return X509证书
           */
          public static X509Certificate getCertificate(String filePath) throws IOException {
              InputStream fis = new FileInputStream(filePath);
              BufferedInputStream bis = new BufferedInputStream(fis);
              try {
                  CertificateFactory cf = CertificateFactory.getInstance("X509");
                  X509Certificate cert = (X509Certificate) cf.generateCertificate(bis);
                  cert.checkValidity();
                  return cert;
              } catch (CertificateExpiredException e) {
                  throw new RuntimeException("证书已过期", e);
              } catch (CertificateNotYetValidException e) {
                  throw new RuntimeException("证书尚未生效", e);
              } catch (CertificateException e) {
                  throw new RuntimeException("无效的证书文件", e);
              } finally {
                  bis.close();
              }
          }
      2023-11-10
      回复
  • 鳄鱼先生
    鳄鱼先生
    2020-03-25

    不要用平台证书序列号。你要登录商户系统,API安全->API证书->查看证书里有 一个证书编号,用这个才可以

    2020-03-25
    有用
    回复
  • 哄哄
    哄哄
    2020-03-22

    解决了吗,我也遇到这个问题了


    2020-03-22
    有用
    回复 8
    • 我是胆小鬼
      我是胆小鬼
      2020-03-25
      请问你解决了没有.
      2020-03-25
      回复
    • 哄哄
      哄哄
      2020-03-25回复我是胆小鬼
      解决了,微信的文档里面提到了一个平台证书,这个跟服务商的证书不是同一个。证书总共有两个,一个服务商的,另一个是通过接口获取的平台证书。
      2020-03-25
      回复
    • 我是胆小鬼
      我是胆小鬼
      2020-03-25
      谢谢解答,请教一下头Wechatpay-Serial里面放的是从平台证书获取的序列号吗. 还有敏感信息公钥加密是用的apiclient_cert.pem这个证书吗
      2020-03-25
      回复
    • 我是胆小鬼
      我是胆小鬼
      2020-03-25回复哄哄
      计算sign的时候我用的是商户证书解出来的序列号,然后Wechatpay-Serial放的是获取到的序列号,请求的时候他返回我 message平台私钥解密失败,我一直没找到原因
      2020-03-25
      回复
    • 哄哄
      哄哄
      2020-04-04回复我是胆小鬼
      你需要加密的信息一定是用的平台的公钥,然后告诉平台你用的哪个公钥,平台加密的你的信息肯定用的你的公钥,你自己解密用自己的私钥
      2020-04-04
      回复
    查看更多(3)
  • 刘帅
    刘帅
    2020-03-21

    解决了吗兄弟

    2020-03-21
    有用
    回复 1
    • 刘帅
      刘帅
      2020-03-27
      已解决首先 证书分为 商户证书和 平台证书。  商户证书 是从微信支付后台下载得。 平台证书是通过接口获取得。 把这两个搞明白就好了
      2020-03-27
      回复
  • Hgalutl
    Hgalutl
    2020-01-08

    解决了吗,兄弟

    2020-01-08
    有用
    回复
  • 怪我喽
    怪我喽
    2019-12-24

    解决了吗,兄弟,我也遇到了同样的问题

    2019-12-24
    有用
    回复
  • 灵芝
    灵芝
    2019-12-16

    你好,微信支付相关问题麻烦在微信支付专区提问,我们有专门的人员处理

    微信支付专区:https://developers.weixin.qq.com/community/pay

    2019-12-16
    有用
    回复
登录 后发表内容
问题标签