微信native支付接入

45 阅读1分钟

微信商户平台:

image.png

图上几个证书和秘钥的理解:

  1. 商户API证书的压缩包中包含了签名必需的私钥和商户证书。 使用商户(商户就是开发者)私钥对参数进行签名。微信接收到参数后,使用商户公钥对签名进行验证。公钥是可以提供给对方的。
  2. 同样,微信在API应答的http头部,也提供了参数签名,微信使用微信平台证书私钥签名,商户(开发者)也需要对签名进行验证。商户使用微信平台证书公钥进行验证签名。
  3. 商户向微信发送请求参数加密,需要使用微信平台证书公钥加密,微信接收到请求后使用微信平台证书私钥解密,永远记住,只有公钥能够提供给对方。
  4. 同理,当微信应答商户请求时,使用商户API证书中的公钥加密,商户接收返回结果时,使用商户API证书中的私钥进行解密。
  5. API v3密钥,为了保证安全性,微信支付在 回调通知平台证书下载接口中,对关键信息进行了AES-256-GCM加密。API v3密钥是加密时使用的对称密钥。也就是说,例如商户接收到微信回调通知,使用API v3密钥进行解密。