微信v2和v3调用流程对比
2023-03-19 18:44:07 0 举报
带你了解微信V2和V3接口的调用流程
作者其他创作
大纲/内容
获取平台证书
注意:微信返回的平台证书是密文,需要使用商户APIV3密钥进行【平台证书的解密】;另外APIv3密钥还用于【回调报文的解密】。
获取平台证书密文,存入缓存中
商户
支付/查询订单/查询退款/支付回调等
发起请求
将【响应报文】使用商户APIv2密钥、按照Md5等方式生成数字签名与返回报文中的sign比对
响应报文
1、根据商户号从缓存中获取平台证书序列号,放入Header中Wechatpay-Serial;2、如果参数中涉及敏感信息,使用平台证书中的公钥加密。如姓名;3、按照【APIv3统一签名方式】对请求报文进行签名
微信APIv3接口都需要使用商户证书。
将【请求报文】使用商户APIv2密钥,按照Md5等方式生成数字签名放入sign字段
使用商户API证书构建TLS客户端进行【双向认证】
微信服务端
【APIv3统一签名方式】1、构造签名串HTTP请求方法\URL\请求时间戳\请求随机串\请求报文主体\2、使用商户私钥对签名串进行SHA256 with RSA签名,并对签名结果进行Base64编码得到签名值3、组装HTTP Authorization头(1)商户号 mchid(2)商户API证书序列号serial_no,用于声明所使用的证书(3)请求随机串nonce_str(4)时间戳timestamp(4)签名值signature如:WECHATPAY2-SHA256-RSA2048 mchid=\"%s\
退款/企业付款到零钱等接口
返回报文
微信V2接口,不使用商户证书的接口调用逻辑。
微信V2接口,使用商户证书的接口调用逻辑。
1、根据响应头中的Wechatpay-Serial获取当前商户号的平台证书;2、使用平台证书中的公钥对响应报文进行验签;3、如果响应报文中有敏感信息,使用商户私钥解密。
收藏
0 条评论
下一页