Skip to content

交通银行 BANKCOMM

本页说明

讲什么:交通银行渠道侧接口规范 + moomoo 侧适配逻辑 适合谁:PM 了解对接细节 / 开发定位代码 / 运营理解银行特性 前置阅读银行能力矩阵预计阅读:4 分钟 负责人:出入金产品团队

核心要点:交通银行为常规入金通道,采用标准 API 流水采集模式。


能力总览

能力支持情况协议/通道核心服务
入金流水采集API 定时拉取BankFlow 标准消息
入金匹配子账户 + BOCO 跨境标准BankcommMatch.php
自动入账
出金
eDDA/eDDI
银证 BST

交通银行是一个纯入金渠道——通过 API 采集流水后,使用子账户 + BOCO 跨境标准进行匹配推荐,但不支持自动入账和出金。所有匹配结果需要运营人工确认后才能完成入账。


核心参数速查

参数说明
IMPORT_BANK_ID21系统内银行标识 (BANKCOMM)
TransType203入金交易类型
匹配引擎BankcommMatch子账户 + BOCO 跨境标准
自动入账❌ 不支持仅辅助匹配推荐
出金❌ 不支持

入金:API 流水采集

采集方式

交通银行通过 API 定时推送 方式向 moomoo 提供流水数据。与中银的 B2E 主动拉取不同,交行侧定时将新增流水通过 API 推送至 moomoo,系统接收后转换为标准的 BankFlow 消息格式。

数据流

流水字段映射

渠道侧字段moomoo 侧字段说明
流水账号sub_account_no子账户号,用于匹配
交易金额amount入金金额
交易币种currencyHKD/USD
交易日期tx_date交易发生日期
交易序号tx_seq唯一标识,用于去重
付款人信息payer_info汇款人名称和账号

去重机制

系统基于 sub_account_no + tx_seq + currency + tx_date 组合唯一键进行去重,避免 API 重复推送导致的流水重复入库。


匹配规则:BankcommMatch

什么是 BOCO 跨境标准

BOCO 是 Bank of China Overseas(中银海外)跨境标准 的简称。虽然名称来源于中银体系,但这套标准已被复用于所有涉及跨境入金的匹配场景,包括交通银行。

BOCO 标准的核心特点:

  • 更宽的日期窗口:跨境汇款在途时间不可控,需要更大的日期容差
  • 更大的金额容差:中转行可能扣取手续费,实际到账金额与汇款金额不一致
  • 适应跨境不确定性:整体设计目标是降低因跨境汇款延迟和费用导致的匹配失败率

匹配维度

BankcommMatch 使用 三维匹配:子账户验证 + 金额容差 + 日期窗口。

1. 子账户验证

维度规则说明
子账户流水账号必须在用户历史子账户列表中通过 SubAccountSDK 查询

交通银行的入金流水通过子账户号关联到用户。系统会维护每个用户的历史子账户列表,匹配时先验证流水中的账号是否属于某个用户的子账户,只有通过子账户验证的流水才会进入金额和日期匹配。

SubAccountSDK 调用逻辑
SubAccountSDK::getSubAccountList($user_id)
→ 返回用户绑定的所有交行子账户号列表
→ 检查 bank_flow.sub_account_no IN 列表

2. 金额容差(BOCO 跨境标准)

币种容差范围说明
HKDCRM - 300 ≤ 流水 ≤ CRM允许中转行扣费最多 300 HKD
USDCRM - 45 ≤ 流水 ≤ CRM允许中转行扣费最多 45 USD

CRM 指用户提交的入金申请金额(CRM = Customer Request Money)。

为什么容差这么大? 交通银行的入金场景主要是跨境汇款。跨境汇款会经过一个或多个中转行,每个中转行都可能扣取手续费。这些费用在汇款发起时无法预知,所以需要较大的金额容差来覆盖这种不确定性:

  • HKD 300 的容差可以覆盖 1-2 个中转行各扣 100-150 HKD 的场景
  • USD 45 的容差对应 HKD 300 的大致汇率换算

