收藏
回答

使用了RSAPublicKeyConfig但是返回的Wechatpay-Serial还是平台证书

商户正处在支付公钥切换的期间,我只想使用支付公钥所以使用了RSAPublicKeyConfig,为什么调用jsapiServiceExtension.prepayWithRequestPayment(request)还是报错,提示publicKeyId and serialNumber are not equal,而且响应头的Wechatpay-Serial还是平台证书?怎么强制使用公钥呢

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

2 个回答

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

    公钥灰度过程中,应答场景和回调场景有不同的灰度策略。

    回调场景是公钥的使用比例按天增加,第七天增加到100%用公钥。

    应答场景是由商户在请求时的请求头传序列号来控制用证书还是公钥。wechatpay-serial0.2.16及以上版本如果使用RSAPublicKeyNotificationConfig 或RSACombinedNotificationConfig,则sdk自动会传公钥ID,应答场景就直接全量用公钥
    


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

    在请求头的Wechatpay-Serial传公钥ID

    1天前
    有用
    回复 5
    • Mr.N
      Mr.N
      1天前
      官方sdk的jsapiServiceExtension.prepayWithRequestPayment(request)支持自定义请求头吗?我想在请求头的Wechatpay-Serial传公钥ID不知道怎么操作
      1天前
      回复
    • Memory
      Memory
      1天前回复Mr.N
      wechatpay-serial0.2.16及以上版本如果使用RSAPublicKeyNotificationConfig 或RSACombinedNotificationConfig,则sdk自动会传公钥ID,应答场景就直接全量用公钥
      1天前
      回复
    • Mr.N
      Mr.N
      1天前回复Memory
      0.2.16比14改了很多,我还是想用14的公钥模式,就是不知道怎么强制使用公钥模式
      1天前
      回复
    • Memory
      Memory
      1天前回复Mr.N
      在请求头添加Wechatpay-Seria,这个得自己改了
      1天前
      回复
    • Mr.N
      Mr.N
      1天前回复Memory
      好的,谢谢。我尝试下先不用官方sdk,自己构造请求。等完全切换并作废平台证书以后再使用sdk
      1天前
      回复
登录 后发表内容