常见问题

更新时间:2024.12.12

Q:我的商户号用在了多个项目,是不是只要有一个项目完成了公钥的兼容就可以点击【开始更换】按钮,剩余的项目可以在灰度过程中再慢慢实现公钥兼容?

公钥灰度和切换都是按照商户号维度进行的,如果你的商户号在多个项目里使用,请确保你这些项目都按照指引的说明,支持了公钥模式,你才可以点击【开始更换】

 

Q:从平台证书切换公钥的灰度过程中,是不是平台证书能够正常使用?

在公钥灰度期间只要平台证书不过期就能正常使用,你需要按照指引实现公钥的兼容,并且在平台证书过期前完成公钥的切换。一旦你点击了【作废平台证书】则你后续的请求都需要用公钥。

Q: 为什么微信支付公钥的回调进度条已经是100%了,但是应答的进度条还是0%?

A: 回调进度是由微信支付按照比例灰度的,预计7天内完成,应答比例是由商户自己通过请求头的Wechatpay-Serial来控制的,请确认你的请求都添加了Wechatpay-Serial且正确传了微信支付公钥的ID,请参考下面

1curl -X GET \
2https://api.mch.weixin.qq.com/v3/xxx \
3-H "Authorization: WECHATPAY2-SHA256-RSA2048 mchid=\"1900000001\",..." \
4-H "Accept: application/json" \
5-H "Wechatpay-Serial: PUB_KEY_ID_00000000000000000000000000000000" // 需要增加Wechatpay-Serial请求头,且注意微信支付公钥ID带有PUB_KEY_ID_前缀

Q: 为什么我已经全部切换到微信支付公钥了,但是应答的进度条还不是100%?

A:

情况 1: 应答使用公钥比例=近7天用微信支付公钥调接口次数/近7天v3接口总调用次数,数据更新频率是1小时,所以当你全量切到微信支付公钥之后还需要等待7天,比例才会变成100%

情况 2:如果你使用了官方的 java sdk,回调平滑切换时,使用的是RSACombinedNotificationConfig作为 NotificationConfig来处理回调,该 config会持续自动下载平台证书,当你的回调比例进度条为 100% 时,你应该更改为,应改为使用RSAPublicKeyNotificationConfig,否则你会有一部分自动下载平台证书的流量一直没有切换到公钥模式

 

Q: 如何获取微信支付公钥ID?

超级管理员或者安全联系人登录商户平台,进入账户中心-API安全页面,点击申请公钥后,可下载微信支付公钥

1)帐户中心->API安全

(2)微信支付公钥入口页面

(3)微信支付公钥详情页(点击下载公钥后,可看到公钥id)

 

 

 

Q: 平台证书切换微信支付公钥和更换平台证书流程可以同时进行吗?

A: “平台证书切换微信支付公钥”的流程,不能和“灰度更换新平台证书”的流程同时进行,如果你正在灰度更换新的平台证书,系统将有下面提示,需要停止新平台证书的灰度更换(API安全-平台证书,进入查看平台证书灰度更换情况,请谨慎操作),才能继续进行当前流程。

 

Q:调用平台证书下载接口/使用sdk/使用平台证书下载工具,报错「无可用的平台证书,请在商户平台-API安全申请使用微信支付公钥。可查看指引」

A: 平台证书的有效期为5年,即每5年,商户需要更换一次证书,如果你的系统未实现平滑切换,未能及时更换新证书则会导致接口调用异常,因此建议你从平台证书模式切换到公钥模式,可以 iwiki-document:inline_state 完成操作