签名

更新时间:2023.04.28

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

# 请求签名

商户需要使用自身的私钥对API URL、消息体等关键数据的组合进行SHA-256 with RSA签名。请求的签名信息通过HTTP头Authorization 传递,具体说明请见 签名生成指南。没有携带签名或者签名验证不通过的请求,都不会被执行,并返回401 Unauthorized

# 应答签名

对于签名验证成功的请求,微信支付API v3会使用微信支付的平台私钥对应答进行签名。签名的信息包含在HTTP头部中,具体说明请见 签名验证指南

注意

  • 请使用微信支付的公钥进行验签,它包含在微信支付平台证书中。
  • 请对携带了签名的应答进行验签。
  • 没有携带签名的成功应答(HTTP状态码为2xx),应认为是伪造或被篡改的应答。

# 回调通知签名

当调用商户的接口时,微信支付会使用微信支付的平台私钥对回调请求进行签名。签名的方法同应答签名的方式一致,商户必须 使用微信支付公钥验证回调的签名。

通知必须验证微信支付签名,避免被恶意攻击。

更多技术问题
技术咨询
反馈
咨询
目录