收藏
回答

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

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

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

3 个回答

  • 微信支付质量运营助手
    微信支付质量运营助手
    04-01

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

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

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


    04-01
    有用
    回复
  • Mr.N
    Mr.N
    04-03

    已解决,需要自定义拦截器去修改请求头里面的Wechatpay-Serial参数为公钥id

    04-03
    有用
    回复 1
    • LuckyRight
      LuckyRight
      星期一 18:00
      请问使用微信的sdk怎么自定义Wechatpay-Serial参数为公钥id
      星期一 18:00
      回复
  • Memory (私信不回复)
    Memory (私信不回复)
    03-31

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

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