四张图讲清楚支付系统支付引擎服务最核心设计
支付系统是现代商业的基石,而支付引擎则是其核心组件之一。本文通过四张图深入剖析支付引擎服务的核心设计,详细解读支付引擎如何实现资金的高效转移和管理,为我们提供了一个清晰的支付系统设计框架。 在上篇《三张图讲清楚支付系统收银台后端服务最核心设计》中有介绍过收银后端服务最核心的设计,也有提到收银核心和支付引擎是支付系统最核心的两个子系统之一,两者的配合非常紧密。本篇主要讲清楚支付引擎的最核心设计,包括支付引擎如何去为商户扣款,系统架构,领域模型设计,状态机设计等。 一、简单回顾 收银核心和支付引擎的“双剑合璧,天下无敌”。 收银核心负责支付方式咨询和渲染,以及支付受理。之后就调用支付引擎做真正的支付。 二、支付引擎:资金的搬运工 一旦收银核心完成它的前期准备工作,支付引擎就需要根据支付信息地完成资金的转移。 简单地说,支付引擎就是做资金账户的转移。同时支付引擎处在支付系统的核心位置,所以有些公司也称为支付核心。另一方面,支付引擎封装了多种支付能力,比如余额、外部渠道、营销等,所以有些公司也称为统一支付。 名字各有差异,做的事都一样。 三、支付引擎在支付系统中的位置 支付引擎在支付系统中处于核心地位,所有的资金操作的信息流都会经过支付引擎,包括支付、退款、撤销、提现等。 四、资产交换 对于支付引擎来说,最核心的能力就是资产交换:根据指令把资产从一个账户交换到另外一个账户。比如,支付就是把用户账户的钱交换到商户账户。退款就是把商户账户的钱交换到用户账户。 提现就是把用户或商户在支付平台账户余额的钱交换到用户或商户在外部银行账户。 五、驱动记账 支付引擎除了做信息交换,还需要调用账务进行记账。 六、支付引擎系统架构 支付引擎对外提供:支付、退款、撤销等基础的服务。 在资金交换层面,只有资产的冻结、解冻,扣减、增加。把变化的部分和不变的部分抽取出来。 资产对接只有两在类:内部资产和外部资产。 内部资产包括:余额,内部营销资产。 外部资产包括:外部银行卡、外部第三方钱包等。 七、支付引擎领域模型设计 上面的是业务单据,包括:支付、退款、撤销等。下面是交换单据,包括:交换明细,付方资产,收方资产等。 八、支付引擎状态机设计 8.1. 支付总单 8.2. 普通支付单 8.3. 预授权单 8.4. 请款单 九、结束语 每个公司对于收银核心和支付引擎的设计可能各有不同,但无外乎就是如何为用户计算出可用的支付方式,提交支付后做各种检查,然后把用户的资产交换到商户的资产(支付),或者把商户的资产交换到用户的资产(退款)。 本文由人人都是产品经理作者【隐墨星辰】,微信公众号:【隐墨星辰】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。 题图来自Unsplash,基于 CC0 协议。

支付系统是现代商业的基石,而支付引擎则是其核心组件之一。本文通过四张图深入剖析支付引擎服务的核心设计,详细解读支付引擎如何实现资金的高效转移和管理,为我们提供了一个清晰的支付系统设计框架。
在上篇《三张图讲清楚支付系统收银台后端服务最核心设计》中有介绍过收银后端服务最核心的设计,也有提到收银核心和支付引擎是支付系统最核心的两个子系统之一,两者的配合非常紧密。本篇主要讲清楚支付引擎的最核心设计,包括支付引擎如何去为商户扣款,系统架构,领域模型设计,状态机设计等。
一、简单回顾
收银核心和支付引擎的“双剑合璧,天下无敌”。
收银核心负责支付方式咨询和渲染,以及支付受理。之后就调用支付引擎做真正的支付。
二、支付引擎:资金的搬运工
一旦收银核心完成它的前期准备工作,支付引擎就需要根据支付信息地完成资金的转移。
简单地说,支付引擎就是做资金账户的转移。同时支付引擎处在支付系统的核心位置,所以有些公司也称为支付核心。另一方面,支付引擎封装了多种支付能力,比如余额、外部渠道、营销等,所以有些公司也称为统一支付。
名字各有差异,做的事都一样。
三、支付引擎在支付系统中的位置
支付引擎在支付系统中处于核心地位,所有的资金操作的信息流都会经过支付引擎,包括支付、退款、撤销、提现等。
四、资产交换
对于支付引擎来说,最核心的能力就是资产交换:根据指令把资产从一个账户交换到另外一个账户。比如,支付就是把用户账户的钱交换到商户账户。退款就是把商户账户的钱交换到用户账户。
提现就是把用户或商户在支付平台账户余额的钱交换到用户或商户在外部银行账户。
五、驱动记账
支付引擎除了做信息交换,还需要调用账务进行记账。
六、支付引擎系统架构
支付引擎对外提供:支付、退款、撤销等基础的服务。
在资金交换层面,只有资产的冻结、解冻,扣减、增加。把变化的部分和不变的部分抽取出来。
资产对接只有两在类:内部资产和外部资产。
内部资产包括:余额,内部营销资产。
外部资产包括:外部银行卡、外部第三方钱包等。
七、支付引擎领域模型设计
上面的是业务单据,包括:支付、退款、撤销等。下面是交换单据,包括:交换明细,付方资产,收方资产等。
八、支付引擎状态机设计
8.1. 支付总单
8.2. 普通支付单
8.3. 预授权单
8.4. 请款单
九、结束语
每个公司对于收银核心和支付引擎的设计可能各有不同,但无外乎就是如何为用户计算出可用的支付方式,提交支付后做各种检查,然后把用户的资产交换到商户的资产(支付),或者把商户的资产交换到用户的资产(退款)。
本文由人人都是产品经理作者【隐墨星辰】,微信公众号:【隐墨星辰】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。