深度解析第三方支付结算系统的架构设计与工作原理

2024-07-26
来源:网络整理

在现代数字经济中,第三方支付结算系统发挥着至关重要的作用,为线上交易提供便捷高效的清结算服务。本文将探讨支付结算系统的架构设计,特别是其两个核心耦合环节——线上交易环节和日终结算环节,以及它们如何协同支撑整个支付生态的稳定运行。通过详细分析支付系统的分层架构、业务架构和处理流程,读者将全面了解支付系统的工作原理。

我们这里说的支付,是三方支付使用的支付结算系统,可以为买家和卖家提供在线交易、清结算功能。很多人觉得支付架构很难画,其实是因为没有掌握重点,因为支付系统是负责清结算业务的,所以架构以会计为核心,用两个耦合的环节来表示。

1. 两个联轴器

之所以设计成耦合交易环节,是因为资金无法像指令一样在网上传输,所以我们跨行网上交易全部采用待结算的方式。

待结算是指指令实时下达,处理结果以记账的方式记录下来,此时客户看到的资金是待结算的,资金到账后,支付系统根据银行的清算单据,将账户信息转换成资金结算给客户,此时客户看到的资金是可用的。

图1:支付架构中的两个耦合环节

1. 网上交易链接

线上交易是从网关到渠道的跨行支付指令,在这个过程中会通过收银员进行支付,会员系统会验证客户身份,整个过程中系统会将指令的支付结果记录在会计系统中;此时客户查询到的余额还不能提现,而是处于待结算状态。

2. 日终会计环节

日终银行清算后,对账系统将银行清算单据与付款数据进行核对,确认无误后进行客户清算、渠道结算。最后完成总账的汇总核算,实现资金与账务的最终一致。

为什么是耦合的?

这幅图是不是很眼熟?是的,这就是银行会计的“现金收付制”,这也是我提出信息、账户、资金支付一体化的原因。

2. 分层支付架构

支付系统根据客户订单完成跨行支付,并最终将资金划转到收款人的账户,因此整个系统分为“一个系统、两个渠道、三层架构”。

图2:支付系统架构分层

1. 系统

为了实现买家与卖家的跨银行支付收款,支付平台将支付产品包装成接口或支付页面供客户使用,通过系统层层转换,实现资金跨银行转入收款方账户。

2. 两个渠道

(1)网关/终端(接入端)

它是支付系统的“接入点”,通过接口、页面、终端设备等向用户提供支付产品,进行支付、开户、认证等操作。同时您需要安装“密钥和证书”才能接入网关或者使用终端设备,保证您支付的安全。

(2)通道(输出端)

它是支付系统的“出端”,负责对接第三方、银行、清算机构的支付接口,转换成标准的支付产品,供上级产品使用。如果选择对接多家银行的同一款支付产品,它可以根据“订单、渠道、稳定性”动态选择路由。

(3)三层架构

①产品层(场景化包装)

产品层是为了适应不同场景的支付需求,将基础支付产品包装成针对不同场景的支付产品,满足不同行业的支付需求。比如针对个人用户的B2C、C2C支付,针对企业的B2B支付,针对金融机构的消费者支付;所以产品层是对基础产品的场景化包装,方便不同用户的使用。

②交易层(基础支付产品)

为用户提供基础支付产品,包括充值、提现、收款、分账、缴费等支付服务,满足多场景基础支付需求。主要包括收银台、交易系统、客服系统三部分。

③核心层(原支付服务)

“核心层”又称“支付层”,为交易层提供原有的记账、通道、清结算服务,重点关注内部的记账逻辑和支付通道处理逻辑。核心层也代表一个系统最核心的能力,决定上层产品是否好用。主要包括支付引擎、记账核心、对账中心三部分。

3.支付业务架构

图3:支付业务架构

