平台证书简介及使用说明

更新时间:2024.11.29

1. 请使用微信支付公钥方式

因为每张平台证书有效期为5年,如果未及时更换会影响业务,建议使用微信支付公钥模式对接,可以按需更新公钥。

如果你是第一次对接微信支付,此前从未使用过平台证书,请参考微信支付公钥指引 完成对接。

如果你此前对接过平台证书,请参考平台证书切换成为微信支付公钥指引 完成对接

 

2. 什么是平台证书?

金融类互联网应用的消息真实性和完整性至关重要。商户系统在收到微信支付的应答或回调通知时,需要验证消息的真实性(确保来自微信支付)和完整性(未被第三方篡改)。 微信支付对 HTTP 关键信息提供数字签名。商户通过使用平台证书公钥验证签名,可以确认收到的消息确实来自微信支付,而非其他恶意方伪造。这样,商户可以安心处理交易请求,避免因信任错误来源而导致的潜在风险。

注意:

平台证书的有效期为5年,即每5年,商户需要更换一次证书,如果你的系统未实现平滑切换,未能及时更换新证书则会导致接口调用异常,若你使用平台证书请务必实现平滑切换。或者你可以将平台证书切换成微信支付公钥模式,微信支付公钥没有物理过期时间,商户可以按照业务需求,按需更换。具体参考如何从平台证书切换成微信支付公钥

3. 什么场景使用平台证书?

3.1 验签场景

场景1: 微信支付应答商户的请求时,商户需要使用平台证书公钥验签。

场景2: 接收微信支付的回调时,商户需要使用平台证书公钥验签。

 (1)请求应答场景

 (2)回调场景

 

 

3.2 敏感字段加解密场景

某些场景商户上送一些敏感信息,例如姓名信息,商户需要使用平台证书公钥加密敏感信息,上送给微信微信支付,确保敏感信息只有微信支付可以解密处理


4. 如何获取平台证书

4.1 首次获取平台证书

第一次获取平台证书需要通过证书工具,请按照以下3个步骤操作

(1)点击这里下载jar包

(2)执行以下命令

1java -jar CertificateDownloader.jar -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}

你会得到平台证书,文件名类似于wechatpay_123456777B4A9CC78902B44B65E04B9751CE12.pem。

参数说明

(3)验证证书有效性

第一次下载证书后,我们强烈建议参考如何通过证书信任链验证平台证书,验证证书的真实性。

4.2 后续获取平台证书

除了首次下载证书需要通过以上方式,后续下载证书请使用微信支付平台证书下载接口

5. 如何更新平台证书

如果你此前对接过平台证书,且来不及在平台证书过期前切换成公钥模式,可以平台证书更换操作指引先完成更新,然后再参考如何将平台证书切换到微信支付公钥 完成对接