> ## Documentation Index
> Fetch the complete documentation index at: https://waffo.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 错误代码快速参考

> Waffo API 错误代码及类别说明的完整列表。

## 错误代码格式

错误代码由字母前缀 + 数字组成：

| 前缀         | 类别     | HTTP 状态码 |
| ---------- | ------ | -------- |
| **0**      | 成功     | 200      |
| **A**xxxxx | 商户相关错误 | 400-401  |
| **B**xxxxx | 用户相关错误 | 400      |
| **C**xxxxx | 系统相关错误 | 500-503  |
| **D**xxxxx | 风控拒绝   | 406      |
| **E**xxxxx | 未知错误   | 500      |

<Warning>
  **类别 E 错误（未知错误）**：由 Waffo 内部系统或第三方系统中的未知状态导致。商户必须持续查询交易状态，直到返回最终的成功/失败结果。
</Warning>

## 完整错误代码列表

### 成功

| 错误代码 | 描述 | HTTP |
| ---- | -- | ---- |
| 0    | 成功 | 200  |

### A - 商户相关错误

| 错误代码  | 描述                                                                                                | HTTP |
| ----- | ------------------------------------------------------------------------------------------------- | ---- |
| A0001 | API 密钥无效                                                                                          | 401  |
| A0002 | 签名无效                                                                                              | 401  |
| A0003 | 参数校验失败                                                                                            | 400  |
| A0004 | 无权限                                                                                               | 401  |
| A0005 | 超出商户限额                                                                                            | 400  |
| A0006 | 商户状态异常                                                                                            | 400  |
| A0007 | 不支持的交易币种                                                                                          | 400  |
| A0008 | 超出交易限额 / 支付金额必须在允许范围内                                                                             | 400  |
| A0009 | 订单不存在                                                                                             | 400  |
| A0010 | 商户合同不允许此操作                                                                                        | 400  |
| A0011 | 幂等参数不匹配错误                                                                                         | 400  |
| A0012 | 商户账户余额不足                                                                                          | 400  |
| A0013 | 支付已成功；订单不可取消                                                                                      | 400  |
| A0014 | 受退款规则限制，不允许退款                                                                                     | 400  |
| A0015 | 不支持的支付渠道；订单不可取消                                                                                   | 400  |
| A0016 | 支付渠道拒绝；订单不可取消                                                                                     | 400  |
| A0017 | 不支持的支付渠道；订单不可退款                                                                                   | 400  |
| A0018 | 用户无可用支付方式                                                                                         | 400  |
| A0019 | 因拒付争议，不允许退款                                                                                       | 400  |
| A0020 | 支付金额超过交易限额                                                                                        | 400  |
| A0021 | 累计支付金额超过日交易限额                                                                                     | 400  |
| A0022 | 检测到多个产品；商户必须指定产品名称                                                                                | 400  |
| A0023 | Token 已过期；无法创建订单                                                                                  | 400  |
| A0024 | 汇率已过期；订单无法处理                                                                                      | 400  |
| A0025 | 周期数必须大于 1                                                                                         | 400  |
| A0026 | 商户指定的收银台页面语言不受支持                                                                                  | 400  |
| A0027 | 退款次数已超过最大值 50                                                                                     | 400  |
| A0028 | 订阅仍在处理中或已失败，管理 URL 不可用                                                                            | 400  |
| A0029 | 商户提供的卡数据无效                                                                                        | 400  |
| A0030 | 无法找到商户提供的卡 BIN                                                                                    | 400  |
| A0031 | 商户提供的卡组织或卡类型不受支持                                                                                  | 400  |
| A0032 | 商户提供的支付 Token 数据无效                                                                                | 400  |
| A0033 | 检测到多个支付方式；商户必须指定支付方式国家                                                                            | 400  |
| A0034 | 商户提供的订单过期时间已过期                                                                                    | 400  |
| A0035 | 当前订单不支持 capture 操作                                                                                | 400  |
| A0036 | 当前订单状态不允许 capture 操作                                                                              | 400  |
| A0037 | 用户支付 Token 无效或已过期                                                                                 | 400  |
| A0039 | 订单已由拒付预警服务退款                                                                                      | 400  |
| A0040 | 订单不能并发创建                                                                                          | 400  |
| A0041 | 拒付不存在                                                                                             | 400  |
| A0042 | 拒付状态已是最终状态                                                                                        | 400  |
| A0043 | 当前状态不允许提交证据                                                                                       | 400  |
| A0044 | 文件不存在                                                                                             | 400  |
| A0045 | MIT 交易无法处理，因为 tokenId 状态未验证                                                                       | 400  |
| A0046 | 访问被拒绝：请求 IP 不在白名单中                                                                                | 401  |
| A0047 | 收银台页面语言格式无效；必须符合 IETF BCP 47：两位 ISO 639-1 语言代码、可选四位 ISO 15924 文字代码，以及可选两位 ISO 3166-1 alpha-2 地区代码 | 400  |

### B - 用户相关错误

| 错误代码  | 描述               | HTTP |
| ----- | ---------------- | ---- |
| B0001 | 用户状态异常           | 400  |
| B0002 | 超出用户限额           | 400  |
| B0003 | 用户余额不足           | 400  |
| B0004 | 用户未在超时时间内完成支付    | 400  |
| B0005 | 用户授权失败           | 400  |
| B0006 | 手机号无效            | 400  |
| B0007 | 邮箱格式无效           | 400  |
| B0008 | Auth code 无效     | 400  |
| B0009 | Auth code 已过期    | 400  |
| B0010 | Auth code 已被使用   | 400  |
| B0011 | Access token 无效  | 400  |
| B0012 | Access token 已过期 | 400  |
| B0013 | Access token 不存在 | 400  |

### C - 系统相关错误

| 错误代码  | 描述             | HTTP |
| ----- | -------------- | ---- |
| C0001 | 系统错误           | 500  |
| C0002 | 商户合同无效         | 500  |
| C0003 | 订单状态无效；无法进入下一步 | 500  |
| C0004 | 订单信息不匹配错误      | 500  |
| C0005 | 支付渠道拒绝         | 503  |
| C0006 | 支付渠道错误         | 503  |
| C0007 | 支付渠道维护中        | 503  |

### D - 风控拒绝

| 错误代码  | 描述     | HTTP |
| ----- | ------ | ---- |
| D0001 | 风控拒绝   | 406  |
| D0002 | 风控交易限额 | 406  |

### E - 未知错误

| 错误代码  | 描述   | HTTP |
| ----- | ---- | ---- |
| E0001 | 状态未知 | 500  |