业务架构,顾名思义,就是针对业务场景提供的架构图,主要目的是让非技术人员了解系统具备哪些能力,以及系统提供的能力是否符合预期。业务架构一般分为“架构图、流程图”两种图,架构图负责展现系统的功能结构,流程图负责展现功能之间的关系。

从支付业务架构中我们可以看到,相比分层架构,实际业务架构中多了很多辅助系统来支撑支付业务的运行。但支付业务最核心的闭环依然是支付服务中的八大模块,下面我们来一一介绍一下。

1.收银系统

收银系统以页面的形式提供给用户进行支付收款,同时针对不同的支付终端也提供了多种类型的收银,我们按照终端类型分为H5收银、SDK收银、小程序收银、WEB收银、聚合支付码五大类,收银类型有很多,主要依靠支付场景的封装让用户支付更加顺畅。

2. 交易系统

从前面的介绍我们知道,交易系统是面向支付场景和用户提供的服务,因此它的主要职责是处理业务场景复杂多变的支付处理需求。

图4:交易系统的核心能力

(1)支付服务提供商

交易系统是支付服务的提供者,负责向外部用户提供收款、付款、余款支付等交易方式,并以订单的形式记录支付处理过程。

(2)交易服务提供商

根据不同的场景,还提供担保交易、联合支付、合并支付等分账交易,将资金分配给交易的参与方,所以我们使用的支付产品其实都是交易系统提供的服务。

3. 客户系统

顾名思义,就是为客户提供服务的系统。客户注册的时候,都是会员角色。随着客户开立不同的账户,身份也不同。比如客户开立基础账户就是用户角色,而申请支付产品、开立特约代理就是商户角色。因此,系统表现为面向C端的用户钱包、面向B端的商户平台、提供技术对接的开放平台。

4. 产品中心

产品中心是对外销售产品的包装配置中心,通过灵活的模板可以配置商户相关的签约产品、账单信息、交易限额等,其作用是提高配置效率,通过组件化的配置工具可以快速构建一个新的支付产品并提供给客户。

5. 支付引擎

支付引擎,顾名思义就是支付的引擎,负责所有系统、账户、渠道的支付流程处理。

图5 支付引擎核心能力

(1)支付提供商

它将底层支付账户、支付通道管理的复杂性屏蔽在交易层的“交易系统、客服系统、收银机等”之外,让交易层专注于业务场景,即使底层渠道更换、账户调整,交易层也不会受到影响。

(2)进程调度器

有了支付引擎这个老大,所有流程处理相关的“脏活”都交给它来做,账户、渠道、清结算,各自做好自己的工作就行,如果涉及到其他系统,只要通知“支付引擎”去做就行。

6. 会计中心

三方支付数据保留多久_第三方支付数据_第三方支付统计数据

会计中心又称会计系统或会计核心。总系统包括会计、记账、总帐三部分。会计提供对外会计服务,实时更新客户账户余额。会计部分用于登记会计账簿,更新内部账户余额。总帐是一天结束时的汇总会计服务。只有总帐平衡后,当天的业务才算结束。

7. 账户对帐中心

又称清算结算系统、资金系统,负责与支付渠道对账、处理差错、清算费用以及结算客户资金。同时,清算结算系统还负责处理无法在实时交易中完成的资金收付划转等结算操作。

4. 支付架构流程

由于支付系统对交易处理性能和资金结算效率的要求较高,因此采用流水线作业方式。从上面介绍的两个耦合环节我们知道,支付架构流程体现在两个环节:上线环节和结算环节。

图6:支付系统流程图

1. 网上交易链接

线上交易链路形成从“网关”到“通道”的支付请求处理管道,客户、收银员、账户及清结算节点对管道传输的信息进行逐级处理,完成客户信息验证、资金账户获取、收银员显示、账户登记、通道路由及跨行收付款等操作。

2. 日终结算环节

结算环节又称清结算流程,对日内实时发生的交易进行对账、清算结算等流程,只有日终处理完成后,当日的交易才算完成。

接下来我们就按照这两个环节来详细介绍它的处理机制。

