背景:微信支付,之前用的证书,现在换成了公钥。
现象:调用 微信支付分停车-查询车牌服务开通信息(https://api.mch.weixin.qq.com/v3/vehicle/parking/services/find) 接口,请求头 Wechatpay-Serial 是以 PUB_KEY_ID_ 开头的(公钥方式签名),请求成功。但是响应时,Wechatpay-Serial 不是以 PUB_KEY_ID 开头的(证书方式签名),导致签名校验失败。
然而。。。创建停车入场(https://api.mch.weixin.qq.com/v3/vehicle/parking/parkings)接口又是可以的。
错误信息:
[AbstractVerifier] publicKeyId[PUB_KEY_ID_0115269xxxxxxxxxxxxxx] and serialNumber[413062816B9738387F610F02BA568E0B6B81968D] are not equal
请求:
响应:

你好,开始公钥切换后,只要调接口时在请求头传了公钥ID,应答理论上就应该是公钥。请私聊提供我具体参数一起看下
切换期间需要同时配置平台证书和公钥,完成切换以后才是纯公钥,请求时携带公钥id后,应答签名会用公钥返回