4. Payment Factory核心架构

Payment Factory(支付工厂)不是一套简单的付款审批系统,而是一个把企业分散在各银行、各区域、各ERP中的支付能力集中化、标准化、服务化的企业级支付中台。它的核心价值在于:用统一架构承接多银行、多币种、多法人、多支付方式的复杂支付需求,同时把合规、风控、对账、清算等能力沉淀为可复用的共享服务。理解Payment Factory,关键要抓住它的分层设计、模块划分、核心组件与整体蓝图。

一、核心原理:分层解耦与支付生命周期

Payment Factory架构的第一性原理是分层解耦。传统支付模式下,业务系统直接对接银行接口,导致每新增一家银行就要改一次业务代码,形成“N个业务系统×M家银行”的网状耦合。Payment Factory通过引入中间层,把耦合关系收敛为“业务系统→支付工厂→银行”的星型结构,将复杂度从N×M降为N+M。

从支付生命周期看,一笔支付要经历指令接收、校验、路由、组装、发送、回执、对账、清算八个阶段。Payment Factory的分层设计正是围绕这条生命周期展开:接入层负责接收,处理层负责校验与路由,通道层负责组装与发送,清算层负责回执与对账。每一层只关注自己的职责,层与层之间通过标准报文和内部消息解耦。

核心判断:Payment Factory的架构是否合格,不看它支持多少家银行,而看它新增一家银行时,业务系统是否需要改动。如果业务系统零改动,说明分层解耦真正落地。

二、分层设计:四层架构与职责边界

成熟的Payment Factory通常采用四层架构,每层有明确的职责边界和对外契约:

  • 接入层(Access Layer):面向业务系统、ERP、费控、供应链金融等上游,提供API、文件、消息队列等多种接入方式,完成身份认证、限流、幂等控制和报文格式转换。
  • 处理层(Processing Layer):支付工厂的“大脑”,负责支付指令校验、合规检查、余额与额度控制、路由决策、支付方式选择、批量拆分与合并。
  • 通道层(Channel Layer):对接银行、第三方支付、SWIFT、银企直联等外部通道,负责报文组装、签名加密、协议适配、发送与回执接收。
  • 清算层(Clearing Layer):负责支付结果回执、银行对账单获取、自动对账、差异处理、账务清算与会计凭证生成。

四层之间通过内部标准支付报文(如统一Payment Instruction)和事件消息通信,任何一层的技术升级或通道替换都不应影响其他层。这种设计让Payment Factory具备可替换、可扩展、可灰度的工程特性。

三、模块划分与核心组件

在分层之下,Payment Factory由若干核心模块组成。下表列出主要模块及其关键组件与职责:

模块核心组件主要职责
接入模块API网关、文件适配器、消息监听器多协议接入、认证、限流、幂等
指令管理支付指令池、状态机、指令校验器指令生命周期管理、状态流转
路由引擎路由规则库、决策引擎、优先级队列按币种、金额、银行、成本选路
合规风控黑名单、制裁筛查、额度控制反洗钱、合规校验、风险拦截
通道适配银行适配器、报文模板、签名服务报文组装、加密签名、协议转换
对账清算对账引擎、差异池、凭证生成器自动对账、差异处理、账务清算
监控运维支付看板、告警中心、日志审计实时监控、异常告警、审计追溯

其中,路由引擎和通道适配器是Payment Factory技术含量最高的两个组件。路由引擎决定一笔支付走哪家银行、哪种通道、什么时间发送,直接影响支付成本和成功率;通道适配器则把银行各异的接口协议、报文格式、签名方式封装成统一接口,是“新增银行不改业务”的关键。

四、整体蓝图与典型场景

把分层、模块和组件组合起来,Payment Factory的整体蓝图可以概括为:上游多系统接入、中间统一处理、下游多通道输出、旁路统一监控与对账。下面用一个简化的配置示例说明通道适配器的参数化设计:

channel:
  bank_code: ICBC
  protocol: HTTPS
  endpoint: https://gw.icbc.com/pay/v2
  auth:
    type: CERT
    cert_path: /certs/icbc_client.pfx
  message:
    format: XML
    template: icbc_payment_v2.ftl
    sign_algorithm: SHA256withRSA
  timeout_ms: 8000
  retry:
    max_attempts: 3
    backoff_ms: 2000

在典型场景中,一家跨国企业需要向供应商支付美元、欧元和人民币。业务系统只提交一笔标准支付指令,Payment Factory完成:合规筛查→按币种和银行成本路由→选择SWIFT或本地清算通道→组装对应报文→发送→接收回执→自动对账→生成凭证。整个过程业务系统无感知,新增一家本地银行只需在通道层增加一个适配器配置。

实践提示:设计Payment Factory时,优先定义好内部标准支付报文和状态机。内部报文是各层之间的“通用语言”,状态机是支付指令的“生命轨迹”。这两者稳定后,上层业务和下层通道都可以独立演进。

五、常见误区与复盘

在Payment Factory架构设计中,常见的误区有三个:

  1. 把Payment Factory做成“银行接口集合”:只关注对接银行,忽视路由、合规、对账等共享能力,结果只是把点对点耦合换了个地方,没有真正解耦。
  2. 分层不彻底,处理层直接调用银行SDK:导致通道替换时处理层被迫修改,破坏了分层契约。正确做法是处理层只依赖通道层的抽象接口。
  3. 忽视状态机与幂等设计:支付是典型的“至少一次”场景,网络超时、回执丢失都会导致重复支付。必须在指令层和通道层同时做幂等控制。

复盘一个真实案例:某集团初期把Payment Factory做成“大泥球”,所有逻辑写在一个服务里,新增一家银行需要改动路由、校验、对账三处代码,上线周期长达两个月。重构后采用四层架构,把银行差异收敛到通道适配器,新增银行只需增加配置和适配器,上线周期缩短到三天。这说明架构分层的价值最终体现在变更成本上。

注意:Payment Factory的架构不是一次设计完成的,而是随着银行数量、支付方式、合规要求的变化持续演进。建议每季度复盘一次通道适配器数量、路由规则复杂度和对账差异率,作为架构健康度的核心指标。
Payment Factory 四层架构与核心组件蓝图 接入层 Access Layer API网关 文件适配器 消息监听器 认证与限流 处理层 Processing Layer 指令校验 合规风控 路由引擎 状态机 通道层 Channel Layer 银行适配器 报文模板 签名加密 协议转换 清算层 Clearing Layer 对账引擎 差异处理 凭证生成 审计追溯 上游业务系统 → 接入 → 处理 → 通道 → 清算 → 银行与账务

总结来看,Payment Factory的核心架构可以浓缩为一句话:以分层解耦为原则,以标准报文和状态机为纽带,以路由引擎和通道适配器为关键组件,把支付能力从业务系统中剥离出来,形成可复用、可扩展、可监控的企业级支付中台。掌握这一蓝图,后续的银行对接、路由策略、对账清算等实战内容才有稳固的架构基础。