---
url: "https://pay.weixin.qq.com/doc/v3/partner/4020807426.md"
title: "错误码"
doc_id: 4020807426
---

>更新时间：2026.06.12

# 特约商户进件错误码



## 一、错误码速查表（TOP 20）

| 错误码 | 错误信息 |
| --- | --- |
| 269754389 | 未能找到申请单 |
| 269754391 | 父商户不匹配 |
| 269754392 | 申请单类型不匹配 |
| 268435461 | 参数非法 |
| 269546505 | 商户证书已过期 |
| 269754382 | 商户资料有误 |
| 269546538 | 商户号不存在 |
| 269546507 | 商户证书序列号有误 |
| 269754390 | GetApplymentState 参数为空 |
| 270924332 | 认证信息解析失败 |
| 269546525 | 错误的签名，导致验签失败 |
| 270924360 | 签名信息错误，验签失败 |
| 270924345 | content-type 不正确 |
| 269754393 | 无权限 |
| 268435463 | 参数过短 |
| 268435483 | 数据不存在 |
| 269754560 | 待解密密文长度小于等于 256 字节 |
| 268566836 | 插件验签时证书状态不可用 |
| 270924346 | 签名信息非法 |
| 270924291 | 头部信息不完整 |

* * *

## 二、错误码详细排查

### 269754389 — 未能找到申请单

排查步骤：

1. 打印请求 URL，确认路径中的 `applyment_id` / `business_code` 与本地存储一致

2. `applyment_id` 是 integer，不要序列化成字符串； `business_code` ≤ 124 字符（系统区分大小写）

3. 区分两种查询接口路径：

   - `/v3/applyment4sub/applyment/applyment_id/{applyment_id}`

   - `/v3/applyment4sub/applyment/business_code/{business_code}`
4. 跨服务商不允许查询，需用提交申请单时的服务商证书查询

5. 提交后立即查询可能存在秒级延迟，等 1-2 秒后重试


* * *

### 269754391 — 父商户不匹配

排查步骤：

1. 检查请求头 `Authorization` 中签名使用的 `mchid` 是否是真正归属该申请单的 SP 商户号

2. 翻提交申请单时的请求日志，找到当时使用的 `mchid` 与当前调用方对照

3. 多 SP 商户号场景，业务侧做好「申请单 → 提交 SP 商户号」映射

4. 不允许跨服务商访问


* * *

### 269754392 — 申请单类型不匹配

排查步骤：

1. 确认申请单提交时使用的接口路径（ `/v3/applyment4sub/` 还是 `/v3/ecommerce/applyments/`）

2. 调用查询接口时使用对应的 v3 路径，特约商户进件单与电商二级商户进件单互不通用

3. 业务侧本地数据库存申请单时带上类型字段（如 `applyment_type=NORMAL/ECOMMERCE`）


* * *

### 268435461 — 参数非法

排查步骤：

1. 看响应体 `message` 与 `detail.field` 定位具体错误字段

2. 必填字段不能漏： `business_code`、 `contact_info`、 `subject_info`、 `bank_account_info` 等

3. 主体相关枚举：

   - `subject_info.subject_type` 必须是 `SUBJECT_TYPE_INDIVIDUAL` / `ENTERPRISE` / `GOVERNMENT` / `INSTITUTIONS` / `OTHERS`

   - `contact_type` 必须是 `LEGAL` 或 `SUPER`
4. 检查敏感字段是否加密（姓名、身份证号、手机号、邮箱、银行账号等必须用微信支付公钥加密）

5. 加密算法： `RSA/ECB/OAEPWithSHA-1AndMGF1Padding`

6. `Wechatpay-Serial` 头必须与加密所用公钥匹配

7. 图片 `MediaID` 必须是 `/v3/merchant/media/upload` 返回的 ID

8. 不同主体类型必填字段不同，参照官方文档对照

9. 本接口不支持进件个人小微商户


* * *

### 269546505 — 商户证书已过期

排查步骤：

1. 登录服务商商户平台 → 账户中心 → API 安全 → API 证书，查看到期时间

2. 重新申请并下载新证书，更新到所有服务节点

3. 建议在证书过期前 30 天监控告警

4. 长期方案可迁移到微信支付公钥体系


* * *

### 269754382 — 商户资料有误

排查步骤：

1. 看响应体 `detail.field` 与 `detail.value` 定位具体字段

2. 让用户用最新的、未过期的、清晰的证件原件重新拍照上传

3. 字段值与照片要严格一致（注意全角半角、繁简字、地址完整度）

4. 营业执照建议直接拍执照原件，不要扫描复印件

5. 该错误也用于审核驳回——驳回单的 `audit_detail.reject_reason` 会说明具体哪一项有误，按 reject\_reason 修改后用相同 `business_code` 重提

6. 引导用户重新核对 \+ 重传，不要直接报「系统错误」


* * *

### 269546538 — 商户号不存在

排查步骤：

1. 仔细核对服务商商户号（10 位纯数字），前后不能有空格

2. 业务侧入参做正则校验： `^[0-9]{10}$`

3. 区分服务商商户号（签名所用 `sp_mchid`）与 `sub_mchid`（特约商户号）

4. 检查请求头 `Authorization` 中签名使用的 `mchid` 与代码中传递的 `mchid` 是否一致


* * *

### 269546507 — 商户证书序列号有误

排查步骤：

1. 用 OpenSSL 提取证书序列号确认： `openssl x509 -in apiclient_cert.pem -noout -serial`

2. 把输出中 `serial=` 后面的部分（去掉冒号、不要 `0x` 前缀）填到 `Authorization.serial_no`

