深色模式
中银 BOCHK
本页说明
讲什么:中银香港的 B2E 入金采集、FTS/FPS 出金汇款、匹配规则、定时任务的完整业务规则,以及渠道侧接口字段详情与 moomoo 侧适配映射 适合谁:需要深入了解中银对接细节的产品经理 前置阅读:银行能力矩阵预计阅读:12 分钟 负责人:入金产品经理
核心要点:中银是最大的入金来源银行,通过 B2E 批量文件采集流水——文件拉取频率和解析逻辑直接决定中银用户的入金等待时间。
能力总览
| 能力 | 支持情况 | 协议/通道 | 核心服务 |
|---|---|---|---|
| 入金流水采集 | ✅ | B2E (Bank-to-Enterprise) XML API | bochk_flow_go (Go) |
| 出金汇款 | ✅ | FTS 文件通道 (S14/S16) | bochk_fts_mgr (Python) |
| 出金 FPS | ✅ | FPS(经中银 FPS 通道) | boc_fps method |
| 出金同行转账 | ✅ | FTS 同行 | boc method |
| 出金跨境电汇 | ✅ | 电汇 | tele_transfer method |
| eDDA/eDDI | ❌ | — | — |
| 银证 BST | ❌ | — | — |
中银是入金流水最大的来源银行——大部分香港用户通过中银转账入金,系统通过 B2E API 自动采集流水并匹配到入金申请。
渠道接口概览
| 维度 | 说明 |
|---|---|
| 协议类型 | HTTP/HTTPS + XML(B2E 银企直联) |
| 认证方式 | 数字证书 + UserId/Password + ECertName/ECertPwd 三重认证 |
| 数据格式 | XML(UTF-8 编码),请求/响应均以 BOCHKE2B 为根节点 |
| 采集模式 | 主动拉取(每日 3 次定时 + 每 2 小时 Flow Converter 转换) |
| 证书轮换 | 900 天周期,需提前 30 天更新 |
| 连接超时 | 30 秒 |
| 限流策略 | 银行侧限流返回 RJ0002,不触发故障转移 |
| 去重机制 | acct_no + seq_no + currency + boc_date 唯一键,UPSERT 操作 |
与其他银行对比
中银是唯一使用 XML 协议的银行——汇丰/恒生走 SFTP 文件,渣打走 HTTPS JSON,广发走 FPS 通知推送。B2E XML 的特点是结构固定、字段明确,但调试时需注意 XML 命名空间和编码问题。
入金:B2E 流水采集
什么是 B2E
B2E(Bank-to-Enterprise)是中银向企业客户提供的标准 API 接口。moomoo 通过 B2E 接口查询公司收款账户的交易流水,然后与用户的入金申请做匹配。
收款账户
moomoo 在中银开了 5 个币种的收款账户,每笔用户转账都会进入对应币种的账户:
| 币种 | 账户号 | 配置键 |
|---|---|---|
| HKD | 01267600088450 | HKCUR |
| USD | 01267608014549 | USCUR |
| CNY | 01267606013676 | CNCUR |
| JPY | 01287521127472 | JPCUR |
| SGD | 01287526723084 | SGCUR |
配置位置
bochk_flow_go/conf/conf.toml → [conf.futu_account.account_numbers]
B2E 三种查询接口
系统通过三种 B2E 接口分时段采集流水,确保不漏单:
| 接口 | 定时 | 查什么 | 写入表 |
|---|---|---|---|
| TodayActivity | 每天 06:00 | 当天实时交易 | acct_trd_record |
| AcctStatement | 每天 07:00 | 前一天完整对账单 | acct_trd_record(is_addendum 标记) |
| AcctActivity | 每天 08:00 | 详细账务活动(含余额) | boc_transaction_record |
此外,每 2 小时运行一次 Flow Converter,将原始记录转换为统一的 boc_bank_flow 格式供匹配引擎使用。
数据流
B2E 协议要点
- 传输方式:HTTP POST,XML 请求/响应体
- 认证:Token 认证(
Ecert Name: FUTU1),Token 900 天轮换周期 - 超时:30 秒
- 去重:基于
acct_no + seq_no + currency + boc_date唯一键,UPSERT 操作 - 错误处理:
E11071/GE11012:无数据(正常,非失败)RJ0002:请求频率限制(不触发切换)- 其他错误:记录日志,下次重试
渠道侧接口详情
以下是三种 B2E 接口的完整请求/响应字段定义。所有接口共享同一套认证头(Head),接口间的差异在请求体和响应字段上。
公共请求头(BOCHKE2B > Head)
每个 B2E 请求的 XML 根节点为 BOCHKE2B,其中 Head 部分携带认证和路由信息:
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
| PackageId | string(17) | ✅ | 包ID,自动生成的 17 位数字,每次请求唯一。如 "12345678901234567" |
| CBSAcctNo | string | ✅ | CBS 账号(企业主账号)。如 "01227468128899" |
| UserId | string | ✅ | 用户ID。如 "FUTU1" |
| Password | string | ✅ | 密码(加密传输) |
| ECertName | string | ✅ | 数字证书名称。如 "FUTU1" |
| ECertPwd | string | ✅ | 数字证书密码(加密传输) |
认证安全
Password 和 ECertPwd 在传输前经过加密处理,证书文件存储在服务器的受保护目录中。不要在日志中打印这两个字段的明文值。
公共响应头
所有 B2E 接口的响应都包含以下头部字段,用于判断请求是否成功:
| 字段 | 类型 | 描述 | 示例 |
|---|---|---|---|
| TxStatus | string | 交易状态,"S" = 成功,"F" = 失败 | "S" |
| ErrorCode | string | 错误码(成功时为空) | "E11071" |
| ErrorDesc | string | 错误描述(成功时为空) | "No Record Found" |
| TxRefNo | string | 银行交易参考号 | "BOCHK20260429001" |
| TxDate | string | 交易日期(YYYYMMDD) | "20260429" |
| TxTime | string | 交易时间(HHMMSS) | "100530" |
接口 1:TodayActivity(当日交易查询)
调度时间:~06:00(每日首次拉取当天实时交易)
用途:查询指定账号当天发生的所有交易记录。这是最早获取当天流水的接口,用于尽快匹配入金申请。
请求参数(TodayActivityREQ)
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
| AcctNo | string | ✅ | 银行账号(即收款账户号)。如 "01267600088450" |
请求 XML 示例
xml
<BOCHKE2B>
<Head>
<PackageId>12345678901234567</PackageId>
<CBSAcctNo>01227468128899</CBSAcctNo>
<UserId>FUTU1</UserId>
<Password>***</Password>
<ECertName>FUTU1</ECertName>
<ECertPwd>***</ECertPwd>
</Head>
<TodayActivityREQ>
<AcctNo>01267600088450</AcctNo>
</TodayActivityREQ>
</BOCHKE2B>响应字段(每条交易记录)
| 字段 | 类型 | 描述 | 示例 |
|---|---|---|---|
| SeqNo | string | 当天交易序号,6 位左补零。格式 NN(数字序号) | "000001" |
| Cur | string | 币种代码。格式 3 字符 ISO 4217 | "HKD" / "USD" |
| Time | string | 交易时间(24 小时制)。格式 HH:mm:ss | "10:05:30" |
| TxRefNo | string | 交易参考号(全局唯一)。格式 16 字符 | "1234567890123456" |
| Amount | string | 交易金额(保留 2 位小数)。格式 decimal(16,2) | "100000.00" |
| Particulars | string | 交易描述/摘要,用于识别交易类型。≤200 字符 | "E-BANKING TRANSFER" |
| TxDetail | string | 交易类型标识。≤50 字符 | "Transfer" |
| PayerOrPayeeName | string | 付款方/收款方姓名。≤140 字符 | "CHAN TAI MAN" |
| PayerOrPayeeAcctNo | string | 付款方/收款方账号。≤34 字符 | "01287500123456" |
字段特别说明
- SeqNo:同一天内递增,但跨天会重置。去重时必须结合日期使用。
- TxRefNo:16 字符的全局唯一交易参考号,是匹配和去重的核心字段。
- Particulars:这是最关键的业务字段——系统通过它的前缀来识别 FPS、网银、CHATS 等交易类型。
- PayerOrPayeeName:用于姓名匹配,入金时为付款方姓名。注意大小写可能不一致。
接口 2:AcctStatement(账户结单查询)
调度时间:~07:00(查询前一个工作日的完整对账单)
用途:作为 TodayActivity 的补充,拉取前一天的完整结单。写入数据库时带 is_addendum 标记,与当天实时数据做去重合并。
请求参数(AcctStatementREQ)
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
| AcctNo | string | ✅ | 银行账号。如 "01267600088450" |
| Cur | string | ✅ | 币种(HKD/USD/CNY/JPY/SGD)。如 "HKD" |
| Date | string | ✅ | 查询日期(YYYYMMDD),通常为前一工作日。如 "20260428" |
响应字段:与 TodayActivity 结构相同(SeqNo、Cur、Time、TxRefNo、Amount、Particulars、TxDetail、PayerOrPayeeName、PayerOrPayeeAcctNo)。
注意事项
AcctStatement 需要为 每个币种单独发起请求。系统会遍历 5 个收款账户的币种,分别请求 HKD、USD、CNY、JPY、SGD 的对账单。如果某币种无交易,接口返回 E11071,这是正常的。
接口 3:AcctActivity(账户动账明细查询)
调度时间:~08:00(支持日期范围查询,获取最详细的账务活动)
用途:这是字段最丰富的接口,除了交易明细外还包含余额信息、GPI 追踪等。写入 boc_transaction_record 表,为对账和审计提供详细数据。
请求参数(AcctActivityREQ)
| 字段 | 类型 | 必填 | 描述 |
|---|---|---|---|
| AcctNo | string | ✅ | 银行账号。如 "01267600088450" |
| BicCode | string | ❌ | BIC 代码(筛选特定银行)。如 "BKCHHKHH" |
| Region | string | ❌ | 地区代码 |
| StartDate | string | ✅ | 起始日期(YYYYMMDD)。如 "20260428" |
| EndDate | string | ✅ | 结束日期(YYYYMMDD)。如 "20260429" |
| TransFlag | string | ❌ | 交易方向筛选:C = 贷方(入账),D = 借方(出账)。如 "C" |
| TransCur | string | ❌ | 筛选特定币种。如 "HKD" |
| MinAmt | string | ❌ | 最小金额筛选。如 "1000.00" |
| MaxAmt | string | ❌ | 最大金额筛选。如 "999999.99" |
可选参数用法
- TransFlag:入金采集时通常设为
"C"(仅拉贷方/入账),减少无关数据。如果需要对账,则不传此参数以获取全部。 - MinAmt / MaxAmt:用于大额交易监控场景,常规采集不使用。
- BicCode:用于筛选特定来源银行的交易,常规采集不使用。
响应字段(每条交易记录)
| 字段 | 类型 | 描述 | 示例 |
|---|---|---|---|
| TransType | string | 交易类型标识 | "Transfer" |
| TransRef | string | 唯一交易参考号。格式 16 字符 | "1234567890123456" |
| Particular | string | 交易描述/摘要。≤200 字符 | "FPS Transfer" |
| Cur | string | 币种。格式 3 字符 | "HKD" |
| Amt | string | 交易金额。格式 decimal(16,2) | "50000.00" |
| TransFlag | string | C = 贷方(入账),D = 借方(出账)。格式 1 字符 | "C" |
| PayerOrPayeeName | string | 付款方/收款方姓名。≤140 字符 | "CHAN TAI MAN" |
| PayerOrPayeeAcctNo | string | 付款方/收款方账号。≤34 字符 | "01287500123456" |
| TransDate | string | 交易日期时间(含时区)。格式 YYYY/MM/DD HH:mm GMT+08:00 | "2026/04/29 10:05 GMT+08:00" |
| ValueDate | string | 起息日。格式 YYYY/MM/DD | "2026/04/29" |
| AcctNo | string | 本方账号 | "01267600088450" |
| LedBal | string | 分类账余额(交易后)。格式 decimal(16,2) | "5000000.00" |
| AvalBal | string | 可用余额(交易后)。格式 decimal(16,2) | "4800000.00" |
| GPIFlag | string | SWIFT GPI 指示符(跨境汇款时有值) | "Y" |
| GPIId | string | SWIFT GPI 追踪 ID | "d2fca123-..." |
| ChequeNo | string | 支票号码(支票交易时有值) | "CHQ001234" |
AcctActivity 独有字段
相比 TodayActivity 和 AcctStatement,AcctActivity 多出以下关键字段:
- LedBal / AvalBal:余额信息,用于对账和余额监控
- GPIFlag / GPIId:SWIFT GPI 追踪,用于跨境汇款的全流程追踪
- ChequeNo:支票号码,支票入金场景需要
- ValueDate:起息日,可能与交易日期不同(跨境汇款常见)
- TransFlag:明确标记借贷方向,TodayActivity 需要通过金额正负判断
B2E 错误码速查
| 错误码 | 含义 | 处理策略 |
|---|---|---|
E11071 | 无数据(No Record Found) | 正常,不重试——该时段无交易 |
GE11012 | 备选无数据标记 | 与 E11071 等效,不重试 |
RJ0002 | 请求频率限制(Rate Limit) | 等待后重试,不触发故障转移 |
E99999 | 通用系统错误 | 指数退避重试(间隔 30s → 60s → 120s) |
E10001 | 认证失败 | 检查证书/密码是否过期 |
E10002 | 账号无权限 | 联系银行确认 B2E 权限 |
关于 RJ0002
RJ0002 是银行侧限流响应,不应触发故障转移到备用通道。正确做法是等待 30 秒后重试。如果连续出现 RJ0002,需检查是否有多个实例同时在拉取。
B2E XML 字段映射
| XML 字段 | 数据库字段 | 说明 |
|---|---|---|
| SeqNo | seq_no | 交易序号 |
| Currency | currency | 币种 |
| Amount | amount | 金额 |
| BOCDate | boc_date | 交易日期 (YYYYMMDD) |
| BOCTime | boc_time | 交易时间 |
| TxRefNo | tx_ref_no | 交易参考号 |
| Particulars | particulars | 交易摘要(用于识别交易类型) |
| PayerOrPayeeName | payer_or_payee_name | 付款人/收款人名称 |
| PayerOrPayeeAcctNo | payer_or_payee_acct_no | 付款人/收款人账号 |
moomoo 侧适配
B2E 接口返回的原始字段不能直接用于匹配引擎——需要经过 Flow Converter 标准化后写入 boc_bank_flow 表。以下是完整的字段映射和转换逻辑。
流水标准化映射
| B2E 原始字段 | BankFlow 标准字段 | 转换逻辑 | 说明 |
|---|---|---|---|
| TxRefNo | transaction_id | "BOC_" + YYYYMMDD + "_" + TxRefNo | 加前缀防止跨银行 ID 冲突 |
| Amount | credit | 直接映射 decimal(16,2) | 入金流水取贷方金额 |
| Cur | ccy | 直接映射(HKD/USD/CNY/JPY/SGD) | ISO 4217 三字符代码 |
| Time | time | HH:mm:ss → HHMMSS(去除冒号) | 统一为 6 位数字格式 |
| Particulars | remarks | 直接映射 | 保留原始描述,用于交易类型识别 |
| PayerOrPayeeName | en_name | 直接映射 | 付款方英文姓名 |
| PayerOrPayeeAcctNo | customer_account | 直接映射 | 付款方银行账号 |
| TxDetail | type | 交易类型标识 | 用于分类统计 |
| BOCDate | boc_date | YYYYMMDD → DATE | 交易日期 |
| AcctNo | acct_no | 直接映射 | 收款方账号(moomoo 的账号) |
| SeqNo | seq_no | 直接映射 | 交易序号 |
transaction_id 生成规则
transaction_id = "BOC_" + boc_date + "_" + tx_ref_no
例如:TxRefNo 为 1234567890123456,日期为 20260429,则生成: BOC_20260429_1234567890123456
这个 ID 是全局唯一的,也是去重和匹配的核心标识。
交易类型自动识别
系统通过流水的 particulars(交易摘要) 字段自动识别交易类型,不同类型的匹配规则和手续费容差不同:
| Particulars 关键词 | 识别为 | 可自动入账 | 手续费特征 |
|---|---|---|---|
FPS Transfer | FPS 转数快 | ✅ | 无手续费,精确匹配。最常见的入金方式 |
E-BANKING TRANSFER | 网银转账 | ✅ | 无手续费,精确匹配。中银网银到账 |
CHATS Transfer | CHATS 同城清算 | ✅ | 可能有手续费,本地容差。即时支付结算 |
REMIT IN | 跨境汇款 | ✅ | 中转行扣费,跨境容差。海外汇入,容差最大 |
CBS TRANSFER | CBS 内部转账 | ❌ 仅匹配 | 特殊处理。中银体系内转账,需人工审核 |
ATM Transfer | ATM 转账 | ❌ | 无法验证来源,仅记录 |
Cheque Clearing | 支票入账 | ❌ | 支票有退票风险,需人工确认 |
Interest | 利息收入 | ❌ | 非入金流水,自动忽略 |
对应代码
deposit/src/app/Business/Match/BocMatch.php → NewMatchRule() 方法,根据 remarks 字段的正则匹配分发到不同规则。
匹配规则详解(BocMatch)
FPS 转数快规则
| 维度 | 规则 |
|---|---|
| 识别条件 | particulars 以 "FPS" 开头 |
| 金额匹配 | 精确匹配(流水金额 = CRM 申请金额) |
| 姓名匹配 | 精确匹配 → 自动入账;相似匹配 → 人工确认 |
| 日期窗口 | 申请日期 ± 15 天 |
| 自动入账 | ✅ 金额精确 + 姓名精确时自动入账 |
| 卡号校验 | BOC 卡号必须为 14 位 |
网银转账规则
| 维度 | 规则 |
|---|---|
| 识别条件 | particulars 以 "E-BANKING TRANSFER" 开头 |
| 金额匹配 | 精确匹配(无手续费扣除) |
| 姓名匹配 | 精确匹配 → 自动入账;相似匹配 → 人工确认 |
| 日期窗口 | 申请日期 ± 15 天 |
| 自动入账 | ✅ 金额精确 + 姓名精确时自动入账 |
| 特殊处理 | 网银转账通常附带完整的付款人信息,匹配成功率高 |
CHATS 同城清算规则
| 维度 | 规则 |
|---|---|
| 识别条件 | particulars 以 "CHATS" 开头 |
| HKD/CNH/JPY 金额容差 | CRM - 20 ≤ 流水 ≤ CRM |
| USD/SGD 金额容差 | CRM - 3 ≤ 流水 ≤ CRM |
| 姓名匹配 | 精确匹配 → 自动入账;相似匹配 → 人工确认 |
| 日期窗口 | 申请日期 ± 15 天 |
| 自动入账 | ✅ 容差内 + 姓名精确时自动入账 |
跨境汇入规则(REMIT IN)
| 维度 | 规则 |
|---|---|
| 识别条件 | particulars 以 "REMIT IN" 开头 |
| HKD/CNH/JPY 金额容差 | CRM - 420 ≤ 流水 ≤ CRM |
| USD/SGD 金额容差 | CRM - 60 ≤ 流水 ≤ CRM |
| 姓名匹配 | 精确匹配 → 自动入账;相似匹配 → 人工确认 |
| 日期窗口 | 申请日期 ± 15 天 |
| 自动入账 | ✅ 容差内 + 姓名精确时自动入账 |
| 特殊说明 | 跨境汇款经过中转行会扣除 20-400 港币手续费,所以容差设为 -420 |
CBS / ATM 规则
| 类型 | 识别条件 | 自动入账 | 原因 |
|---|---|---|---|
| CBS 内部转账 | particulars 以 "CBS TRANSFER" 开头 | ❌ 仅匹配 | 可能涉及集团内部资金调拨,需区分客户入金和运营转账 |
| ATM 转账 | particulars 以 "ATM" 开头 | ❌ | 缺少付款人信息,无法可靠验证来源 |
为什么跨境容差大得多? 跨境汇款经过中转行,中转行可能扣除 20-400 港币手续费,跨境容差设为 -420,远大于本地的 -20。
为什么日期窗口是 ±15 天? 中银是最大的入金来源,部分用户转账后很久才提交入金申请(或反过来),15 天窗口覆盖绝大多数延迟场景。
大额在线入金门槛
对于通过银行卡绑定(bind_card, notice_type)触发的在线入金,还有金额下限限制:
- HKD/CNH/JPY:流水金额 ≥ 10,000
- USD/SGD:流水金额 ≥ 1,500
入金超时配置
不同转账方式、不同银行类型、不同币种下的预期到账时间和超时阈值:
FPS 转数快
| 维度 | 时间 |
|---|---|
| 预期到账 | 即时(通常 1-5 分钟) |
| 系统超时 | 30 分钟 |
| 超时处理 | 标记待人工核实 |
| 适用币种 | HKD、CNY |
网银转账(中银同行)
| 维度 | 时间 |
|---|---|
| 预期到账 | 即时 - 2 小时(取决于银行处理时间) |
| 系统超时 | 4 小时 |
| 超时处理 | 标记待人工核实 |
| 适用币种 | HKD、USD、CNY、JPY、SGD |
CHATS 同城清算
| 维度 | 时间 |
|---|---|
| 预期到账 | 同日(工作日 09:00-17:30 处理) |
| 系统超时 | T+1 工作日 |
| 超时处理 | 标记待人工核实 |
| 适用币种 | HKD |
| 注意事项 | 非工作时间提交的 CHATS 会在下一工作日处理 |
跨境汇入(REMIT IN)
| 维度 | HKD/CNY | USD | JPY/SGD |
|---|---|---|---|
| 预期到账 | T+1 - T+2 | T+1 - T+3 | T+2 - T+5 |
| 系统超时 | T+3 工作日 | T+5 工作日 | T+7 工作日 |
| 超时处理 | 标记待人工核实 | 标记待人工核实 | 标记待人工核实 |
| 注意事项 | 中转行处理时间不确定 | 涉及 SWIFT 清算 | 小众币种清算链路更长 |
定时任务
| 任务 | 频率 | 说明 |
|---|---|---|
| B2E TodayActivity | 每天 06:00 | 拉取当天流水 |
| B2E AcctStatement | 每天 07:00 | 拉取前日对账单 |
| B2E AcctActivity | 每天 08:00 | 拉取详细账务 |
| Flow Converter | 每 2 小时 | 将原始记录转为 boc_bank_flow |
| match:boc | 每 3 分钟 | 执行 BOC 流水匹配 |
出金:FTS 文件通道
什么是 FTS
FTS(Fund Transfer Service)是中银的批量汇款文件通道。moomoo 将出金指令以 S14 格式上传到中银 SFTP 服务器,中银处理后生成 S16 结果文件供下载。
数据流
S14/S16 文件格式
| 文件类型 | 方向 | 内容 |
|---|---|---|
| S14 | moomoo → 中银 | 出金指令(收款人信息、金额、币种) |
| S16 | 中银 → moomoo | 处理结果(含交易状态、实际金额、余额) |
S16 文件为定宽格式(每条记录 1024+ 字符),支持多编码(UTF-8、Big5HKSCS、GBK)。
S16 文件关键字段
| 字段 | 说明 |
|---|---|
| seq_no | 交易序号(16位,唯一标识) |
| futu_account | 富途监管账号(14位) |
| t_date | 交易日期 (YYYYMMDD) |
| v_date | 起息日 (YYYYMMDD) |
| ccy | 币种 (HKD/USD/CNY...) |
| amount | 交易金额 |
| borrowing_direction | C=贷记(入账) / D=借记(出账) |
| ledger_balance | 交易后余额 |
| account | 对手方账号 |
| name | 对手方名称 |
| settlement_method | 结算方式 |
| fee | 银行手续费 |
| abstract | 交易摘要 |
Relay 层
bochk_relay 是 B2E 请求的中继层(SRPC 服务),提供 5 个 RPC 接口:
| RPC 方法 | 超时 | 用途 |
|---|---|---|
| InternalTrans | 60s | 内部转账指令 |
| QueryInternalTrans | 30s | 查询转账状态 |
| QueryAcctBalance | 30s | 查询账户余额 |
| QueryTodayActivity | 50s | 查询当天活动 |
| QueryAcctStatement | 50s | 查询账户对账单 |
S14/S16 一致性校验
系统会对比 S14(指令)和 S16(结果)的关键字段,确保数据一致:
| 监控指标 | 含义 |
|---|---|
| 1946146 | S14/S16 流水不匹配(需要关注) |
| 1946147 | S16 比 S14 信息更完整(正常) |
| 1946148 | S14 和 S16 完全一致 |
出金:BOC FPS
除了 FTS 文件通道,中银还支持通过 FPS(转数快) 通道出金,方法码为 boc_fps。
适用条件
| 条件 | 要求 |
|---|---|
| 收款银行所在地 | 香港 |
| 币种 | HKD 或 CNY |
| 金额上限 | < 100 万 |
| 银行卡状态 | 已验证 (checked=1) |
| 排除的收款银行 | 工银(10)、恒生(8)、中银(9)、汇丰(11) |
为什么排除这些银行? 这些银行有自己的专属出金通道(如恒生走 hase 网银,汇丰走 hsbc 网银),走 FPS 反而可能更慢或有限额限制。
出金:同行转账与跨境电汇
| 通道 | 方法码 | 适用场景 |
|---|---|---|
| 中银同行提款 | boc | 收款方也是中银账户 |
| 中银跨境电汇 | tele_transfer | 跨境汇款到境外银行 |
需求变更指引
如果需要修改中银相关的业务规则,以下是具体的改动位置:
| 变更需求 | 改动位置 | 说明 |
|---|---|---|
| 新增收款币种 | bochk_flow_go/conf/conf.toml | 添加新币种账户映射 |
| 修改入金匹配容差 | BocMatch.php → localTransferSimilarAmount / isDifAreaSimilarAmount | 调整金额容差阈值 |
| 新增交易类型识别 | BocMatch.php → NewMatchRule() | 添加新的 particulars 正则规则 |
| 修改匹配日期窗口 | BocMatch.php → daySimilar | 调整天数参数 |
| 修改 FPS 出金限额 | BOCFPS.php → make_able_where | 修改金额阈值 |
| 调整 FPS 排除银行 | BOCFPS.php → make_able_where | 修改 bank_id 排除列表 |
| 修改 B2E 拉取频率 | bochk_flow_go/conf/conf.toml → cron 表达式 | 调整定时任务 |
| 修改匹配频率 | deposit/doc/crontab.sh → match:boc | 调整 cron 间隔 |
| FTS 超时/重试 | bochk_relay 各 RPC 方法的 timeout 参数 | 调整超时时间 |
| 新增 FTS 监控指标 | bochk_fts_mgr → cus_fmonitor.py | 添加新的监控 ID |
| 修改流水标准化映射 | bochk_flow_go → Flow Converter 模块 | 调整 B2E → BankFlow 字段映射 |
| 修改入金超时阈值 | 匹配引擎配置 | 调整各转账方式的超时时间 |
常见客诉 Top 3
| # | 用户反馈 | 原因 | 客服话术 |
|---|---|---|---|
| 1 | "FPS 入金没到" | particulars 无法识别入金方式,流水标记为未识别 | "您的转账正在处理中,我们会尽快完成匹配入账" |
| 2 | "跨境汇入扣了手续费" | 中间行/汇入行扣除手续费属正常 | "跨境汇款可能产生银行手续费,实际到账金额以银行扣费后为准" |
| 3 | "入金等了好几天" | 中银日期窗口 ±15 天,匹配周期较长 | "中银入金匹配周期较长,请耐心等待,如超过 3 个工作日请联系客服" |
读完之后
| 我想... | 去看 |
|---|---|
| 看中银在各银行中的位置 | 银行能力矩阵 |
| 了解匹配引擎的完整逻辑 | 匹配与自动入账 |
| 看出金通道的执行细节 | 通道执行手册 |
| 查 B2E 错误码和 FTS 状态码 | 统一错误码中心 |
| 查 TransType 和 Bank ID 对照 | 入金规则速查 |
这个页面有帮助吗?