深色模式
统一错误码中心
本页说明
讲什么:出入金系统全部银行的错误码、状态码、驳回原因码——按银行维度展开,每个码附含义和处理方式 适合谁:遇到错误码/状态码时快速查含义和处理方式 前置阅读:无,随时查阅 使用方式:Ctrl+F 搜索错误码数字或关键词,或按下方索引跳转 预计阅读:查阅型,按需搜索 负责人:出入金产品团队
快速跳转:
按场景查找:
一、天星 BST(Airstar)
天星能力概述
天星通过 Mandate 授权模型接入,错误码前缀含义:140600=授权申请、140630=富途发起转账、140670=银行发起转账、140870=银行授权回调。
1.1 富途→银行 转账错误码
用户通过 moomoo 发起 BST 出入金时,天星返回的拒绝码。
| 错误码 | 含义 | 说明与处理 | 客服话术 |
|---|---|---|---|
| 140630001 | 转账参数错误 | 请求参数校验失败;检查参数,联系技术排查 | "系统遇到临时问题,请稍后重试;如反复出现请联系客服" |
| 140630002 | 未授权银证 | Mandate 不存在或已取消;引导用户重新授权 | "请在 moomoo App 重新进行银证授权" |
| 140630003 | 超出转账额度 | 单日/累计超限;联系银行调整限额或拆分金额 | "您的转账超出银行限额,请减少金额或联系天星银行调整限额" |
| 140630004 | 单笔超限 | 超过银行单笔上限;拆分为多笔小额转账 | "单笔转账金额超过上限,请拆分为多笔小额转账" |
| 140630005 | 余额不足 | 银行账户余额不够;通知用户充值 | "您的天星银行账户余额不足,请先充值后重试" |
| 140630006 | 金额有误 | 金额为零或负数;引导用户重新输入 | "请检查并重新输入正确的转账金额" |
| 140630007 | 银行账号错误 | 账号格式或位数不对;核对银行账号 | "银行账号信息有误,请核对您的天星银行账号后重试" |
| 140630008 | 姓名不一致 | 证券户名与银行开户名不匹配;核对后必要时重新授权 | "您的证券账户姓名与银行开户名不一致,请核对后重新进行银证授权" |
| 140630009 | 入金被拒 | 银行账户被冻结/限制/关闭;引导联系天星 | "您的银行账户可能存在限制,请联系天星银行客服确认" |
| 140630010 | 出金被拒 | 银行账户不允许出金;引导联系天星 | "您的银行账户暂不支持出金,请联系天星银行客服确认账户状态" |
| 140630099 | 银行系统错误 | 天星内部异常;等待恢复后重试 | "银行系统暂时不可用,请稍后重试" |
高频错误码
140630005(余额不足) 和 140630003(超限) 是最常见的两个。运营收到告警时,先确认用户银行账户余额和限额,大部分由用户自行解决。
1.2 银行→富途 转账错误码
银行主动发起转账指令时,moomoo 侧返回的拒绝码。
| 错误码 | 含义 | 说明与处理 | 客服话术 |
|---|---|---|---|
| 140670001 | 授权已失效 | Mandate 已过期/取消;通知用户重新授权 | "您的银证授权已失效,请在 moomoo App 重新进行授权" |
| 140670002 | 银行卡不存在 | 绑定的银行卡已删除;引导重新绑卡并授权 | "您绑定的银行卡已失效,请重新绑定银行卡并完成授权" |
| 140670003 | 风控限制 | 命中风控规则;升级至风控团队 | "您的账户存在安全限制,我们的风控团队会跟进处理" |
| 140670004 | 账户存在欠款 | 证券账户有欠款需先偿还;通知用户处理 | "您的证券账户存在欠款,请先偿还后再操作" |
| 140670005 | 余额不足 | 出金金额超过可用余额;通知用户确认 | "您的可用余额不足,请确认账户余额" |
| 140670006 | 不动账户 | 账户长期无交易被标记;联系账户团队激活 | "您的账户因长期未使用被暂停,请联系客服协助激活" |
| 140670007 | 账户不存在 | 证券账户已销户;核实账户状态 | "未找到对应证券账户,请确认您的账户信息" |
| 140670008 | 未完成 NSS 问卷 | 监管合规问卷未填;引导用户完成 | "请先完成 NSS 问卷后再进行出入金操作" |
| 140670009 | 未完成 GDCA | GDCA 认证未完成;引导用户完成 | "请先完成 GDCA 认证后再进行出入金操作" |
| 140670010 | 在线开户入金不足 | 入金低于 10,000 HKD;告知最低要求 | "线上开户需累计入金满 10,000 港元后方可使用此功能" |
| 140670011 | 在线开户出金受限 | 累计入金未满 10,000 HKD;告知需先完成最低入金 | "您的累计入金尚未满 10,000 港元,达到后即可使用出金功能" |
| 140670012 | 审核驳回出金 | 审批流程中被人工驳回;检查驳回原因 | "您的出金申请未通过审核,请查看驳回原因或联系客服了解详情" |
| 140670099 | 系统异常 | moomoo 内部错误;联系技术团队 | "系统遇到临时问题,请稍后重试" |
在线开卡特有码
140670010 和 140670011 仅影响在线开户用户新绑卡场景。最低入金门槛 10,000 HKD。
1.3 授权申请错误码
富途→银行(140600xxx)
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
| 140600001 | 参数有误 | 授权请求参数校验失败;核对用户信息后重新发起 |
| 140600002 | 手机号不一致 | 与银行登记不匹配;确认银行绑定手机号 |
| 140600003 | 姓名不匹配 | 与银行开户名不同;核对注册名与开户名 |
| 140600004 | 证件信息不匹配 | 身份证号与银行不一致;核对证件信息 |
| 140600005 | 银行账号错误 | 卡号格式或位数不对;核对银行账号 |
| 140600006 | 已有生效协议 | 已有有效 Mandate;无需重复授权 |
| 140600007 | 客户状态异常 | 客户在天星侧异常;联系天星银行 |
| 140600008 | 账号状态异常 | 账号不允许授权;联系天星银行 |
| 140600009 | 已有处理中记录 | 上次授权还在处理;等待完成后重试 |
| 140600099 | 银行拒绝授权 | 天星系统问题;联系天星技术支持 |
银行→富途 回调(140870xxx)
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
| 140870001 | 多个牛牛号 | 同一卡绑定多个账户;确认身份,保留正确绑定 |
| 140870002 | 授权拒绝 | 银行侧拒绝;核实原因后引导重试 |
| 140870003 | 用户信息不匹配 | 找不到对应用户;核对注册信息 |
| 140870004 | 用户状态异常 | moomoo 账户异常;联系账户团队 |
| 140870005 | 手机号不一致 | 与 moomoo 开户不同;核对手机号 |
| 140870006 | 账户姓名不一致 | 与 moomoo 开户不同;核对姓名 |
| 140870007 | 证件信息不一致 | 与 moomoo 开户不同;核对证件 |
| 140870099 | 系统异常 | moomoo 内部错误;联系技术团队 |
1.4 取消授权错误码
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
| 140610001 | 取消参数有误 | 核对取消请求参数 |
| 140610002 | 银证绑定不存在 | 确认绑定关系是否已失效 |
| 140610099 | 系统异常 | 联系技术团队 |
| 140890001 | 解除失败 | 核实原因后重试 |
| 140890002 | 有在途出入金 | 等待在途交易完成后再取消 |
| 140890099 | 系统异常 | 联系技术团队 |
1.5 Mandate 授权状态码
| 状态值 | 含义 | 说明 |
|---|---|---|
Authorised | 授权成功 | 可正常出入金 |
PendingAuthorise | 待授权 | 等待银行处理 |
Unauthorised | 未授权 | 尚未发起授权 |
Revoked | 已取消 | 用户或银行主动取消 |
PendingRevoked | 待取消 | 等待银行处理取消 |
RejectAuthorise | 拒绝授权 | 银行审核未通过 |
关键提醒
只有 Authorised 状态才能出入金。PendingAuthorise 期间所有交易指令会被拒绝(返回 140630002)。
1.6 入金交易状态码
| 状态值 | 含义 | 运营关注 |
|---|---|---|
new | 新创建 | 正常 |
notify_bank_approval | 通知银行可入金 | 正常 |
notify_bank_reject | 通知银行不可入金 | 检查拒绝原因 |
query_transfer | 查询转账结果 | 轮询中,关注超时 |
write_flow | 写入流水 | 正常 |
success | 入金成功 | 正常终态 |
fail | 入金失败 | 查错误码定位原因 |
reject | 入金被拒 | 查拒绝原因 |
wait_refund | 等待退款 | 银行发起退款,需关注 |
refund | 已退款 | 需冲正,通知用户 |
1.7 出金交易状态码
| 状态值 | 含义 | 运营关注 |
|---|---|---|
new | 新创建 | 正常 |
notify_bank_approval | 通知银行可出金 | 正常 |
notify_bank_reject | 通知银行不可出金 | 检查拒绝原因 |
query_transfer | 查询转账结果 | 轮询中,关注超时 |
success | 出金成功 | 正常终态 |
fail | 出金失败 | 查错误码 |
reject | 出金被拒 | 查拒绝原因 |
1.8 天星服务内部错误码
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
| 0 | 成功 | — |
| -1001 | 系统内部错误 | 联系技术团队 |
| -1002 | 非法参数 | 检查请求参数 |
| -1003 | 数据库错误 | 联系技术团队 |
| -1004 | RPC 客户端错误 | 服务间通信异常 |
| -1005 | 解析失败 | 数据格式异常 |
| -1006 | 记录不存在 | 核实业务数据 |
| -1099 | 未知错误 | 联系技术团队 |
| -2001 | 账户卡号未找到 | 核对银行卡绑定 |
| -2002 | 银行卡未找到 | 核对银行卡信息 |
| -2003 | 客户未开户 | 引导完成开户 |
| -2004 | 客户不是个人户 | 确认账户类型 |
| -2005 | 授权任务已存在 | 等待现有任务完成 |
| -2006 | 授权已存在 | 无需重复授权 |
| -2007 | 身份证号码校验失败 | 核对证件信息 |
| -2008 | 手机号码校验失败 | 核对手机号 |
| -3000 | HTTP 请求错误 | 联系技术团队 |
| -3001 | HTTP 重试错误 | 系统自动重试中 |
| -3002 | HTTP 不可重试错误 | 联系技术团队 |
代码位置
- 转账错误码:
airstar_service/internal/app/errs/bank_transfer_err.go - 授权错误码:
airstar_service/internal/app/errs/bank_auth_err.go - 状态机:
airstar_service/internal/app/enum/status/deposit.go、withdraw.go、auth.go
二、招行 / 民生 BST
招行/民生能力概述
招行和民生通过 SM2 加密 Socket 接入,实时推送模式。错误码体系简单,核心是 3 个回调码。
2.1 BST 回调码
| 回调码 | 含义 | 说明与处理 |
|---|---|---|
| 0 | 成功 | 系统自动更新任务状态,无需操作 |
| -5 | 超时 | 系统自动切换备用服务器重试;确认银行侧状态前不要手动重发 |
| -6 | 银行拒绝 | 联系银行确认拒绝原因,可能需换通道重新出金 |
BST 超时(-5)处理要点
超时通常是网络抖动——系统会自动切换备用服务器重试。关键:确认银行侧状态前,不要手动重新发起出金,否则可能重复出款。
2.2 与天星的错误处理对比
| 维度 | 招行/民生 | 天星 |
|---|---|---|
| 回调模式 | 实时推送 | 轮询 |
| 超时处理 | 切换备用服务器(秒级) | 10 次轮询 → 2 小时兜底 |
| 错误码粒度 | 3 个 | 11+ 个 |
| 运营介入频率 | 低 | 中 |
三、中银 BOCHK
中银能力概述
中银通过 B2E XML 接口采集入金流水,通过 FTS 执行出金。涉及流水识别码、FTS 状态码和认证错误三类。
3.1 B2E 流水交易类型识别码
系统通过 particulars 字段关键词识别入金方式:
| 关键词 | TransType | 入金方式 |
|---|---|---|
FPS | 220 | FPS 转数快 |
E-BANKING | 207 | 网银转账 |
CHATS | 203 | CHATS 转账 |
REMIT IN | 209 | 跨境汇入 |
CBS | 203 | 银行柜面 |
识别失败场景
如果 particulars 无法匹配上述关键词,流水标记为未识别类型,需运营在人工匹配时手动选择入金方式。
3.2 FTS 出金状态码
| 状态码 | 含义 | 说明与处理 |
|---|---|---|
S | 成功 | 无需操作 |
F | 失败 | 查看错误描述,联系中银确认 |
R | 退回 | 确认退回原因,必要时修正信息重新出金 |
C | 取消 | 确认取消来源,必要时重新发起 |
3.3 B2E 常见错误码
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
E11071 | 无数据 | 查询范围内无交易,正常情况 |
GE11012 | 无数据(备用码) | 同上 |
RJ0002 | 请求频率过高 | 降低查询频率 |
E99999 | 通用错误 | 联系中银技术支持 |
3.4 B2E Token 认证
中银 B2E Token 有效期 900 天(~2.5 年)。
| 异常 | 表现 | 处理 |
|---|---|---|
| Token 过期 | 认证失败 | 联系中银续期 |
| Token 参数错误 | SetAuth() 失败 | 核对认证参数 |
代码位置
- 流水采集:
bochk_flow_go/internal/app/biz/service/constants.go - FTS 出金:
bochk_flow_go/FTS 相关模块
四、汇丰 HSBC
汇丰能力概述
汇丰通过 eDDA + eDDI 接入入金代扣,错误码体系较复杂,涉及授权错误码、扣款拒绝码、银行处理状态码和限流控制四大类。
4.1 eDDA 授权错误码
| 错误码 | 含义 | 客服话术 |
|---|---|---|
MFISAC01 | 账户号码错误 | "请核对汇丰银行账号" |
MPP01006 | 手机号不一致 | "请确认汇丰登记的手机号" |
MPP01007 | 姓名不匹配 | "请确认 moomoo 注册名与汇丰开户名一致" |
MPP01008 | 银行未绑手机 | "请先在汇丰登记手机号" |
MPP02013 | 银行未绑手机 | 同上(不同接口返回) |
MPP04000 | 验证码错误 | "请重新获取验证码" |
MPP04003 | 验证码过期 | "请重新获取验证码" |
MPP04004 | 验证码已使用 | "请重新获取新的验证码" |
MPP06001 | 账户状态异常 | "请联系汇丰确认账户状态" |
ECH09001 | 通用授权失败 | "请稍后重试" |
4.2 eDDI 扣款拒绝码
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
MPP02020 | 授权已取消 | 引导用户重新授权 |
MPP02021 | 付款账户已关闭 | 引导使用其他账户 |
MPP02022 | 超过扣款上限 | 联系银行调整限额或拆分金额 |
MPP02023 | 授权不存在 | 引导用户重新授权 |
MPP02038 | 授权已休眠 | 引导联系汇丰重新激活 |
MPP02039 | 授权已过期 | 引导用户重新授权 |
MPP05000 | 超过限额 | 联系银行调整限额 |
MFD10007 | 重复交易 ID | 系统级错误,联系技术团队 |
4.3 eDDI 银行处理状态码
| 状态码 | 含义 | 运营关注 |
|---|---|---|
ACSC | 已完成 | 正常终态 |
RJCT | 已拒绝 | 查上表拒绝码定位原因 |
ACCP | 已接受 | 中间状态,继续等待 |
ACSP | 处理中 | 中间状态,继续等待 |
4.4 可重试错误码
以下错误码表示银行服务暂时不可用,系统会自动重试:MPP05004、MPP09992~MPP09996、ECH09001。
4.5 HTTP 限频
汇丰 eDDI 采用 Token Bucket 乐观锁限流,每秒 4 个 Token。运营无需关注此机制,仅在系统告警"限流触发"时留意是否有大量扣款任务堆积。
代码位置
- eDDI 扣款:
sba_hsbc_eddi/eddi/src/worker/bin/handles.py - 可重试错误码:
sba_hsbc_eddi/eddi/src/worker/lib/pub/useful_list.py - Token Bucket:
sba_hsbc_eddi/proxy/token_bucket/bin/model.py
五、恒生 Hang Seng
恒生能力概述
恒生通过 eDDA/eDDI 接入入金代扣,使用 BRC_/CAC_/FP 前缀错误码,采用 InnoDB 行锁悲观锁并发控制。
5.1 eDDI 扣款拒绝码
| 错误码 | 含义 | 说明与处理 | 客服话术 |
|---|---|---|---|
BRC_8I1 | 余额不足 | 通知用户充值后重试 | "请确认恒生银行账户余额充足后重试" |
BRC_8RZ | 银行账户异常 | 引导联系恒生银行 | "您的恒生银行账户状态异常,请联系恒生银行客服" |
BRC_8RW + FP2414 | 未查询到授权 | 核实授权状态,引导重新授权 | "您的 eDDA 授权已失效,请重新签署授权" |
BRC_8RW + FP2415 | 授权未生效 | 引导用户到恒生激活 | "您的 eDDA 授权尚未生效,请登录恒生银行 App 完成激活" |
BRC_8RW + FP2416 | 授权已到期 | 引导用户重新授权 | "您的 eDDA 授权已到期,请重新签署" |
BRC_8RW + FP2417 | 超过授权限额 | 减少金额或引导调整限额 | "扣款金额超过授权限额,请减少金额或联系恒生调整限额" |
BRC_8I1 可能导致授权自动取消
恒生在连续多次返回 BRC_8I1(余额不足)后,可能自动取消 eDDA 授权。用户充值后再次扣款会收到 FP2414(未查询到授权),需重新签署 eDDA。运营收到 BRC_8I1 告警时应提前提醒用户充值。
5.2 Web 通知错误码
| 错误码 | 含义 | 系统处理 |
|---|---|---|
000 | 交易成功 | 正常入账 |
BRC_8I1 | 余额不足 | 标记失败,通知用户 |
BRC_8RW | 账户/授权异常 | 结合 FP24xx 码定位原因 |
BRC_8RZ | 账户异常 | 标记失败,引导联系银行 |
5.3 恒生交易状态码
| 状态码 | 字段 | 含义 |
|---|---|---|
S | transactionStatus | 交易成功 |
P | transactionStatus | 处理中 |
F | transactionStatus | 失败 |
S | enquiryStatus | 查询成功 |
F | enquiryStatus | 查询失败 |
5.4 银行服务不可用码
以下错误码表示恒生服务暂时不可用,系统会延迟重试:CAC_018、CAC_021、BRC_8RK、BRC_8RM、CAC_998(超时)、CAC_999(超时)。
CAC_022(重复交易请求)可进入跟踪,非错误。
5.5 汇丰 vs 恒生 eDDI 错误码对比
| 场景 | 汇丰 | 恒生 |
|---|---|---|
| 余额不足 | — | BRC_8I1 |
| 授权已取消 | MPP02020 | FP2414 |
| 授权已过期 | MPP02039 | FP2416 |
| 超过限额 | MPP02022 | FP2417 |
| 授权不存在 | MPP02023 | FP2414 |
| 授权休眠 | MPP02038 | — |
| 账户已关闭 | MPP02021 | BRC_8RZ |
| 并发控制 | Token Bucket | InnoDB 行锁 |
代码位置
- 恒生 eDDI:
sba_hase_eddi/src/worker/bin/handles.py - 错误码列表:
sba_hase_eddi/src/worker/lib/pub/useful_list.py
六、渣打 SCB
渣打能力概述
渣打通过 FPS API 接入出金和流水采集,支持 Webhook 异步通知。
6.1 FPS 支付状态码
| 状态 | 含义 | 说明与处理 | 客服话术 |
|---|---|---|---|
NEW | 新建 | 等待处理 | "您的出金申请已提交,正在处理中,请耐心等待" |
PENDING | 处理中 | 正常等待 | "您的出金正在处理中,预计稍后到账" |
SUCCESS | 成功 | 正常终态 | "您的出金已成功,资金将到达您的银行账户" |
FAILED | 失败 | 查看原因,必要时换通道 | "FPS 转账失败,请稍后重试或选择其他出金方式" |
RETURNED | 退回 | 确认退回原因,重新出金 | "FPS 转账被退回,请核对收款信息后重新发起" |
6.2 内部转账状态码
| 状态码 | 含义 |
|---|---|
| 0 | 新建 |
| 1 | 处理中 |
| 2 | 成功 |
| 3 | 失败 |
| 4 | 退回 |
6.3 Webhook 事件类型
| 事件类型 | 含义 |
|---|---|
payment_status | 支付状态更新 |
credit_debit_advice | 入账/出账通知 |
unknow | 未知类型 |
6.4 服务错误码
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
| 30000 | HTTP 请求失败 | 联系技术团队 |
| 30001 | HTTP 重试错误 | 系统自动重试中 |
| 30002 | HTTP 未知错误 | 联系技术团队 |
| 31000 | 金额错误 | 检查金额格式和范围 |
| 31001 | 内部错误 | 联系技术团队 |
| 31002 | 参数错误 | 检查请求参数 |
| 31003 | 币种错误 | 确认支持的币种 |
代码位置
- 支付状态:
scb_service/internal/app/enum/payment_status.go - Webhook:
scb_service/internal/app/enum/webhook.go
七、广发 CGB
广发能力概述
广发通过 FPS 接口接入出金,支持批量和单笔两种模式。关键陷阱:不同消息类型中同一状态码含义相反。
7.1 FPS 消息类型码
| 消息类型 | 方向 | 用途 |
|---|---|---|
| 2063 | 发起→银行 | 单笔出金 |
| 2064 | 银行→接收 | 批量出金 |
| 2065 | 查询→银行 | 单笔查询 |
| 2066 | 银行→接收 | 批量查询 |
7.2 交易状态码
状态码含义反转
广发 FPS 中 2063/2065(单笔)和 2064/2066(批量)的状态码含义不同。处理代码时务必区分消息类型。
单笔响应(2063 / 2065):
| 状态码 | 2063 含义 | 2065 含义 |
|---|---|---|
| 0 | 成功 | 处理中 |
| 1 | 失败 | 成功 |
| 2 | 处理中 | 失败 |
批量响应(2064 BATCHSTATUS / 2066 BATCHSTATUS):
| 状态码 | 2064 含义 | 2066 含义 |
|---|---|---|
| 0 | — | 失败 |
| 1 | 失败 | 成功 |
| 2 | 处理中 | 处理中 |
2066 逐笔 TRANSTATUS:0=处理中、1=成功、2=失败
7.3 内部批量状态码
| 状态 | 含义 |
|---|---|
PENDING_SEND | 待发送(初始) |
SENDING | 发送中(已加锁) |
DEGRADED | 已降级(批量拆单笔) |
RECEIVED_PROCESSING | 银行处理中 |
DONE_SUCCESS | 成功终态 |
DONE_FAILED | 失败终态 |
UNKNOWN | 未知,需人工干预 |
7.4 API 内部错误码
| 错误码 | 含义 | 可重试 |
|---|---|---|
PARAM_INVALID | 参数校验失败 | 否 |
NOT_FOUND | 任务不存在 | 否 |
STATE_CONFLICT | 状态冲突 | 否 |
SYSTEM_ERROR | 系统错误 | 是 |
BANK_ERROR | 银行返回错误 | 视情况 |
SIGN_ERROR | 签名/验签错误 | 否 |
NETWORK_ERROR | 网络错误 | 是 |
DUPLICATE_TID | 重复交易 ID | 否 |
MAX_ATTEMPT | 超过最大重试 | 否 |
QUERY_NOT_FOUND | 查无记录 | 否 |
AMOUNT_MISMATCH | 金额/笔数不匹配 | 否 |
7.5 银行返回错误码
| 错误码 | 含义 | 可重试 |
|---|---|---|
0000 | 成功 | — |
A012 | 重复流水号 | 否 |
A014 | 系统繁忙 | 是 |
0249 | 查无记录 | 否 |
7.6 服务级错误码
| 错误码 | 含义 |
|---|---|
| 30001 | 服务器错误 |
| 30002 | 参数错误 |
| 30003 | 请求格式错误 |
| 30004 | 业务错误 |
| 30005 | 银行接口异常 |
| 30006 | 状态冲突 |
| 30007 | 资源不存在 |
| 30008 | 重复请求 |
| 30009 | 维护中 |
代码位置
- 消息类型/状态码:
cgb_fps_service/internal/app/biz/cgb/dto/common.go - 批量状态:
cgb_fps_service/internal/app/enum/batch_status.go - API 错误码:
cgb_fps_service/internal/app/enum/error_code.go
八、工银 ICBC
工银能力概述
工银通过银企直联接入流水采集,使用 RSA 签名验证。接口较传统,错误码体系简单。
8.1 银企直联状态码
| 状态码 | 含义 | 说明与处理 |
|---|---|---|
| 0 | 成功 | 正常 |
| 400011 | 超时 | 联系技术确认网络,等待恢复 |
8.2 常见异常
| 异常类型 | 处理 |
|---|---|
| RSA 签名失败 | 检查 RSA 密钥是否过期 |
| 余额连续性检查失败 | 比对起止日期余额,联系技术 |
| 金额格式错误 | 工银以"分"为单位(100 元=10000),检查转换逻辑 |
代码位置
- 银企直联:
icbc_be_relay/主目录
九、系统通用错误码
9.1 系统级错误码
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
| -1 | 系统错误 | 联系技术团队 |
| -2 | 接口不存在 | 请求了未注册的接口 |
| -3 | 寻址失败 | 服务发现异常 |
| -4 | 初始化失败 | 服务启动异常 |
| -5 | 网络错误 | 通常可重试 |
| -6 | 权限不足 | 检查操作人权限配置 |
| -7 | 超时 | 可重试 |
| -8 | 分表不存在 | 数据库分表异常 |
| -9 | 数据库错误 | 联系技术团队 |
9.2 业务级错误码
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
| 0 | 成功 | — |
| 1 | 参数错误 | 检查请求参数 |
| 2 | 用户不存在 | 核实 uid |
| 3 | 用户未开户 | 引导用户开户 |
| 4 | 账户不存在 | 核实 account_id |
| 5 | 账户状态异常 | 联系账户团队 |
| 6 | 非账户持有人 | 核实账户归属 |
| 7 | 用户配置不存在 | 联系技术排查 |
| 8 | 需联系客服 | 升级至客服 |
| 9 | 需重新登录 | 引导重新登录 |
| 10 | 异常入金不存在 | 核实记录 |
| 11 | 异常入金流水不存在 | 核实流水 |
| 12 | 异常入金已处理 | 无需重复操作 |
| 13 | 异常入金状态已变更 | 刷新后重试 |
| 14 | 用户配置错误 | 联系技术排查 |
| 15 | 需要 GDCA 认证 | 引导完成 GDCA |
| 16 | 不可重试 | 查具体错误原因 |
| 17 | 账户存在欠款 | 通知用户偿还 |
| 1001 | eDDA 异常 | 查 eDDA 错误码 |
| 1002 | 业务原因拦截 | 查具体拦截原因 |
| 1003 | 禁止入金 | 账户被限制,联系相关团队 |
9.3 银行卡服务错误码
| 错误码 | 含义 | 说明与处理 |
|---|---|---|
| 420 | 银行卡错误 | 核对银行卡信息 |
| 421 | 银行卡服务超时 | 稍后重试 |
| 422 | 银行卡服务响应异常 | 联系技术团队 |
| 423 | 银行卡服务返回错误 | 联系技术团队 |
9.4 入金申请状态码
| 状态码 | 含义 | 运营操作 |
|---|---|---|
| 0 | 待处理 | 正常等待;超时未匹配 → 检查流水 |
| 1 | 处理中 | 正常等待;卡住 → 检查 SBA 状态 |
| 2 | 已完成 | 无需操作 |
| 3 | 已驳回 | 查驳回原因码处理 |
| 4 | 已撤回 | 确认撤回原因 |
| 5 | 已冲正 | 核实冲正原因,通知用户 |
9.5 入金方式代码(DepositMethod)
注意:此处为入金方式编码,与 proto 中的 TransType 枚举(101-502 银行通道类型)是不同概念。
| 代码 | 方式 | 说明 |
|---|---|---|
| 1 | BST 银证 | 招行/民生/天星 |
| 2 | ATM/柜台 | — |
| 3 | FPS 转数快 | — |
| 4 | 缴付账单 | — |
| 5 | 网银转账 | — |
| 6 | 支票 | — |
| 7 | 海外汇款 | 子账户入金 |
| 8 | eDDA 恒生 | — |
| 9 | eDDA 汇丰 | — |
| 203 | CHATS 转账 | 中银 B2E |
| 207 | E-BANKING | 中银 B2E |
| 209 | REMIT IN | 中银 B2E |
| 220 | FPS | 中银 B2E |
9.6 入金方式代码(Deposit Method)
| 方式代码 | 含义 | 对应银行 |
|---|---|---|
bst | 银证转账 | 招行/民生 |
atm | ATM/柜台 | 各银行 |
fps | FPS 转数快 | 各银行 |
bp | 缴付账单 | — |
ebank | 网银转账 | 各银行 |
check | 支票 | 各银行 |
subAccount | 子账户入金 | 非港银行 |
os | 海外汇款 | 海外银行 |
edda | eDDA 恒生 | 恒生 |
eddaHSBC | eDDA 汇丰 | 汇丰 |
bstAsb | 天星银证 | 天星 |
9.7 银行流水状态码
| 状态码 | 含义 |
|---|---|
| 0 | 待处理(待匹配) |
| 1 | 已处理(匹配完成) |
| 2 | 错误(需人工处理) |
| 3 | 已锁定(处理中) |
| 4 | 在途中 |
| 9 | 已软删 |
9.8 流水处置结果
| 代码 | 含义 |
|---|---|
| 0 | 系统匹配 |
| 1 | 人工匹配 |
| 2 | 发起入金 |
| 3 | 退款 |
| 4 | 其他 |
| 5 | 紧急处理 |
| 6 | 自动入账 |
9.9 匹配结果常量
| 代码 | 含义 |
|---|---|
| 0 | 未匹配 |
| 1 | 辅助匹配(需人工确认) |
| 2 | 自动入账(五维全匹配) |
9.10 入金驳回原因码
| 代码 | 含义 | 运营操作 | 客服话术 |
|---|---|---|---|
| 1 | 信息不清楚 | 要求补充凭证 | "您的入金信息不完整,请补充转账凭证" |
| 2 | 网银信息缺失 | 要求补充网银转账信息 | "您的网银转账信息不完整,请补充相关凭证" |
| 3 | ATM 信息缺失 | 要求补充 ATM 凭证信息 | "您的 ATM 凭证信息不完整,请补充完整信息" |
| 4 | 银行账户信息缺失 | 要求补充 | "您的银行账户信息不完整,请补充完整的银行账号信息" |
| 5 | 证券账户异常 | 升级至账户团队 | "您的证券账户状态异常,我们正在为您处理,请耐心等待" |
| 6 | 交易被取消 | 确认银行侧取消原因 | "您的入金交易已被银行取消,请联系汇款银行确认" |
| 7 | 申请被合并 | 保留合并后的申请 | "您的多笔入金申请已合并处理,请以合并后的记录为准" |
| 8 | 重复申请 | 保留一笔 | "检测到重复入金申请,系统已为您保留一笔,请勿重复提交" |
| 9 | 超时 | 系统通常自动驳回 | "您的入金申请已超时,请重新提交" |
| 10 | 其他(港区) | 查看备注说明 | "您的入金申请未通过,请联系客服了解详细原因" |
| 11 | 其他(大陆) | 查看备注说明 | "您的入金申请未通过,请联系客服了解详细原因" |
| 12 | 其他(海外) | 查看备注说明 | "您的入金申请未通过,请联系客服了解详细原因" |
| 14 | 账户不一致 | 联系用户确认 | "入金账户与证券账户信息不一致,请确认是否使用本人银行账户" |
| 15 | 转账信息不足 | 要求补充转账凭证 | "您的转账凭证信息不完整,请补充后重新提交" |
9.11 eDDI 入金类型
| 代码 | 类型 | 含义 |
|---|---|---|
| 1 | FOUNDING_AIP | 基金定投 |
| 2 | STOCK_MP | 股票定投 |
| 3 | FUND_PURCHASE | 基金申购 |
| 11 | FUND_HOLD | 基金定投(冻结) |
| 21 | STOCK_HOLD | 股票定投(冻结) |
| 31 | FUND_PURCHASE_HOLD | 基金申购(冻结) |
9.12 入金类型代码(DepositType)
| 代码 | 类型 | 运营关注 |
|---|---|---|
| 1 | 普通入金 | 无需关注 |
| 2 | PRE_APPROVAL 预审批 | 线上开户流程自动处理 |
| 3 | 异常入金 | 关注处理结果 |
| 4 | 自动审批 | 无需操作 |
| 5 | 高风险入金 | 联系风控确认 |
| 11 | 冻结入金 | 确认冻结原因 |
| 21 | STOCK_HOLD 股票冻结入金 | eDDI 入金后冻结,预留给股票定投扣款 |
| 31 | FUND_PURCHASE_HOLD 基金申购冻结入金 | eDDI 入金后冻结,预留给基金申购 |
9.13 出金方法码(Method)
| 方法码 | 中文名 | 银行 | 通道类型 |
|---|---|---|---|
manual | 手工出金 | 工银等 | 人工 |
auto_bs | 银证自动 | 招行/民生/天星 | BST |
check | 支票 | — | 支票 |
tele_transfer | 跨境电汇 | 中银 | 电汇 |
boc | 中银同行 | 中银 | 同行转账 |
hase | 恒生网银 | 恒生 | 企业网银 |
hsbc | 汇丰网银 | 汇丰 | 企业网银 |
boc_fps | 中银 FPS | 中银 | FPS |
cgb_fps_api | 广发 FPS | 广发 | FPS API |
ewb | EWB 电汇 | EWB | 电汇 |
chats_rtgs | CHATS/RTGS | — | 港内跨行 |
sc | 渣打 FPS | 渣打 | FPS |
9.14 出金审批模板
| 模板 Key | 适用场景 | 步骤 |
|---|---|---|
withdraw_default | 普通出金 | Confirm → Remittance |
withdraw_unusual | 异常出金 | Audit → Confirm → Remittance |
withdraw_om | OM 账户 | Confirm → Remittance |
withdraw_om_unusual | OM 账户异常 | Audit → Confirm → Remittance |
fund | 基金赎回 | Confirm → Remittance |
fund_unusual | 基金赎回异常 | Audit → Confirm → Remittance |
9.15 eDDA 授权状态码
| 代码 | 状态 | 运营操作 |
|---|---|---|
| 0 | 授权失败 | 查 eDDA 错误码,引导重试 |
| 1 | 银行处理中 | 等待;超 24 小时 → 联系银行 |
| 2 | 授权已生效 | 无需操作 |
| 3 | 请求待发送 | 等待;长时间未发送 → 检查服务 |
9.16 冻结类型码
| 代码 | 含义 | 运营操作 |
|---|---|---|
| 1 | 入金冻结 | 联系相关团队确认后解冻 |
| 2 | 出金冻结 | 联系相关团队确认后解冻 |
| 3 | 出入金均冻结 | 通常涉及合规/风控,需升级 |
9.17 系统权限码
入金权限:CASH_IN_APPLY_VIEW(查看申请)、CASH_IN_FLOW_VIEW(查看流水)、CASH_IN_TASK_APPROVAL(匹配确认/审批)、CASH_IN_TASK_REVERSE(冲正)、CASH_IN_APPLY_MODIFY(修改申请)、ABNORMAL_DEPOSIT_VIEW(查看异常入金)、ABNORMAL_DEPOSIT_MODIFY(处理异常入金)
出金权限:PERMISSION_CASH_TASKS_OUT_AUDIT(Audit 审核)、PERMISSION_CASH_TASKS_OUT_CONFIRM(Confirm 确认)、PERMISSION_CASH_TASKS_OUT_REMIT(Remittance 执行)
读完之后
| 我想... | 去看 |
|---|---|
| 查入金侧的参数和限额 | 入金规则速查 |
| 查出金侧的码表和表结构 | 出金数据字典 |
| 了解 eDDA 错误码的业务背景 | eDDA 代扣入金 |
| 了解 BST 银行的技术细节 | 内银系 BST |
| 按症状排查入金问题 | 入金排障 |
| 按症状排查出金问题 | 出金排障 |
这个页面有帮助吗?