与本地转账容差的对比

本地银行(如中银 FPS 到账)的 HKD 容差通常只有 -20,因为本地转账没有中转行扣费。交行的 -300 是所有跨境银行中较为典型的数值。

3. 日期窗口(BOCO 窗口)

维度范围说明
日期窗口申请日期 -7 ~ +4所有银行中最宽的日期窗口

为什么是 -7 ~ +4 天?

这是所有银行中最宽的日期窗口,原因有三:

  1. 跨境汇款在途时间长:资金从内地交行汇到香港可能需要 2-5 个工作日,遇到节假日可能更长
  2. 用户提前提交申请:部分用户在汇款前就提交了入金申请,所以需要向前看 7 天
  3. 银行处理延迟:银行侧可能因为合规审查等原因延迟到账,所以需要向后看 4 天
与其他银行日期窗口对比
银行日期窗口场景
交通银行-7 ~ +4 天跨境汇款(最宽)
中银 BOCHK±15 天本地+跨境(绝对值最大,但对称)
渣打 SCB-3 ~ +2 天本地转账(标准窗口)

匹配流程

为什么不支持自动入账

交通银行不支持自动入账,原因是:

  1. 跨境汇款复杂度高:中转行扣费金额不确定,匹配置信度不如本地转账
  2. 子账户信息有限:仅凭子账户号和金额,无法像 BST 那样做到 100% 确定性匹配
  3. 风控要求:跨境入金涉及反洗钱合规,需要运营人工确认汇款来源

因此,BankcommMatch 的匹配结果仅作为推荐呈现给运营,由运营人工确认后完成入账。


双方功能对应矩阵

功能渠道侧(交通银行)moomoo 侧字段映射说明
流水采集API 定时推送BankFlow 标准消息直接映射交行推送,moomoo 接收
子账户管理提供子账户信息SubAccountSDKsub_account_no匹配前置条件
匹配BankcommMatch.php子账户+BOCO标准三维匹配
自动入账❌ 不支持仅人工确认
出金❌ 不支持
对账提供对账文件人工对账无自动化对账

异常场景处理

常见异常

异常场景表现处理方式
API 推送延迟流水迟到,用户投诉入金慢等待下一次推送;紧急情况联系交行
子账户不在列表流水无法匹配到任何用户检查用户是否已绑定该子账户,必要时手动添加
金额差异超过容差中转行扣费异常高运营手动核实后人工入账
重复流水同一笔流水被多次推送系统自动去重,无需处理
日期超出窗口汇款在途超过 7 天运营手动匹配,必要时扩大窗口查询

异常升级路径

发现异常 → 运营自查(子账户/金额/日期)
         → 开发介入(BankcommMatch 日志)
         → 银行协查(联系交行对接人)

运营操作指南

日常操作

操作频率说明
查看匹配推荐列表每天确认或拒绝 BankcommMatch 的推荐结果
检查未匹配流水每天排查是否有用户反馈入金未到账
子账户维护按需用户新增或变更子账户时更新

入金审核要点

运营确认交行入金匹配时,需要关注以下几点:

  1. 核实子账户归属:确认流水中的子账户号确实属于该用户
  2. 核实金额合理性:扣费金额是否在正常范围内(HKD 通常 50-200)
  3. 核实汇款人信息:汇款人名称是否与用户本人一致(反洗钱要求)
  4. 关注大额入金:单笔超过一定金额的入金需额外审核

定时任务

任务频率说明
流水采集API 推送触发接收交行推送的流水数据
match:bankcomm定时执行执行 BankcommMatch 匹配
子账户同步每天同步用户最新的子账户信息

需求变更指引

如果需要修改交通银行相关的业务规则,以下是具体的改动位置:

