統一錯誤碼中心
本頁說明
講什麼:出入金系統全部銀行的錯誤碼、狀態碼、駁回原因碼——按銀行維度展開,每個碼附含義和處理方式 適合誰:遇到錯誤碼/狀態碼時快速查含義和處理方式 前置閱讀:無,隨時查閱 使用方式: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 |
| 按症狀排查入金問題 | 入金排障 |
| 按症狀排查出金問題 | 出金排障 |