📄 正文
本页是企业卡开放接口的错误码全集:通用 11 个、业务 52 个。本页只作速查——每个码的触发条件与请求细节见「出现于」一列所指的指南页。 三条判定规则:- 按错误码分支,不要解析
message:message是给人看的,措辞会调整;错误码才是契约。 - 不要用 HTTP 状态判断成败:业务失败当前统一返回 HTTP 500,唯一可靠判据是
code == "SYS_SUCCESS"。 SYS_ERROR与DAPI_SERVICE_UNAVAILABLE属结果未知:动账类接口(划拨、申卡等)须按原幂等键重试或查询对账,不可直接判失败。遇到本页未列出的错误码,按「本次失败」处理即可,不要当作成功。
批量接口(规则绑定 / 解绑)的错误分两层:整批级错误在顶层
code;逐条级失败原因在 data.failTargets[].errorCode,与顶层共用同一套码表。详见 绑定与解绑。通用错误码
与具体接口无关、任何接口都可能返回。响应体同为标准信封{ code, message, data }。
响应信封
| 错误码 | HTTP | 说明 |
|---|---|---|
SYS_SUCCESS | 200 | 成功 |
SYS_ERROR | 500 | 系统错误(结果未知,动账类按原幂等键重试) |
鉴权与网关校验
| 错误码 | HTTP | 说明 |
|---|---|---|
DAPI_API_KEY_EMPTY | 401 | API Key 缺失或无效 |
DAPI_TIMESTAMP_EXPIRED | 401 | 时间戳超窗 |
DAPI_NONCE_ILLEGAL | 401 | nonce 非法 |
DAPI_NONCE_DUPLICATE | 401 | nonce 重复 |
DAPI_SIGNATURE_ERROR | 401 | 验签失败 |
DAPI_IP_NOT_ALLOWED | 401 | IP 不在白名单 |
DAPI_PERMISSION_DENIED | 401 | 无权访问 |
DAPI_PARAM_INVALID | 400 | 参数错误(含「五个控制组一个都没配」等结构性缺参) |
DAPI_SERVICE_UNAVAILABLE | 500 | 下游不可用(结果未知,同 SYS_ERROR 处理) |
业务错误码
| 错误码 | 说明 | 出现于 |
|---|---|---|
APPLY_DUPLICATE | 申请重复(幂等键已存在) | 公司申请、员工申请、申卡、虚转实 |
APPLY_REJECTED_USE_RESUBMIT | 申请已被拒,改用重新提交接口 | 公司申请、员工申请 |
COMPANY_REGISTRATION_DUPLICATE | 公司注册号重复 | 公司申请 |
CURRENCY_NOT_ALLOWED | 币种不在允许列表 | 公司申请、开通 VA |
EMAIL_DUPLICATE | 邮箱重复 | 公司申请、员工申请 |
APPLY_NOT_FOUND | 申请不存在 | 申请查询与重提(公司、员工)、卡申请查询 |
STATUS_CONFLICT | 状态冲突 | 重新提交、限制状态变更(公司、员工) |
COMPANY_INVALID | 公司不存在 / 非 ACTIVE / 不属本入驻方 | 公司与其下资源的多数接口 |
COUNTRY_SANCTIONED | 国家受制裁 | 员工申请、员工地址更新、虚转实 |
PHONE_DUPLICATE | 手机号重复 | 员工申请 |
CUSTOMER_INVALID | 员工不存在 / 非 ACTIVE / 不属所传公司 | 员工查询、四类信息更新、限制状态 |
KYC_IN_REVIEW | KYC 审核中,暂不可更新 | 员工信息更新 |
CARD_LIMIT_EXCEEDED | 超开卡上限 | 申卡 |
CARD_PROFILE_INVALID | 卡型不可用 | 申卡 |
CARD_RULE_REQUIRED | 规则必填(该卡型要求带限额规则) | 申卡 |
CARD_RULE_INVALID | 规则不存在、不属本公司、或非 ACTIVE(三者统一一码,避免探测他公司规则) | 申卡 |
CARD_RULE_DUPLICATE | 该主体已绑定同一规则 | 申卡、规则绑定 |
CARD_RULE_CURRENCY_NOT_MATCH | 规则币种与卡可核销币种无交集 | 申卡、规则绑定 |
CARD_RULE_LIMIT_EXCEEDED | 该主体已绑规则数超上限(5 条) | 申卡、规则绑定 |
SUBJECT_INVALID | 主体不存在、非 ACTIVE、或不属所传公司 | 资金与限额域的主体校验(含批量接口的逐条级) |
CARD_INVALID | 卡无效 | 卡域多数接口 |
CARD_NOT_DEDICATED | 非独立余额卡 | 开通 VA |
PCI_NOT_CERTIFIED | 无卡敏感信息权限 | 获取卡敏感信息 |
CARD_CONVERT_IN_PROGRESS | 虚转实在途 | 虚转实 |
CARD_NOT_VIRTUAL | 非虚拟卡 | 虚转实 |
LIMIT_PHYSICAL_EXCEEDED | 超实体卡上限 | 虚转实 |
SHIPPING_ADDRESS_REQUIRED | 缺寄送地址 | 虚转实 |
SHIPPING_CONTACT_REQUIRED | 缺寄送联系手机号 | 虚转实 |
SHIPPING_ADDRESS_INVALID | 收件地址无效或不允许该卡使用(仅批量邮寄) | 虚转实 |
CARD_NOT_SHIPPED | 卡未寄出 | 实体卡激活 |
CARD_NOT_ACTIVATED | 卡未激活 | 设置 PIN |
CARD_STATE_INVALID | 卡状态不允许该操作 | 卡域与资金域多数接口 |
PIN_DECRYPT_FAILED | PIN 密文解密失败 | 设置 PIN |
PIN_RULE_VIOLATION | PIN 不合规 | 设置 PIN |
PIN_VERIFY_FAILED | 核身要素不符 | 设置 PIN |
CURRENCY_MISMATCH | 划拨双方币种不一致 | 资金划拨 |
INSUFFICIENT_FUNDS | 余额不足 | 资金划拨 |
SUBJECT_RESTRICTED | 主体受限(冻结 / 受限状态) | 资金划拨 |
TRANSFER_DUPLICATE | 划拨重复(幂等键已存在) | 资金划拨 |
TRANSFER_NOT_FOUND | 划拨不存在 | 划拨查询 |
BALANCE_ALERT_CURRENCY_NO_POOL | 该币种未开资金池 | 余额告警设置 |
VA_ALREADY_ACTIVE | 该主体该币种的 VA 已开通 | 开通 VA |
VA_REQUEST_PENDING | 该主体已有在途 VA 请求未终结 | 开通 VA、更新 VA 资料 |
VA_PROFILE_NOT_FOUND | 公司未提交 VA 资料(自定义收款户名模式才需要) | 开通 VA、更新 VA 资料 |
VA_PROFILE_NOT_CHANGED | 提交内容与现有资料一致,未产生新版本 | 更新 VA 资料 |
VA_NOT_FOUND | VA 不存在、不属该公司或非 ACTIVE | 更新 VA、查 VA 状态 |
VA_NOT_NAMED | 该 VA 用平台默认收款户名,无自定义户名可更新 | 更新 VA 资料 |
VELOCITY_CURRENCY_INVALID | 金额限额组的币种不合法或重复 | 创建 / 更新限额规则 |
VELOCITY_LIMIT_VALUE_INVALID | 限额值不合法(负数、格式错、精度超限,或长周期小于短周期) | 创建 / 更新限额规则 |
VELOCITY_LIST_CONTROL_INVALID | 名单控制组不合法(filterType 非法、清单为空、清单元素格式错) | 创建 / 更新限额规则 |
VELOCITY_BATCH_SIZE_EXCEEDED | 单次批量超 200 条 | 规则绑定 / 解绑 |
VELOCITY_LAST_PROTECTING_RULE | 公司资金池卡的最后一条生效规则,不可解绑(逐条级) | 规则解绑 |
VELOCITY_RULE_CONTENT_EMPTY | 控制组一个都没配 | 创建 / 更新规则 |
VELOCITY_RULE_INACTIVE | 规则非 ACTIVE,不可绑定(逐条级) | 规则绑定 |
VELOCITY_LIST_CONTROL_EMPTY | 名单控制组的清单为空 | 创建 / 更新规则 |
VELOCITY_TARGET_TYPE_INVALID | 主体类型不合法 | 规则绑定 / 解绑 |
CARD_ALREADY_ACTIVATED | 该实体卡已激活过 | 托管页建链 |
CARD_CUSTODIAN_INVALID | 托管人缺失或不可用 | 申卡、托管页建链 |
VELOCITY_RULE_NOT_FOUND | 规则不存在,或不属所传公司 / 本入驻方 | 规则查询、更新、状态变更、绑定、解绑、已绑主体查询 |
VELOCITY_RULE_STATUS_INVALID | 规则状态不允许该操作 | 规则更新、状态变更、绑定 |
VELOCITY_RULE_VERSION_CONFLICT | ruleVersion 与服务端不一致(并发修改),重新查询后重试 | 规则更新、状态变更 |
CARD_3DS_CHALLENGE_NOT_FOUND | 挑战不存在 | 3DS 挑战确认 |