变更需求改动位置说明
修改金额容差BankcommMatch.php → BOCO 容差参数调整 HKD/USD 的容差阈值
修改日期窗口BankcommMatch.phpdaySimilarBoco()调整 -7~+4 天的范围
启用自动入账BankcommMatch.php → 添加 depositInstance 返回需评估风控影响
修改子账户逻辑BankcommMatch.phpSubAccountSDK调整子账户查询和验证逻辑
新增支持币种BankcommMatch.php → BOCO 容差表添加新币种的容差配置
调整匹配频率deposit/doc/crontab.shmatch:bankcomm调整 cron 间隔
修改推送接收逻辑流水接收服务 → BankFlow 转换逻辑适配交行 API 变更

启用自动入账需谨慎

如果业务要求启用自动入账,需要:

  1. 评估跨境匹配的误匹配风险
  2. 可能需要增加姓名匹配维度
  3. 需要与风控团队协商确认
  4. 建议先在小流量范围内灰度验证

与其他跨境银行的对比

维度交通银行广发银行 (CGB)中银 (BOCHK) 跨境
入金方式API 推送FPS 流水采集B2E API 拉取
匹配标准BOCO 跨境本地标准本地+跨境双标准
HKD 金额容差-300-20-420(跨境)/ -20(本地)
日期窗口-7 ~ +4 天-3 ~ +2 天±15 天
自动入账
出金✅(FTS/FPS)

代码位置速查

模块路径说明
匹配引擎deposit/src/app/Business/Match/BankcommMatch.php核心匹配逻辑
BOCO 容差BankcommMatch.php → BOCO 容差参数金额容差配置
BOCO 日期BankcommMatch.phpdaySimilarBoco()日期窗口逻辑
子账户查询SubAccountSDK用户子账户列表查询
定时任务deposit/doc/crontab.shmatch:bankcomm 调度

监控与告警

告警项触发条件严重度处理步骤
API 连接超时交行 API 无响应🟡 中检查网络,确认交行侧服务状态
BOCO 日期偏移流水日期与交行系统日期不一致🟡 中确认 BOCO 日期转换规则,检查时区
流水采集重复同一笔流水被重复采集🟡 中检查去重逻辑,确认流水唯一标识

API 接口字段详情

流水查询请求

字段类型必填描述
acct_nostring交行账号
start_datestring查询起始日期。BOCO 格式
end_datestring查询结束日期。BOCO 格式
currencystring币种过滤

流水响应字段

字段类型描述
txn_datestring交易日期(BOCO 格式,需转换)
txn_amountdecimal交易金额
balancedecimal交易后余额
txn_typestring交易类型代码
counterpartystring对手方信息
narrativestring交易摘要

与建银/星展的 BOCO 对比

交行、建银、星展三家银行都使用类似的 API 流水采集模式,但实现细节有差异:

维度交通银行建银 CCB星展 DBS
接口协议REST API (JSON)REST API (JSON)SubAccountSDK
日期格式BOCO 标准BOCO 标准ISO 8601
姓名匹配不要求精确匹配不要求
金额容差 (HKD)-20-20-350(自动)
日期窗口-3~+2 天-3~+4 天-3~+2 天
子账户不支持不支持✅ 支持
多币种HKD / USD / CNHHKD / USDHKD / USD
出金能力❌ 仅入金❌ 仅入金❌ 仅入金

三家的共同特点

这三家银行目前都只接入了入金流水采集,不支持出金。用户如需出金,需使用其他银行通道(如 BST、网银、FPS 等)。


读完之后

我想...去看
看交行在各银行中的位置银行能力矩阵
了解匹配引擎的完整逻辑匹配与自动入账
了解 BOCO 标准在其他银行的应用中银 BOCHK
查 TransType 和 Bank ID 对照入金规则速查
了解其他不支持出金的银行建银 CCB工银 ICBC
这个页面有帮助吗?

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