微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)

微信支付服务商平台于2018年7月份悄然在【账户中心】的【API安全】中增加了一个“API 证书(权威CA颁发)”版块,由于和原来的“API证书”版块命名相似,着实让很多服务商懵了一下,不知道这是干啥用的,难道是比原来的API证书更安全的证书,用来替换原来的证书的?

从表面看来好像确实是这样:①版块命名和原来的名字一样,还多加了听起来更高大上的“权威CA颁发”;②版块说明中指出“为保障更高的安全级别,微信支付为商户提供权威CA颁发的API证书,以代替原先微信支付平台颁发的API证书及商户API密钥”。
 

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第1张图片

关于这个证书的说明就这有版块下面的几行字。设置APIv3密钥这个很简单,自己操作就好了。如何申请新的证书请自行参阅腾讯官方提供的pdf文档  《证书及其序列号获取方法说明 》 中的1.1.3.3 及 1.1.3.4 章节。原来的API证书中包括2部分:①证书文件;②API密钥。在API接口中的作用是,通过API密钥与参数进行拼接,然后进行MD5(或HMAC_SHA256)加密得到sign,然后将sign和证书文件(部分接口需要,如退款接口)一起与其他参数发送到微信支付服务器,微信支付服务器校验通过后进行交易处理,并返回处理结果。

通过PDF文档中关于新的证书的申请说明,我们发现新的API证书(权威CA颁发)也有对应的①证书文件,只不过是这个证书文件生成后是保存到你自己的电脑上的,而不是像原来的证书那样可以登录服务商平台自行下载,所以需要妥善保存。新的证书的APIv3密钥对应的就是原API证书中的②API密钥。至此我们惊奇的发现,新的API证书(权威CA颁发)确实可以替代原来的API证书哦。

不过新API证书(权威CA颁发)的作用不仅仅在于替代原来的API证书,更大打作用在于对原来的证书进行功能补充。现在,可以通过新的API证书(权威CA颁发)获取敏感信息加密公钥,然后对微信支付API接口中的部分敏感信息(如姓名、证件信息、银行卡号、联系方式等)进行RSA加密(填充方案使用“RSAES-PKCS1-v1_5”),加密后的敏感信息再和其他参数一起,与API密钥拼接进行HMAC_SHA256(或MD5)加密得到sign,然后将sign和证书文件(部分接口需要,如退款接口)一起与其他参数发送到微信支付服务器,微信支付服务器校验通过后进行交易处理,并返回处理结果。

在现阶段,原来的API证书和新的API证书(权威CA颁发)是可以并存使用的。
 

生成API安全证书的方法:

*************************************************************************************************************************************************

1)获取证书工具

证书工具用于: 生成证书请求串、导出商户的成功申请的证书文件及对应的私钥文件。

工具下载地址:https://wx.gtimg.com/mch/files/WXCertUtil-1.0.zip

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第2张图片

2)获取商户证书私钥

a.登录微信支付商户平台,点击”账户中心”->“API 安全”

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第3张图片

b.在微信支付商户平台点击“申请证书”, 将看到如下页面对话框, 将公司名称复制粘贴到”证书工具”中

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第4张图片

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第5张图片

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第6张图片

c.将证书工具中的证书请求串复制到微信支付商户平台对话框中。

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第7张图片

d.在以上对话框中, 输入短信验证码和操作密码或者登陆密码, 点击确认后, 微信支付将生成证书串

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第8张图片

e.商户在微信支付商户平台复制证书串到证书工具, 获取证书对应的私钥文件。(重点注意:获取到的证书文件及私钥文件一定要保存下来

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第9张图片

1.1.3.4. 获取商户证书序列号方法

在 第 2)步(获取商户证书私钥)第 d 的操作中可以获取到商户证书序列号

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第10张图片

如果已经申请了商户证书,可以在微信支付商户平台“账户中心”->”API 安全“->”API 证书(权威 CA 颁发”->”查看证书“查找商户证书序列号。

微信支付商户API 证书的用途及生成API安全证书的方法(仅退款、撤销订单时需要)_第11张图片

 

你可能感兴趣的:(PHP,微信支付,退款)