收藏
回答

商户证书为空,serialNumber

CertificatesManager certificatesManager = CertificatesManager.getInstance();
FileInputStream certKeyStream = new FileInputStream(new File(wxPayProperties.getCertKeyPath()));
FileInputStream weChatPayStream = new FileInputStream(new File(wxPayProperties.getWeChatPayPath()));
x509Certificate = PemUtil.loadCertificate(weChatPayStream);
privateKey = PemUtil.loadPrivateKey(certKeyStream);
certificatesManager.putMerchant(wxPayProperties.getMchId(), new WechatPay2Credentials(wxPayProperties.getMchId(), new PrivateKeySigner(wxPayProperties.getSerialNumber(), privateKey)), wxPayProperties.getApiV3Key().getBytes(StandardCharsets.UTF_8));
verifier = certificatesManager.getVerifier(wxPayProperties.getMchId());


使用上述方式获取平台证书,在接受到微信通知后,使用verifier进行验签,报商户证书为空。传的参数 mchid 商户id,secrialnumber 商户序列号

这段代码写在@PostConstruct 注解的方法内,只初始化一次,后面用成员变量使用

最后一次编辑于  2022-03-21
回答关注问题邀请回答
收藏

8 个回答

  • 胡汉三
    胡汉三
    2022-08-28

    在使用微信SDK构建request的时候,商户证书号要填写微信回调传回来的公钥证书序列号,不要用自己私钥的证书序列号。

    req.getHeader("wechatpay-serial")
    


    NotificationRequest request = new NotificationRequest.Builder().withSerialNumber(
          req.getHeader("wechatpay-serial"))
          .withNonce(req.getHeader("wechatpay-nonce"))
          .withTimestamp(req.getHeader("wechatpay-timestamp"))
          .withSignature(req.getHeader("wechatpay-signature"))
          .withBody(body)
          .build();
    


    2022-08-28
    有用 2
    回复 2
    • 默认
      默认
      2023-01-01
      大佬,这个body是什么?怎么得到的?方便看一下代码吗?
      2023-01-01
      回复
    • 张国五
      张国五
      2023-11-28
      说的对
      2023-11-28
      回复
  • 不重要、
    不重要、
    2023-11-07
    String body = request.getReader().lines().collect(Collectors.joining(System.lineSeparator()))
    


    2023-11-07
    有用
    回复
  • 我是金角大王
    我是金角大王
    2022-12-01

    请问怎么解决的

    2022-12-01
    有用
    回复 1
    • 张国五
      张国五
      2023-11-28
      就是他说的那样
      2023-11-28
      回复
  • 拾柒ι
    拾柒ι
    2022-11-10

    好兄die请问解决了么?

    2022-11-10
    有用
    回复
  • 张力
    张力
    2022-08-10

    大家都有同样的问题,难道没人解决吗?

    2022-08-10
    有用
    回复
  • Peter
    Peter
    2022-05-11

    好兄弟,问题解决了,同样的问题

    2022-05-11
    有用
    回复
  • 阿Fr
    阿Fr
    2022-04-18

    好兄弟,这个问题解决了吗?求解!


    2022-04-18
    有用
    回复
  • Zzaker
    Zzaker
    2022-04-11

    请问这个问题解决了吗

    2022-04-11
    有用
    回复
登录 后发表内容