接入易错点
更新时间:2026.10.30一、切换前的改造覆盖范围
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
未完成全部系统兼容改造不得开启切换 | 说明:平台证书切换微信支付公钥的灰度期间,应答和回调可能分别使用平台证书或微信支付公钥;商户系统须同时兼容两种验签方式,且同一商户号下的全部项目都完成兼容后才可开启切换。 使用 | 灰度期间可能因无法验证平台证书或公钥签名而出现接口异常、回调验签失败和业务处理中断;误开启后只能停止更换并重新排期;沿用平台证书初始化配置时还可能返回 |
切换前须覆盖全部环境及历史退费链路 | 说明:公钥灰度和切换按商户号维度进行,同一商户号用于多个项目或环境时须全部支持公钥;切换后的全部业务场景均应使用公钥,包括历史退款。应答使用公钥比例按近 7 天公钥调用次数除以近 7 天 V3 总调用次数计算。 | 应答公钥比例可能长期停留在 97% 或 99%,切换无法确认完成;遗留链路继续依赖平台证书,平台证书到期后会阻断对应 V3 业务。 |
二、公钥模式的商户平台启用
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
申请公钥后须在商户平台启用公钥切换 | 说明:申请或下载微信支付公钥本身不会自动开启公钥模式,商户平台默认未启用公钥切换;代码完成改造后还需在商户平台启用,才能按公钥模式处理请求。 请求头须使用该商户号带 | 即使请求头已经传了公钥 ID,仍可能返回 |
三、切换排期与平台证书流程冲突
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
平台证书到期前须预留约14天切换窗口 | 说明:回调使用公钥比例由微信支付在约7天内完成灰度,应答使用公钥比例按近7天 APIv3 调用次数统计,整体需要预留约14天。平台证书到期前未完成公钥切换,会导致 APIv3 应答和回调验签失败。 回调公钥灰度约需 7 天,应答公钥比例按近 7 天调用统计;平台证书临近到期时可选择切换微信支付公钥替代续期平台证书,但须倒排完整改造与灰度时间。 | 平台证书过期时公钥灰度尚未完成,APIv3 应答和回调验签失败,支付结果无法确认,业务中断。 |
平台证书灰度与公钥切换不得同时进行 | 说明:平台证书替换为微信支付公钥与灰度更换新平台证书是两条互斥流程,不能同时进行。 | 系统会提示流程冲突,公钥切换无法继续;若继续同时操作,还会增加两套切换状态难以确认的风险。 |
四、公钥模式下的凭据与密钥分工
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
公钥模式须使用公钥验签和敏感字段加密 | 说明:微信支付公钥与平台证书是同一商户号用于 V3 验签和敏感字段加密的两种模式,新申请商户号默认为微信支付公钥模式;公钥模式下应使用公钥及公钥 ID,不以平台证书作为验签或加密凭据。 应答和回调须使用微信支付公钥及带 | 公钥模式下仍调用平台证书下载或初始化平台证书验签,会返回 |
五、应答与回调验签
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
应答验签须按应答Wechatpay-Serial选择密钥 | 说明:微信支付根据请求头 | 使用错误的公钥验证应答签名,应答验签失败,无法安全处理下单、查询等接口结果。 |
灰度期回调须按Wechatpay-Serial兼容双验签 | 说明:微信支付在回调灰度期间会随机使用平台证书或微信支付公钥签名,商户须根据回调请求头 | 灰度期间部分回调验签失败,商户返回 4xx 或 5xx 后微信支付会继续重试,支付结果、退款结果等业务状态可能无法及时处理;验签失败会报 |
公钥模式回调须先验签再解密处理业务 | 说明:微信支付公钥用于验证应答和回调签名,APIv3 密钥用于解密回调业务数据;仅解密成功不能证明通知来自微信支付。 | 被篡改或伪造的回调可能触发错误订单状态、营销核销或其他业务处理,造成业务和资金风险。 |
签名探测流量须正常验签,不得特殊放行 | 说明:微信支付会在少量应答或回调中生成错误签名,用于探测商户是否执行验签。探测签名不应对特殊处理,也不应按请求头识别后直接返回失败。 | 未通过真实性校验的应答或回调可能被当作正常结果处理,支付结果和通知处理存在安全风险。 |
六、灰度收尾:停止证书下载、改用纯公钥配置与确认切换
注意事项 | 说明、正确应该怎么做 | 不做会怎么样 |
|---|---|---|
全量使用公钥后须停止下载平台证书 | 说明:接口 | 应答使用公钥的比例无法达到 100%,公钥切换进度持续卡住,无法进入确认切换环节;平台证书下载请求继续计入 V3 调用,应答使用公钥比例无法提升,切换进度持续卡住。 |
回调公钥比例达100%后须改用纯公钥通知配置 | 说明:Java SDK 的 | 自动下载平台证书的请求继续计入 V3 调用,应答使用公钥的比例无法达到 100%,公钥切换流程无法完成。 |