五、网上交易环节1、获取流程

收单是第三方支付的核心业务,场景丰富多样,因此系统流程相对复杂,我们将介绍“API支付”、“结账支付”、“小程序支付”等几个典型场景。

(1)快捷支付(API直接支付)

快捷API支付,首次发送短信验证码绑定银行卡,收单机构会提供协议号给商户保存;后续短信验证码可免除,绑定卡时发送协议号即可完成免密码扣款。具体流程如下图所示:

图7 快捷支付流程

(2)收银处付款(在当地收银处付款)

收银台支付包括H5支付和SDK支付(APP内集成),因为可以在收银台封装更多的支付方式,所以又被称为“聚合收银台”。这里我们介绍的场景是用户在收银台选择本地绑定的银行卡,因此扣款就可以通过快捷支付完成,不需要跳转到第三方。具体流程如下图所示:

图 8 当地收银台的付款流程

(3)小程序支付(渠道收银支付)

以小程序支付、APP支付、微信H5支付、公众号支付、二维码支付等为代表,都需要跳转到渠道方的收银台输入密码并完成支付。这种支付方式对于顾客来说更加安全,但是也更加封闭,因此交互体验也要复杂很多。具体流程如下图所示:

图9:收银台付款流程

从上图我们可以看出,使用“交易”和“支付”作为流程调度器的优势已经显现出来,它们可以随意定制支付流程,满足复杂场景的支付处理需求。

2. 余款支付

余额支付是基于账户余额进行的交易,如“充值、提现、转入账户、转入卡”。

(1)账户充值(充值API)

账户充值流程与收单类似,即充值时需要实名认证后判断账户与绑定的银行卡是否为同名账户,具体流程如下图所示:

图10 账户充值流程

(2)账户提现(支付API)

提现是充值的逆向交易,因此获取账单信息、验证卡上同名流程与充值基本一致,区别在于记账方式不同,是先扣除客户余额,再将款项打到渠道商,资金处理更加安全。

图11 账户提现流程

(3)转入银行卡(支付API)

卡内转账又称“代付”,其支付、核算、渠道处理等与“现金取款”类似,不同之处在于收款人不是本人。

图12:转卡支付流程

6. 日终结算链接

日间实时支付交易完成后,日终结算就开始了。收单交易、充值交易等跨行收款交易的资金必须结算给客户和商户,并向商户提供账单。这样,当天的业务才算完成。现在我们来介绍一下日终结算的流程。

图 13 日终结算流程

1. 系统对帐

下载渠道、支付系统、交易系统的对账文件进行对账,先核对渠道账,再核对交易账,并按照商户账户维度进行交易清算和扣费。

2. 误差调整

若对账后仍有错误,则通过该渠道在“帐号体系”中对账错误进行调整。

3. 渠道畅通

当日对账无误后,以当日应收应付净额及通道银行存款账户期末余额,在账户体系中记录当日结算账户。

4. 商户结算

当天对账无误后,按照各商户及客户的待结算资金进行结算,并将收款到账即可使用。(因为是以渠道方为单位,所以渠道结算与商户结算没有必然的先后顺序,只要账目平衡即可进行)

5. 商户提款

商户结算完成后,若商户设置了自动提现,系统会在T+1日自动完成商户的付款操作,并生成商户结算账单。

6. 会计

渠道清算、商户结算完成后,账户体系的会计模块会对当日账目进行核算、平衡,最终生成报表,并对当日的交易进行处理。

七、结论

最后我们来总结一下,支付系统架构层面体现在“线上环节、日终环节”联调环节,由于跨行支付时存在指令不匹配、资金到账时效性等问题,采用日记账方式记录待结算资金,通过日终清结算为客户完成跨行资金结算。

线上交易通过“网关、交易、收银、客户、支付、渠道”六大模块完成跨行支付及账务登记,日终环节通过“支付、对账、账务、核算”六种模式完成跨行资金清算交收。

分享