---
url: "https://pay.weixin.qq.com/doc/v3/merchant/4014551946.md"
title: "商户签名验签／加解密测试"
doc_id: 4014551946
---

>更新时间：2025.05.30

为商户提供签名、验签、加密、解密的测试能力。商户可以选择用平台证书签名，加密，也可以选择微信支付公钥签名，加密。

(1)商户如果使用的是微信支付公钥，请在http请求增加一个Wechatpay-Serial请求头，并传入微信支付公钥ID："Wechatpay-Serial: PUB\_KEY\_ID\_xxxx"

(2)商户如果使用的是平台证书，请在http请求增加一个Wechatpay-Serial请求头，并传入平台证书序列号："Wechatpay-Serial: xxxxxxxx"

但是在一次调用中，不支持平台证书和微信支付混合使用，例如使用微信支付公钥签名，平台证书加密。




## 接口说明

支持商户：【普通商户】

请求方式：【POST】 `/v3/security/echo`

请求域名：【主域名】https://api.mch.weixin.qq.com 使用该域名将访问就近的接入点

　　　　　【备域名】https://api2.mch.weixin.qq.com 使用该域名将访问异地的接入点，指引[点击查看](https://pay.weixin.qq.com/doc/v3/merchant/4012075113.md)

## 请求参数

### Header 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| Authorization | string | true | 请参考 [签名认证](https://pay.weixin.qq.com/doc/v3/merchant/4012365342.md#%E8%AF%B7%E6%B1%82%E6%8E%A5%E5%8F%A3%E5%90%8E%E7%AB%AF%E7%AD%BE%E5%90%8D) 生成认证信息 |
| Accept | string | true | 请设置为 `application/json` |
| Content-Type | string | true | 请设置为 `application/json` |
| Wechatpay-Serial | string | true | 【微信支付公钥ID】或【微信支付平台证书序列号】  请求参数中的敏感字段，需要使用微信支付公钥加密（推荐），请参考 [获取微信支付公钥ID说明](https://pay.weixin.qq.com/doc/v3/merchant/4013038816.md#Q:-%E5%A6%82%E4%BD%95%E8%8E%B7%E5%8F%96%E5%BE%AE%E4%BF%A1%E6%94%AF%E4%BB%98%E5%85%AC%E9%92%A5ID?) 以及 [微信支付公钥加密敏感信息指引](https://pay.weixin.qq.com/doc/v3/merchant/4013053257.md)；也可以使用微信支付平台证书公钥加密，参考 [获取平台证书序列号](https://pay.weixin.qq.com/doc/v3/merchant/4013053294.md)、 [平台证书加密敏感信息指引](https://pay.weixin.qq.com/doc/v3/merchant/4013053264.md) |
### Body 参数
| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| notify_url | string | false | 【商户回调地址】 开发者接收请求成功的回调通知的地址，需按照 [notify\_url填写注意事项](https://pay.weixin.qq.com/doc/v3/merchant/4012075420.md) 规范填写。不传入该参数，则不会发起回调通知。 |
| echo_message | string | true | 【回显信息】 回显信息字段，该字段无需加密。 |
| encrypted_echo_message | string | false | 【平台证书或微信支付公钥加密测试字段】 平台证书或微信支付公钥加密后的字段。平台证书加密请参考 [如何使用平台证书加密敏感字段](https://pay.weixin.qq.com/doc/v3/merchant/4013053264.md)；微信支付公钥加密请参考 [如何使用微信支付公钥加密敏感字段](https://pay.weixin.qq.com/doc/v3/merchant/4013053257.md) |
## 应答参数

200 OK

| 参数名 | 类型 | 必填 | 描述 |
| --- |  --- | --- | --- |
| echo_message | string | true | 【回显信息】 回显信息字段，该字段无需加密。内容与请求消息的echo\_message保持一致。 |
| encrypted_echo_message | string | false | 【商户证书加密回显信息】 回显信息字段，只有请求参数传入了encrypted\_echo\_message才会返回。使用商户证书私钥解密，解密请参考 [如何使用API证书解密敏感字段](https://pay.weixin.qq.com/doc/v3/merchant/4013053265.md)。解密后内容与请求消息的encrypted\_echo\_message一致。 |
## 错误码

以下是本接口返回的错误码列表。详细错误码规则，请参考[微信支付接口规则-错误码和错误提示](https://pay.weixin.qq.com/doc/v3/merchant/4012081709.md#%E9%94%99%E8%AF%AF%E7%A0%81%E5%92%8C%E9%94%99%E8%AF%AF%E6%8F%90%E7%A4%BA)

| 状态码 | 错误码 | 描述 | 解决方案 |
| --- | --- | --- | --- |
| 400 | PARAM\_ERROR | 参数错误 | 请根据错误提示正确传入参数 |
| 400 | INVALID\_REQUEST | HTTP 请求不符合微信支付 APIv3 接口规则 | 请参阅 [接口规则](https://pay.weixin.qq.com/doc/v3/merchant/4012081709.md) |
| 401 | SIGN\_ERROR | 验证不通过 | 请参阅 [签名常见问题](https://pay.weixin.qq.com/doc/v3/merchant/4012072670.md) |
| 500 | SYSTEM\_ERROR | 系统异常，请稍后重试 | 请稍后重试 |

请求示例

- [curl 示例](https://pay.weixin.qq.com/doc/v3/merchant/4014551946-curl.md)
- [Java 示例](https://pay.weixin.qq.com/doc/v3/merchant/4014551946-java.md)
- [Go 示例](https://pay.weixin.qq.com/doc/v3/merchant/4014551946-go.md)


应答示例

> 200 OK

```
{
  "echo_message" : "hello",
  "encrypted_echo_message" : "KYEch8YvVgsfWkl+rZRBkBOxm5k5gh2D4NcOqhCAjbBnb3gqKmZrcNzT7rt0PBL0U8Ix5Pl+BvzbfZobHPtq7+p91fNOy8e/uE1RnGuUj6jl7Ga6RLk3fXvAqAGnvRvCkWqSHnGySGCOze0abIuKOP4b2zZBsXUJT+SRO+Ah9dDabr+quRKDBVqnLUXij1GJlIB0s1+r2oI4pSk7dF7bmGLrjGB6dNyaYjJBs888W8IlMR4wpzoShaCXkhq4o4JwPERY2p1l97NtnzN69ggA9yI4JUdRuzeNc26hKSvPLBds6FKs6BTEu1ZAbj6Vw9QDNvugXNyjKjQwXe4Ddj3E0g=="
}

```