3. 登录商户平台对照「API 证书」页查到的序列号

4. `serial_no` 是商户 API 证书序列号，不是平台证书序列号

5. 推荐使用官方 SDK 自动管理证书序列号


* * *

### 269754390 — GetApplymentState 参数为空

排查步骤：

1. 打印实际请求的 URL，检查 path 段是否完整

2. 标准 URL 模板： `/v3/applyment4sub/applyment/applyment_id/2000002124775691` 或 `/v3/applyment4sub/applyment/business_code/xxx`

3. `applyment_id` 是 integer，不要做 0 / "" 等错误判断

4. 业务侧封装查询方法时强制非空参数校验


* * *

### 270924332 — 认证信息解析失败

排查步骤：

1. 打印完整 `Authorization` 头，逐字段检查

2. `timestamp` 必须 10 位整数秒，且与服务端时间差不超过 ±5 分钟

3. `nonce_str` 建议 \[A-Za-z0-9\] 随机串，32 位以内

4. `signature` 是 RSA 签名结果的标准 Base64 编码（不是 URL-Safe，不能有换行）

5. 字段间用英文逗号分隔，字段值用英文双引号包裹

6. 建议使用官方 SDK 自动生成 Authorization


* * *

### 269546525 — 错误的签名，导致验签失败

排查步骤：

1. 完整打印「签名前的待签名串」与「实际请求 body」

2. 签名串拼接： `HTTP方法\nURL路径(含 query)\n时间戳\n随机串\n请求体\n`（GET 请求 body 为空字符串，末尾仍要 `\n`）

3. 核对 `apiclient_key.pem` 是当前 SP 商户号对应的私钥

4. 检查 HTTP 客户端是否做了 body 压缩、字段重排

5. 中间链路（如 Nginx / API 网关）禁止改写 body

6. 建议使用官方 SDK


* * *

### 270924360 — 签名信息错误，验签失败

排查步骤：

1. 与 269546525 排查步骤类似

2. 签名算法必须是 SHA256withRSA（不是 SHA1withRSA / MD5）

3. Base64 编码用标准 Base64（非 URL-Safe）

4. 切换备域名 `api2.mch.weixin.qq.com` 排除链路问题

5. 建议使用官方 SDK


* * *

### 270924345 — content-type 不正确

排查步骤：

1. 打印实际请求头， `Content-Type` 必须严格等于 `application/json`

2. 可附加 charset： `application/json; charset=utf-8`

3. 文件上传接口例外（ `multipart/form-data`），不要套到所有接口

4. HTTP 客户端封装时在 baseClient 层固定设置


* * *

### 269754393 — 无权限

排查步骤：

1. 登录商户平台 → 产品中心 → 我的产品，搜索「服务商-特约商户进件 API」，状态应为「已开通」

2. 银行、支付机构、电商平台、从业机构主体不可用本接口（用对应专属接入流程）

3. 检查商户号是否被风控冻结


* * *

### 268435463 — 参数过短

排查步骤：

1. 看响应体 `detail.field` 定位过短字段

2. 字段值前后先 trim 再校验长度，空格不算字符

3. 加密字段加密前长度满足要求即可（加密后密文长度不算字段长度）

4. 业务侧本地 schema 校验每个字段的 `minLength` / `maxLength`


* * *

### 268435483 — 数据不存在

排查步骤：

1. 看响应体 `detail.field` 定位

2. 检查 `media_id`：必须由当前 SP 商户号上传（不能跨服务商共用），且不超过 30 天有效期

3. 银行字段必须取自微信支付官方银行列表接口

4. 上传 media\_id 后及时使用，不要长期缓存


* * *

### 269754560 — 待解密密文长度小于等于 256 字节

排查步骤：

1. 看响应体 `detail.field` 定位

2. 字段必须经过 RSA 加密，加密后 base64 字符长度约 344 个字符

3. 加密算法必须是 `RSA/ECB/OAEPWithSHA-1AndMGF1Padding`

4. 公钥必须是「获取平台证书」接口返回的平台证书公钥或微信支付公钥（2048 位）

5. 请求头 `Wechatpay-Serial` 必须填写加密所用的公钥序列号 / 公钥 ID

6. 建议使用官方 SDK 的内置加密器


* * *

### 268566836 — 插件验签时证书状态不可用

排查步骤：

1. 登录商户平台 → 账户中心 → API 安全 → API 证书 查看证书状态

2. 「重置 API 安全」会作废所有历史证书——重置后必须重新下载新证书

3. 新申请证书后等待 5-10 分钟生效再使用

4. 商户冻结需联系微信支付客服处理


* * *

### 270924346 — 签名信息非法

排查步骤：

1. `Authorization` 头必须以 `WECHATPAY2-SHA256-RSA2048 ` 开头（注意空格）

2. 必须包含五个字段： `mchid` / `nonce_str` / `signature` / `timestamp` / `serial_no`

3. 字段间用英文逗号分隔，字段值用英文双引号包裹

4. `signature` 必须是标准 Base64 编码（非 URL-Safe）

5. `serial_no` 是当前商户 API 证书的序列号（不是平台证书）

6. 建议使用官方 SDK 自动生成 Authorization


* * *

### 270924291 — 头部信息不完整

排查步骤：

1. 打印实际发送的所有请求头检查

2. 必填请求头： `Authorization` / `Accept` / `User-Agent`，POST 还需 `Content-Type`

3. 含敏感字段的接口必填 `Wechatpay-Serial` 头

4. 多层代理 / 网关可能删除部分头，做链路抓包定位