本节首先会讲解商户证书、私钥、微信平台证书的获取、APIv3密钥的生成。然后将我们微信支付需要的参数配置信息初始化出来,为后面的业务代码使用。结合微信平台证书下载案例和微信统一下单api来讲解请求和响应都做了什么操作。上一节中我们提到的那些证书又是如何应用在接口中的。最后再讲一下如何做内外网穿透。
为确保 API 请求过程中的安全性,客户端需要使用微信支付平台证书来验证服务器响应的真实性和完整性。微信平台证书需要我们下载来使用,主要应用场景是商户用来验证签名、微信侧来解密数据使用。服务端的sdk已经为我们提供了下载证书的api。打开服务端sdk的源码地址:https://github.com/wechatpay-apiv3/wechatpay-java,我们可以通过手动或自动下载证书的方式来获取微信平台证书,如果我们使用的自动下载证书 从 v0.2.3 版本开始,sdk中引入了一个名为 RSAAutoCertificateConfig 的配置类,用于自动更新平台证书。
RSAAutoCertificateConfig
会利用 AutoCertificateService
自动下载微信支付平台证书。 AutoCertificateService
将启动一个后台线程,定期(目前为每60分钟)更新证书,以实现证书过期时的平滑切换。在每次构建 RSAAutoCertificateConfig
时,SDK 首先会使用传入的商户参数下载一次微信支付平台证书。 如果下载成功,SDK 会将商户参数注册或更新至 AutoCertifi