收藏
回答

由平台证书切换到微信支付公钥请求微信接口中添加了Wechatpay-Serial,微信应答响应呢?

如果还没点击开始灰度切换,微信支付请求时已携带Wechatpay-Serial:PUB_KEY_ID_xxxxxx,,但是测试的响应头的 Wechatpay-Serial并不是微信支付公钥ID,是要必须点击开始切换后才可以吗

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

3 个回答

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

    你好,不开启灰度切换时,公钥还没有生效,所以微信返回时还用平台证书。

    开启切换后,分为应答和回调两个场景。应答场景:调v3接口时在请求头的wechatpay-serial传了公钥ID的,则微信给你应答也会用公钥,不传或传平台证书时,都使用平台证书给你返回。

    回调场景:随机使用证书或者公钥给你返回,并且公钥的比例按日增加,第七天及之后100%公钥。

    所以如果你不涉及回调场景的会,灰度期间可以只使用公钥,不用考虑兼容平台证书。

    09-04
    有用
    回复 2
    • 小冻梨
      小冻梨
      09-04
      好的 明白了,是只有开始切换了,并且请求头wechatpay-serial传了公钥ID,应答响应一定是公钥ID,对吧
      09-04
      回复
    • 微信支付质量运营助手
      微信支付质量运营助手
      09-05回复小冻梨
      是的
      09-05
      回复
  • 小冻梨
    小冻梨
    09-04

    由平台证书切换到微信支付公钥时,支付接口文档中应答响应中的Wechatpay-Serial由商户请求头决定,但我实际收到的响应中Wechatpay-Serial并不是微信支付公钥ID,使用官方sdk应答验签的时候,由于配置初始化时用的公钥,导致应答验签失败

    09-04
    有用
    回复
  • Memory (私信不回复)
    Memory (私信不回复)
    09-04

    是的,不开始切换不会生效

    09-04
    有用
    回复 12
    • 小冻梨
      小冻梨
      09-04
      要开始灰度后,应答中Wechatpay-Serial百分百是微信支付公钥ID吗?还是说应答验签也要同时兼容平台证书公钥和微信支付公钥验签?
      09-04
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      09-04回复小冻梨
      切换期间需要同时兼容
      09-04
      回复
    • 小冻梨
      小冻梨
      09-04
      回调是要同时兼容的我明白,微信应答响应的header里面Wechatpay-Serial这个也不是百分百是PUB_KEY_ID_xxxxxx吗?
      09-04
      回复
    • 小冻梨
      小冻梨
      09-04
      这一步也兼容?
      09-04
      回复
    • Memory (私信不回复)
      Memory (私信不回复)
      09-04回复小冻梨
      万一你有接口漏传呢?肯定是要同时兼容的
      09-04
      回复
    查看更多(7)
登录 后发表内容