---
url: "https://pay.weixin.qq.com/doc/brand/4015433973.md"
title: "微信支付公钥说明"
doc_id: 4015433973
---

>更新时间：2025.08.14

## 作用

品牌商户会在以下两种场景中使用微信支付公钥：

1、接收到品牌API接口的返回内容，需要使用微信支付公钥进行[验签](https://pay.weixin.qq.com/doc/brand/4015407582.md)；

2、调用某些含有敏感信息参数(如姓名、身份证号码)的接口时，需要使用微信支付公钥[加密](https://pay.weixin.qq.com/doc/brand/4015407587.md)后再传输参数。

为了确保品牌商户发起调用正确性、安全性，因此品牌API要求在请求中携带品牌商户申请的微信支付公钥ID用以验证其有效性。

## 公钥 ID

提供给品牌商户的公钥 ID 由前缀 `PUB_KEY_ID_` 和原始公钥 ID 组成。其中，原始公钥ID为 32 个数字（0-9）字符组成的字符串。

## 发起请求

`Wechatpay-Serial` ，必填。

品牌商户通过在 HTTP 头中声明 `Wechatpay-Serial`，告知微信支付当前持有的公钥 ID。微信支付将根据此值使用相应的私钥为应答签名，以确保品牌商户能够进行验签。

请求 HTTP 头示例如下：

```
Authorization: WECHATPAY-BRAND-SHA256-RSA2048 brand_id="1900009191",nonce_str="593BEC0C930BF1AFEB40B4A08C8FB242",signature="...",timestamp="1554208460",serial_no="1DDE55AD98ED71D6EDD4A4A16996DE7B47773A8C"
Wechatpay-Serial: PUB_KEY_ID_00000000000000000000000000000000
```

当品牌商户传递 `Wechatpay-Serial` 时，微信支付会验证其是否正确。当它错误时，微信支付应返回 `400 Bad Request` 的状态码， `code` 为 `INVALID_REQUEST`。

## 接收应答和回调

`Wechatpay-Serial` ，必填。

应答和回调中，微信支付使用 `Wechatpay-Serial` 告知品牌商户系统验证签名使用的公钥 ID。

微信支付使用公钥对应的私钥签名，应答或回调的 HTTP 头示例如下：

```
Request-ID: e2762b10-b6b9-5108-a42c-16fe2422fc8a
Wechatpay-Nonce: c5ac7061fccab6bf3e254dcf98995b8c
Wechatpay-Signature: CtcbzwtQjN8rnOXItEBJ5aQFSnIXESeV28Pr2YEmf9wsDQ8Nx25ytW6FXBCAFdrr0mgqngX3AD9gNzjnNHzSGTPBSsaEkIfhPF4b8YRRTpny88tNLyprXA0GU5ID3DkZHpjFkX1hAp/D0fva2GKjGRLtvYbtUk/OLYqFuzbjt3yOBzJSKQqJsvbXILffgAmX4pKql+Ln+6UPvSCeKwznvtPaEx+9nMBmKu7Wpbqm/+2ksc0XwjD+xlvlECkCxfD/OJ4gN3IurE0fpjxIkvHDiinQmk51BI7zQD8k1znU7r/spPqB+vZjc5ep6DC5wZUpFu5vJ8MoNKjCu8wnzyCFdA==
Wechatpay-Timestamp: 1554209980
Wechatpay-Serial: PUB_KEY_ID_00000000000000000000000000000000
```