2. 银行直连基础概念
在进入架构设计之前,必须先厘清一组经常被混用的术语。很多项目在需求评审阶段就埋下隐患:业务方说“要银企直连”,技术方理解成“调银行API”,而银行方给出的方案却是“Host-to-Host文件交换”。三者并不是同一件事。本节把 Host-to-Host、银企直连、SWIFT、CNAPS、网银、API直连放在同一张坐标系里,从“谁连谁、走什么通道、传什么报文、解决什么问题”四个维度做辨析。
一、核心原理:六个术语的定位差异
先给出一句可记忆的定位:Host-to-Host 是连接方式,银企直连是业务模式,SWIFT 与 CNAPS 是清算网络,网银是面向人的渠道,API 直连是接口形态。它们处在不同层次,因此可以组合,而不是互相替代。
- Host-to-Host(H2H):企业主机系统与银行主机系统之间建立专用通道,通常基于文件交换(如 ISO 20022 XML、定长报文)或消息队列,强调批量、稳定、可对账。它是“系统对系统”的底层连接形态。
- 银企直连:企业 ERP/资金系统与银行系统对接,实现账户查询、支付、归集、对账等业务自动化的整体方案。它描述的是业务目标,底层可以用 H2H,也可以用 API。
- SWIFT:全球银行间金融电信网络,主要解决跨境、跨行报文传递,如 MT103、MT202、MX 报文。企业一般不直接接入 SWIFT,而是通过开户行间接使用。
- CNAPS:中国现代化支付系统,包含大额实时支付(HVPS)、小额批量支付(BEPS)、网上支付跨行清算(IBPS)等子系统,是国内跨行清算的国家级基础设施。
- 网银:面向企业财务人员的图形化操作渠道,人工登录、手工制单、U盾复核。它解决“人操作银行”的问题,不解决“系统自动操作银行”的问题。
- API 直连:银行以 RESTful/HTTPS 接口暴露能力,企业系统按需调用,实时性高、粒度细,适合单笔支付、余额查询、回单获取等场景。
二、方法流程:从业务需求到通道选型
实际项目中,通道选型应遵循“业务场景 → 时效要求 → 报文标准 → 接入方式”的推导顺序,而不是先定技术再找场景。下面给出一个可复用的判断流程:
- 识别发起方:ERP 自动发起选 H2H 或 API;财务人员手工发起选网银。
- 确认时效:T+0 实时到账选 API 或 HVPS;批量代发选 H2H 文件。
- 确认范围:境内跨行走 CNAPS;跨境走 SWIFT 或银行跨境 API。
- 确认报文:ISO 20022、MT 报文、银行私有定长格式,决定解析与映射工作量。
- 确认安全:专线、VPN、证书、签名验签、IP 白名单,决定部署与运维成本。
以一笔供应商付款为例,若企业希望 ERP 审批通过后自动付款并回写状态,典型链路是:ERP 生成支付指令 → 银企直连平台做报文映射与签名 → 通过 H2H 专线或 API 提交银行 → 银行经 CNAPS 完成跨行清算 → 回单与对账文件回流至企业资金系统。整个过程中,SWIFT 通常不参与,因为这是境内人民币支付。
三、典型应用场景对照
下表把常见业务场景与推荐通道做映射,可作为选型清单使用。注意“推荐”不等于“唯一”,实际仍受银行产品能力约束。
| 业务场景 | 发起方 | 推荐通道 | 关键报文/网络 | 时效 |
|---|---|---|---|---|
| 供应商批量代发 | ERP 自动 | Host-to-Host | 银行定长/XML 文件 | 批量 T+0 |
| 单笔紧急付款 | 资金系统自动 | API 直连 | HTTPS + JSON | 实时 |
| 跨境货款支付 | 财务人工复核 | 网银 + SWIFT | MT103 / MX | T+1 至 T+2 |
| 账户余额监控 | 资金系统自动 | API 直连 | 查询接口 | 准实时 |
| 境内跨行清算 | 银行后台 | CNAPS | HVPS / BEPS | 实时或批量 |
| 回单与对账单获取 | 系统自动 | H2H 文件 | 对账文件 | T+1 |
四、误区与复盘:三个高频踩坑点
误区一:把“银企直连”等同于“API 直连”。银企直连是业务模式,底层可能是 H2H 文件,也可能是 API。若在合同中只写“银企直连”,银行可能交付文件交换方案,而企业期望实时接口,导致验收争议。
误区二:认为 SWIFT 可以替代 CNAPS 做境内支付。SWIFT 是跨境报文网络,境内人民币跨行清算必须走 CNAPS。用 SWIFT 发境内指令不仅成本高,而且不符合清算路径。
误区三:忽视报文映射与对账闭环。很多项目只关注“付出去”,忽略回单、对账文件、异常冲正。H2H 场景下,若文件解析字段错位,会导致对账长期挂账。建议在联调阶段就固定以下日志格式,便于排障:
[2024-06-11 09:12:03] H2H_SEND file=PAY_20240611_001.xml size=18432
[2024-06-11 09:12:05] BANK_ACK code=0000 msg=接收成功
[2024-06-11 09:15:22] H2H_RECV file=ACK_20240611_001.xml status=PARTIAL_FAIL
[2024-06-11 09:15:23] PARSE_ERROR row=37 field=ACCT_NO expect=20 got=18
[2024-06-11 09:15:23] ACTION=人工复核并重发失败明细
复盘建议:在架构设计阶段就建立“术语对齐表”,把业务方、企业技术方、银行方对同一术语的理解写进接口文档。例如明确“直连”指系统对系统自动交互,“网银”指人工操作,“H2H”指文件或消息通道。术语一旦对齐,后续的报文规范、安全方案、对账机制才能在同一语境下推进,避免因概念错位导致的返工。