证书密钥概览
更新时间:2026.07.21微信支付API的签名、验签及敏感信息加解密均依赖证书和密钥,商户需妥善保管相关信息,并在证书过期前完成更换。
| 商户 API 证书 | 平台证书 | 微信支付公钥 | APIv3 密钥 | APIv2 密钥 |
|---|---|---|---|---|---|
概述 | 商户在商户平台申请,证明商户身份的数字证书 | 微信支付平台生成,给商户用来“验证微信支付身份 ”、“加密敏感字段”的证书 | 平台证书的替代方案,功能与平台证书一致。同一商户号仅需选择其一使用。因微信支付公钥无过期时间,维护更简单,推荐使用 | 用于 V3 接口解密回调通知数据、解密平台证书 | 用于 V2 接口的请求签名、接口应答和回调的验签 |
适用 API 版本 | V3 + V2 | V3 | V3 | V3 | V2 |
商户侧用途 | V3:生成请求签名 V2:调用退款等安全级别较高的接口,用于https双向认证 | 验证微信支付应答和回调签名、加密请求参数中的敏感字段(姓名、证件号等) | 验证微信支付应答和回调签名、加密请求参数中的敏感字段(姓名、证件号等) | ||
文件/数据格式 | apiclient_cert.pem(证书)+ apiclient_key.pem(私钥)+ apiclient_cert.p12(含私钥的 p12格式证书) | wechatpay_cert.pem(证书,带有效期) | pub_key.pem(公钥,无过期时间) | 32 位字母数字组合字符串 | 32 位字母数字组合字符串 |
有效期 | 5 年(过期前必须更换新证书,不能续期) | 5 年(过期前必须更换新证书,不能续期,且商户的系统需要实现平台证书平滑更换) | 无过期时间 | 无过期时间 | 无过期时间 |
生成方 | 商户用证书工具在本地电脑生成 | 微信支付平台生成 | 微信支付平台生成 | 商户在商户平台自行设置 | 商户在商户平台自行设置 |
获取方式和路径 | 商户使用平台证书工具获取,或调用/v3/certificates接口获取 | ||||
是否可重新下载或找回 | 否(一旦丢失,无法找回,只能重新申请) | 是(商户用平台证书工具下载,或调用/v3/certificates接口下载) | 是(商户登录商户平台 → 账户中心→ API 安全 → 微信支付公钥 → 申请公钥→ 重新下载) | 否(一旦丢失,只可重设,设置时务必先记录下来) | 否(一旦丢失,只可重设,设置时务必先记录下来) |
数量限制 | 最多 3 份同时生效 | 初始只有1 份;旧证书即将过期前会生成新证书,此时有新旧2份证书 | 1 份 | 1 份 | 1 份 |
详细说明和指引 |
注意事项
1、V2 和 V3 是两套独立体系,同一个商户号,两套体系可并存
V2 :使用APIv2 密钥 + 商户 API 证书
V3 :使用APIv3 密钥 + 商户 API 证书 + 平台证书/微信支付公钥
2、区分 V2 和 V3 接口的方式
接口URL带“v3”的是V3接口,其余是V2接口,例如:
V2 :https://api.mch.weixin.qq.com/pay/unifiedorder
V3 :https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi
3、证书和密钥的更换/重置流程独立,互不影响
更换API证书,不影响平台证书/微信支付公钥,反之亦然
重置APIv3密钥,不影响APIv2密钥,反之亦然
备注:更换/重置证书和密钥必须与技术人员提前沟通确认,避免影响生产环境的业务
4、证书和密钥都是敏感信息,需要妥善保管
超级管理员在商户平台设置“技术负责人”(安全联系人),接收风险提醒
不把证书/密钥上传GitHub,不写进前端代码,怀疑泄露都要立刻作废/重置
