今天串讲支付系统的7大核心子域/模块,包括收单结算,资金产品,收银支付,渠道网关,会员平台,商户平台,账务中心等。
一个完整的支付系统包含了很多模块或子域,在跳过几家公司后,发现各家支付公司的系统,从逻辑划分上基本大同小异,有些名字不一样,但本质是一样的,因为大家基本都脱胎于银行,而银行就那么几家供应商。
当然,代码实现或技术栈差异很大,比如RPC框架,数据库,业务流程,部署架构等,那些几十万高并发的处理能力恰好是这些技术栈的组合。
如果是单体应用,就是模块,如果是微服务,就是子域,本质都是逻辑划分,后面不做区分。

说明:

说明:

说明:
收单结算域负责把商户的单收下来,并给商户发起结算。

收单模块负责把商户的单收下来。承担的收单产品包括有:线上收单,线下收单,担保交易、即时到账等,每个公司的商业策略不同,开出的收单产品会有差异。

结算模块负责给商户发起结算,有些公司把结算划归到出款中心,对接银企直连的渠道。

资金产品承担无买卖标的的纯资金转移能力。典型的有:充值、转账、提现、代发、红包等。
和支付的区分在于支付是有买卖标的(实物商品或虚拟商品),而资金产品没有。也就是在系统中没有买卖记录发生,但在线下可能有。
资金产品一般需要独立的牌照。
收银支付负责支付方式渲染和实际的扣款处理。如果细拆可以拆成收银核心和支付引擎。

收银核心负责渲染可用支付方式。包括查询账户是否有余额,查询营销是否有营销券,查询渠道网关是否有可用的外部渠道,最后组合成可用支付方式,供前端渲染。
收银核心就像一个大内总管,收到请求后,找商户平台核实身份,找合约平台核实权限,找会员平台核实用户身份,找收单看一下这笔单是否可以继续支付,找账务中心获取余额信息,营销看看有没有可用的券,找渠道网关看看没有可用的渠道,找额度中心看看是否超限额了,找风控问一下当前支付是否安全,找会员平台校验支付密码 ... ...

支付引擎负责真正的扣款或转账。有些公司叫支付核心,统一支付等。其本质是把资产从一个账户交换到另外一个账户。
如果是余额就调账务扣减余额,如果是红包就调营销做核销,如果是外部银行通道就调渠道网关。

渠道网关负责去外部渠道扣款,通常还会提供渠道路由、渠道咨询等能力。
做得细的公司可能会把渠道核心和报文/文件网关单独拆成独立的子应用,其中渠道核心就提供渠道路由、渠道咨询、渠道开关等服务,报文/文件网关负责报文转换、签名验签等。

会员平台管理会员的生命周期,比如注册、注销、登录等。同时还提供核身服务(比如登录密码,支付密码,短信验证码等)、实名认证服务等。
管理商户的入驻、登录、交易管理等。

商户平台负责管理商户的生命周期,包括入驻签约、KYB、交易管理等。

账务负责账户管理,记账,对账等资金管理业务。里面还可以继续细分为账务核心,会计中心,清算结算等模块。
记账服务与会计中心简要关系

为便于理解,这里做了极简化处理。
记账服务负责记账,主要关注账户余额变动等;会计中心负责会计核算,主要关注点在于会计分录、科目汇总、会计报表等。实际情况会比这个复杂。
上面画的只是逻辑架构,顶多算是PPT架构师或画图架构师,离真正的落地还很远,不过对于讲清楚支付整体结构,抓住主要脉络是已经足够的。
本文作者“隐墨星辰”,深耕境内/跨境支付架构设计十余年。