微信API v3踏坑记录

最近对接微信认证,使用到了wechatpay api v3

相较于之前微信支付API,主要区别是:

  • 遵循统一的Restful的设计风格
  • 使用JSON作为数据交互的格式,不再使用XML
  • 使用基于非对称密钥的SHA256-RSA的数字签名算法,不再使用MD5或HMAC-SHA256
  • 涉及资金回滚的接口,不再要求HTTPS客户端证书
  • 使用AES-256-GCM,对回调中的关键信息进行加密保护
坑1.请求报400
  • 解决办法:仔细看微信的文档,即使是业务错误也会返回400:bad request
    使用restTemplate发起的请求,捕获RestClientResponseException打印responseBody即可看到具体错误原因
坑2.提示缺少平台证书序列号
  • 这个提示让我一直在找head里的Authorization里面的serial_no,实际是不对的,因为设计敏感字段加密,所以需要在head里面设置Wechatpay-Serial
  • 关于Wechatpay-Serial:声明加密使用的平台证书
    某些情况下,微信支付会更新平台证书。这时,商户有多个微信支付平台证书可以用于加密。为了保证解密顺利,商户发起请求的HTTP头部中应包括证书序列号,以声明加密所用的密钥对和证书。
    商户上送敏感信息时使用微信支付平台公钥加密,证书序列号包含在请求HTTP头部的Wechatpay-Serial

坑3:上传图片

  • 上传图片一直返回失败详情看另外一篇博文
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值