认证

微信支付 API v3 只接受已经开通微信支付账号的商户请求, 并使用数字签名对接口的调用方进行认证。

数字签名是通过数学算法或者某种方式运算得到的电子签章, 可以确定请求的完整性和真实性。我们使用 SHA-256 with RSA 作为数字签名的算法。

同样的, 微信支付 API v3 也会对应答进行签名, 商户可以通过签名确定应答是来自微信支付的。

商户的技术人员, 请按照以下的顺序了解微信支付 API v3 的认证机制。

  • 了解什么是商户 API 证书, 并获取商户证书和私钥
  • 设置 API v3 密钥
  • 参照签名生成, 使用商户私钥实现对请求的签名
  • 通过 API 下载微信支付平台证书, 并使用 API v3 密钥解密证书
  • 参照签名验证, 使用平台公钥实现对应答签名的验证

我们建议商户基于微信支付官方提供的 SDK 来开发应用。SDK 为商户的技术人员封装了请求的签名和应答的验签, 简化了商户系统的开发工作。


私钥和证书

介绍商户 API 私钥、证书和微信支付平台证书的获取和使用方式

API v3密钥

为了保证安全性, 微信支付在回调通知平台证书下载接口中, 对关键信息进行了 AES-256-GCM 加密。API v3 密钥是加密时使用的对称密钥。

签名

微信支付 API v3 通过验证签名来保证请求的真实性和数据的完整性。


最后修改 April 12, 2020: 整理文档 (f36b91e)