Skip to content

入金變更指南

本頁說明

講什麼:PM 最常見的 10 種入金變更需求——每種告訴你改什麼、在哪改、影響什麼、找誰審批 適合誰:需要推動入金相關需求變更的產品經理 前置閱讀入金方式總覽預計閱讀:5 分鐘 負責人:入金產品經理

核心要點:入金變更分為代碼常量、配置文件、資料庫、運營後台四類,不同類型的改動週期和影響鏈差異很大——改代碼需發版,改配置可能即時生效。


怎麼用這頁

當你有一個入金相關的需求變更時:

  1. 在下面找到對應的變更場景
  2. 看「配置類型」判斷改動難度和週期
  3. 看「影響鏈」評估風險
  4. 看「審批要求」確認找誰簽字
  5. 看「驗證方法」確認怎麼驗收

配置類型速查

類型含義生效方式改動週期
代碼常量寫死在 PHP/Go/Python 代碼中需走發佈流程1~3 天(含開發+測試+發佈)
配置文件config/*.php.env需走發佈流程1~2 天
資料庫配置存在 DB 配置表中改完即時生效當天
運營後台OA/CRM 後台可調運營自行操作即時
Cron 配置定時任務表達式需運維部署0.5~1 天
銀行側需要銀行配合走商務+技術對接數週~數月

變更審批流程

無論哪種變更場景,都應遵循以下通用流程:

Staging 驗證通用指南

所有需要發佈的變更(代碼常量、配置文件類)都應在 Staging 環境驗證後再上線。

分步指南:如何在 Staging 驗證入金變更

前置條件:Staging 環境已部署最新代碼(含變更)

Step 1 — 準備測試數據

  1. 在 Staging 創建測試用戶(或使用現有測試帳號)
  2. 確認 Staging 的銀行 Mock 服務正常運行(Staging 不連真實銀行,用 Mock 模擬流水)

Step 2 — 觸發測試場景 3. 按變更類型準備不同的測試:

  • 容差變更:構造差額恰好在新舊容差邊界的流水,驗證匹配行為變化
  • 限額變更:構造金額恰好在新舊限額邊界的申請,驗證自動入賬判定
  • 超時變更:創建申請後快進時間(修改 DB 時間),驗證通知和駁回觸發
  • 風控變更:加/移黑名單後觸發入金,驗證 DepositType 標記
  • 新銀行:端到端測試完整鏈路(Mock 流水 → 匹配 → 入賬)

Step 3 — 驗證結果 4. 檢查 DB 狀態(Apply/Flow/Task/Match 表)是否符合預期 5. 檢查通知是否正確觸發(Push/站內信) 6. 檢查對賬報告是否無異常

Step 4 — 記錄 7. 截圖/錄屏驗證結果 8. 在需求文檔中標註「Staging 已驗證」


場景一:調整某銀行的匹配容差

例:把匯豐的自動入賬容差從 HKD 65 調到 HKD 100

維度說明
改什麼對應銀行 Matcher 類中的容差常量
在哪改deposit/src/app/Business/Match/HsbcMatch.php(匯豐)、BocMatch.php(中銀)、HangSengMatch.php(恒生)、IcbcNewMatch.php(工銀)、DbsMatch.php(星展)、EwbMatch.php(東亞)
配置類型代碼常量 — 需發佈
影響鏈容差放寬 → 更多流水進入自動匹配 → 誤匹配風險上升(金額相近的不同申請可能被錯配)→ 可能出現入錯賬。容差收緊 → 更多流水降級為輔助匹配 → 運營人工確認工作量增加
驗證方法發佈前:拉 1 週該銀行的歷史流水,用新容差模擬回測匹配結果。發佈後:觀察該銀行的「自動匹配率」和「輔助匹配量」變化
審批要求產品確認 + 運營知曉(工作量可能變化)
回滾1. 恢復原容差常量 → 重新發佈(~1小時)
2. 已經被新容差錯誤匹配的入金需逐筆檢查
3. 如發現誤匹配 → 走沖正流程(沖正指引

容差調整的核心風險

容差每放寬 1 元,理論上都會增加「金額相近的不同申請被錯配」的概率。尤其當同一銀行有多個用戶同時申請相近金額時。必須先用歷史數據回測再上線

當前各銀行容差 → 入金規則速查 § 匹配容差


場景二:調整自動入賬限額

例:把 HKD 自動入賬上限從 200 萬調到 500 萬

維度說明
改什麼DepositConfigNew 中的幣種限額常量
在哪改deposit/src/app/Business/DepositConfigNew.php
配置類型代碼常量 — 需發佈
影響鏈限額調高 → 更多大額入金走自動通道 → 減少運營工作量,但大額異常入金也可能自動放行。限額調低 → 更多入金需人工確認 → 運營工作量增加,但安全性更高
驗證方法發佈後觀察「需人工確認的入金佔比」變化
審批要求風控團隊簽字(必須)+ 產品確認 + 運營知曉
回滾1. 恢復原限額常量 → 重新發佈(~1小時)
2. 檢查變更期間是否有超原限額的入金被自動處理
3. 如有異常大額 → 聯合風控團隊逐筆審核

當前限額

HKD 2,000,000 / USD 300,000 / CNH 2,000,000 / JPY 40,000,000 / SGD 350,000。 完整表 → 入金規則速查 § 幣種限額


場景三:修改超時天數

例:把 FPS 的通知天數從 1 天改為 2 天

維度說明
改什麼超時配置(通知天數、駁回天數)
在哪改deposit/src/app/Business/DepositConfigNew.php — 超時配置區
配置類型代碼常量 — 需發佈
影響鏈通知天數延長 → 用戶等待更久才收到提醒 → 可能導致更多「錢沒到」投訴。通知天數縮短 → 正常但較慢的銀行轉賬可能被過早通知 → 用戶困惑
特殊注意天數按 HKEX 交易日計算(排除週末和公眾假期)。修改只影響新申請,不影響已有申請的超時計算
驗證方法發佈後創建測試申請,等待超時通知觸發
審批要求產品確認
回滾恢復原天數,重新發佈

當前超時配置 → 入金規則速查 § 超時配置


場景四:調整 2412 暫停窗口

例:把 16:05~16:10 的暫停窗口改為 16:00~16:15

維度說明
改什麼2412 暫停窗口的起止時間
在哪改deposit/src/app/Business/DepositConfigNew.php:603-641
配置類型代碼常量 — 需發佈
影響鏈窗口擴大 → 更多入金在暫停期間降級為輔助匹配 → 運營工作量增加,但對賬安全性更高。窗口縮小 → 對賬期間可能有自動入金在執行 → 可能導致帳戶餘額不一致
為什麼不能隨便改2412 窗口是為了確保港股開盤/收盤時的帳戶對賬不被資金變動干擾。窗口起止時間與交易所的開盤前結算和收盤後結算時間對齊。如果縮短窗口,可能出現「對賬瞬間帳戶餘額被入金改變」的情況,導致賬務不平
驗證方法聯合清算團隊驗證對賬報告無差異
審批要求清算團隊簽字(必須)+ 產品確認
回滾恢復原窗口,重新發佈

場景五:修改風控規則

例:把某用戶加入/移出黑名單

維度說明
改什麼黑名單/白名單數據
在哪改hk-deposit-blacklist-go / hk-deposit-whitelist-go 服務的管理介面
配置類型資料庫配置 — 改完即時生效
影響鏈加入黑名單 → 該用戶所有後續入金自動標記為 HIGH_RISK(5) → 需人工審核才能入賬。移出黑名單 → 該用戶恢復正常自動入賬。黑名單支持設置過期時間(臨時觀察)
特殊注意黑名單影響入金環節。如果用戶已有申請正在匹配中,黑名單在下一個匹配週期(3 分鐘內)生效。已經完成入賬的不受影響
驗證方法加入後觸發一筆測試入金,確認 deposit_type 被標記為 5
審批要求風控團隊簽字(必須)
回滾從黑名單移除,即時生效

場景六:調整匹配引擎頻率

例:把匹配引擎從每 3 分鐘改為每 1 分鐘

維度說明
改什麼匹配 Cron 任務的執行頻率
在哪改deposit/doc/crontab.sh 中各 match:* 任務的 cron 表達式
配置類型Cron 配置 — 需運維部署
影響鏈頻率提高 → 用戶感知的入金速度更快。但資料庫查詢頻率成比例增加 → 可能影響 DB 性能,尤其是流水量大的銀行(中銀、匯豐)
為什麼當前是 3 分鐘在當前日均流水量下,3 分鐘是「用戶體驗」和「資料庫負載」的平衡點。匹配引擎每次運行需掃描 flowsapplys 表中所有待處理記錄(status=0),頻率越高掃描越頻繁。如果某銀行日均只有幾十條流水,提頻意義不大;如果日均數千條,提頻會帶來顯著的 DB 壓力
驗證方法先在壓測環境驗證 DB 負載變化;灰度期間監控 DB 慢查詢告警
審批要求技術負責人確認(DB 負載評估)+ 產品確認
回滾恢復原 cron 表達式,重新部署

場景七:新增銀行入金通道

例:接入一家新銀行(如大新銀行)的 Push 模式入金

這是最複雜的變更場景,涉及多個服務和配置。

開發清單

步驟工作內容涉及服務/文件
1分配 TransType 代碼deposit/proto/server/cash_deposit.proto — 在枚舉中加新值
2開發流水採集服務新建 Go/Python 服務(參考 dbs_serviceicbc_be_relay
3實現 Matcher 類deposit/src/app/Business/Match/ 下新建 XxxMatch.php,繼承 MatchBase
4配置匹配 Cron 任務deposit/doc/crontab.shmatch:xxx 每 3 分鐘
5配置容差和時間窗口在 Matcher 類中定義(參考同類銀行)
6配置超時天數DepositConfigNew.php 按入金方式設置
7前端入金方式展示App 入金頁面配置新方式可見性
8對賬配置bank_reconciliation 任務中加新銀行
9聯調測試端到端測試:流水採集 → 匹配 → 入賬 → 對賬

前置條件

條件說明負責方
銀行技術對接協議確定流水獲取方式(API/文件/Webhook)商務 + 技術
公司收款帳戶在該銀行開設企業收款帳戶財務
銀行卡識別規則BIN 號段識別,用於前端展示和匹配bankcard_service

審批要求

商務團隊(銀行合作)+ 技術負責人 + 產品確認

參考工期

流水接入方式參考工期參考
API 即時推送3~4 週參考渣打 scb_service
API 定時拉取2~3 週參考工銀 icbc_be_relay
文件批量拉取4~6 週參考中銀 bochk_flow_go(最複雜)

任務依賴與並行度

新銀行接入的 9 個步驟並非全部串行。以下是依賴關係和可並行的工作:

可並行的工作(綠色標註):

  • 步驟 2(流水採集)、3(Matcher)、6(超時配置)、7(前端展示)可以同時進行
  • 步驟 4(Cron)和 5(容差/窗口)依賴 2 和 3,但可以在 2/3 完成後並行
  • 步驟 9(聯調)是最終匯合點,依賴所有其他步驟

關鍵路徑:前置條件 → TransType → 流水採集服務 → 聯調測試。流水採集服務的開發通常是耗時最長的環節。

回滾策略

新銀行上線後如需回滾:

  1. 關閉前端展示(用戶看不到該銀行入金方式)→ 立即生效
  2. 停止 match:{bank} Cron 任務 → 新流水不再匹配
  3. 停止流水採集服務 → 不再接收新流水
  4. 已經入金的不受影響,無需沖正

場景八:新增 eDDA 支持銀行

例:想讓星展銀行也支持 eDDA 入金

結論:短期不可行,需評估銀行側支持情況。

前置條件說明可控性
銀行支持 eDDA 協議銀行需在 HKMA 的 FPS 體系中實現 eDDA 功能完全取決於銀行
商務合作簽約銀行同意為 moomoo 開通 eDDA 代扣權限需商務談判
技術對接對接銀行的 eDDA/eDDI API(每家實現不同)預計 4~8 週
SBA 編排服務新建 sba_xxx_eddi 編排服務參考 sba_hsbc_eddi
deposit 服務適配Eddi.php 中加新銀行分支1~2 週

為什麼當前只有匯豐和恒生? eDDA 是 HKMA(香港金管局)FPS 體系的一部分。雖然技術標準是統一的,但每家銀行的 API 實現、審核流程、商務條件各不相同。當前只有匯豐和恒生完成了全部對接(商務簽約 + 技術聯調 + 生產上線)。

如果真的要推進:第一步是聯繫銀行關係團隊,確認目標銀行是否支持 eDDA 協議,再評估商務和技術工作量。


場景九:新增幣種支持

例:新增 GBP(英鎊)入金

步驟工作內容涉及文件
1Proto 定義deposit/proto/server/cash_deposit.proto — 加 Currency 枚舉
2容差配置各 Matcher 類中加 GBP 容差(參考與 HKD 的匯率折算)
3限額配置DepositConfigNew.php — 加 GBP 自動入賬限額
4超時配置DepositConfigNew.php — 加 GBP 超時天數
5前端展示入金頁面幣種選擇器加 GBP
6SBA 配置SBA 系統支持 GBP 餘額帳戶
7對賬新增 GBP 對賬任務

前置條件:公司在收款銀行需有 GBP 帳戶。並非所有銀行都支持所有幣種——需先確認哪些銀行可收 GBP。

審批要求:產品確認 + 清算團隊確認 + 技術負責人


場景十:修改入金通知邏輯

例:入金成功後的推送通知文案要改

維度說明
改什麼通知文案和觸發邏輯
在哪改通知服務配置(非 deposit 服務管轄,deposit 只負責發通知事件)
配置類型取決於通知服務的實現——通常是配置文件或資料庫
影響鏈文案修改僅影響用戶端展示;觸發邏輯修改可能影響通知時機和頻率
特殊注意入金系統定義了 4 種通知類型碼(普通入金=1、線上開戶綁卡=2、綁卡後入金=3、大陸預開戶=4),通知的具體文案和渠道(Push/SMS/站內信)由通知服務控制
驗證方法測試環境觸發一筆入金,確認通知內容和渠道
審批要求產品確認

場景十一:修改沖正流程

例:沖正前增加二次審批 / 沖正後不自動解綁銀行卡

維度說明
改什麼入金沖正的執行邏輯、前置校驗、後置操作
在哪改deposit/src/app/Business/Deposit.php:877-935(入金沖正 reverse() 方法)
配置類型代碼常量 — 需發佈
影響鏈沖正流程修改直接影響已完成入金的資金撤回能力。修改前置校驗可能導致應沖的沖不了;修改後置操作可能遺漏解綁/通知步驟
驗證方法Staging 環境創建測試入金 → 完成入賬 → 執行沖正 → 驗證 Apply.status=5、SBA Procedure 成功、銀行卡解綁狀態、通知觸發
審批要求風控團隊簽字(必須)+ 產品確認 + 運營知曉
回滾恢復原代碼 → 重新發佈。已被新邏輯處理的沖正不受影響(沖正不可撤銷)

常見變更場景

變更改動位置注意事項
沖正前增加審批步驟reverse() 方法入口處添加審批檢查當前沖正是直接執行、無二次審批。增加審批會延長沖正時效
沖正後不自動解綁銀行卡reverse() 中的解綁邏輯不解綁可能導致下次入金仍然走綁卡通道
增加沖正金額上限reverse() 前置校驗超限的沖正需升級審批(如大額走主管審批)
修改沖正通知模板通知服務消息模板配置不在 deposit 服務管轄內
批量沖正限制/deposit/batch 介面當前無批量數量限制,可加上防誤操作
相關代碼位置
  • 入金沖正:deposit/src/app/Business/Deposit.php:877-935reverse() 核心邏輯
  • SBA 反向:deposit/src/app/Business/SOA/SBA/Deposit.php:309turnAround('CashDepositReverse')
  • 沖正中間件:deposit/src/app/Business/Tasks/Deposit.php:276-287
  • 出金沖正(參考):withdraw/src/app/Business/Tasks/Handler/Reverse.php

退款機制產品說明 → 退款與沖正 運營沖正操作手冊 → 沖正/退款指引


變更風險矩陣

變更技術風險業務風險改動週期建議灰度方式
調整容差(誤匹配)1~3 天先用歷史數據回測
調整限額(大額異常)1~3 天按銀行分批調整
修改超時1~3 天按銀行分批調整
調整 2412(對賬異常)1~3 天不建議灰度,必須全量驗證
風控規則即時按用戶粒度操作
匹配頻率(DB 負載)0.5~1 天按銀行逐步提頻
新增銀行3~6 週新銀行獨立上線
新增 eDDA數月新銀行獨立上線
新增幣種2~3 週按幣種逐步開放
修改通知1~2 天灰度推送
修改沖正流程(資金安全)1~3 天必須全量驗證

讀完之後

我想...去看
理解 10 種入金方式的全景入金方式總覽
看匹配容差和限額的詳細規則匹配與自動入賬
查某個參數的具體數值入金規則速查
了解 eDDA 協議和錯誤碼eDDA 代扣入金
看出金側有什麼變更場景出金變更指南
了解退款和沖正機制退款與沖正
這個頁面有幫助嗎?

内部业务文档 · 仅限 moomoo 团队使用