一、概述

从业多年经手过的印象比较深刻的几个系统,我将其中对账及清结算系统进行了剥离,着重为大家分享一下支付系统需要具备哪些功能,以及当时在实际搭建过程中,我们对于功能及整体做出的具体选择。
image.png
首先如图所示,支付的整体现状就是:
(1)、支付链路长
链路长其实大家是有具体体会的。例如:C 端客户在线下商超或餐饮进行了购物消费,紧接着会通过入网商户,入网商户将本笔交易上传到第三方或第四方支付公司,最终通过银联网络完成银行卡内交易的资金清算。实际生活中,还有可能通过资方支持(例如小贷)完成非银行卡资金的交易扣款。
相比较传统的现金购物方式,互联网支付链路非常长。
(2)、各参与方均需获取收益
支付链路长,就涉及到各个参与方需要获取收益,毕竟服务不是 0 成本的。如何计算这些收入并完成对账和结算,便显得尤为重要。
基于此,账务对账和结算相关的系统的重要性不言而喻。

二、支付系统业务架构

image.png
首先给大家讲一下,这个并不是一个标准的支付业务架构图,这个架构图是从财务架构的角色出发而画的。
首先看接入层,从事支付相关的同学应该做过订单的接入,可能有 App、外部收银台等,这种接入与上图的架构图是不同的。从财务架构的角度来说,接入相当于本笔交易本身,更关注产品、产品属性、交易的方式等等。例如付款方以会员身份发起资金管理类交易,或者付款方以会员身份主动发起购物类结算等。
可将支付业务架构核心分为三层:
(1)、第一层:接入层;
(2)、第二层:支付、交易、渠道层。
(3)、第三层:资金层。

2.1、为什么要关注交易层

上文提到的,财务架构更关注交易的产品属性、交易的场景属性,关注这些的目的在于:
(1)、支付机构在给商家及渠道做签约的过程中,不同的场景及不同的产品就会涉及到不同的费率;
(2)、支付机构如京东金融,需要核算各个不同产品的收入、成本、利润。
因此从财务架构的角度来说,此类信息应当在接入层(即收银台/POS刷卡接入系统),将上述属性进行传输。

2.2、交易支付渠道层

这一层把控影响着整个支付环节资金的来源于去向,所以在财务架构严重非常重要。例如交易层的银行卡收单,对于网关支付和快捷支付它的支付形式是不一样的,因此渠道商对支付公司、支付公司对商户的签约费率也是不一样的。但是对这两种不同产品的交易,资金的流转是一样的,银行把钱给支付机构、支付机构把钱结算给商户。
基于上述内容,对交易层的直接感官就是需要按照交易类型进行区分:第一种是银行卡支付,第二种是虚拟币支付(例如京豆、优惠券),第三种是余额支付(在支付机构支付账户余额)。

2.3、资金层

首先介绍一下对整个清结算分为四类进行讨论:
(1)、代收款结算;
(2)、代收款分账;
(3)、货款结算;
(4)、分润。

三、账户系统

账户系统的分类从账户属性入手,分为:
(1)、储蓄账户:类似于银行的储蓄账户,就是支付账户。
(2)、信用账户:即将要产生一些贷款账户;另企业债和银行作为普通消费者与商家是不会过多关注的,但公司级财务是特别需要关注的。通过企业账,财务可以知道企业的损益情况;通过银行账,可以得知公司的收款、应收款、应付款以及成本等具体情况。

3.1、核算

如图所示包含交易对账、资金对账、差错处理以及财务报告等四个功能。
image.png
当一笔交易通过订单完成到支付的环节的时候,通常的做法就是由一个支付信息到支付交易系统(各个公司的叫法可能不一样,有些公司可能叫支付页网关或者说叫总线的,我个人更多的叫支付交易系统),紧接着:
(1)、要请求支付渠道把钱扣下来;
(2)、要入到公司自己内部的账务系统,把这笔交易记下来,并且记录收款和付款的参与方;
(3)、要从交易系统把这笔钱给到清结算系统去完成资金的清算;
(4)、清算就要参与到计费,就涉及到计费中心,完成手续费的计算;
(5)、清算完毕后,会根据与商户签约的一些结算周期去完成它的结算;
(6)、通过合同中心获取结算周期的信息;
(7)、(可能因为有些为了更加突出自己支付账户,很多支付机构都是把自己的对商户的结算款先要结算到他自己的账户里,就这样的话在结算的环节就会走一步)结算入账会把钱入到支付机构的支付账户,然后最终如果是商家说我给你签的合同需要把钱打到我的银行卡中,会通过一个结算出款,通过他的账户把钱存到银行卡上。
通过支付渠道也可以理解为当笔交易资金过程,而资金过程最重要的一点就是要保证资金安全,因此需要进行交易对账。
首先从支付渠道会从银行或者说资方去拿到银行对账单,同时和公司的账务系统去对每一笔资金的流水去做勾兑,并将差错进行处理。

四、账务系统

整个账户的体系中还需要着重关注的是账户体系,即账户结构和账户包含哪些内容,核算要求那是会计必然要有的会计分录。
image.png
简单来讲,产品就是说商家对个人提供业务形式;交易类型即在场景的基础上对整个交易作一个共性的抽取,在整个交易过程中不同的阶段会把它分成:例如收单,虽然都叫快捷收单,但是快捷收单会包含收单退款,甚至有可能会有退票的交易产生;账户体系主要基于前面的产品或者说交易的变化,我的账户的余额会发生变化,账户会有不同的流水;最终的会计分录用于财务核算。
image.png
如图所示,这个账户的含义,其实是有渊源的。08、09 年之前,支付机构的账户体系尚未提出,许多公司会有余额系统。现在账户和当年的余额很类似,但不完全一样。
(1)、首先,账户包含账户号、账户类型,账户余额有可能包含我的可用余额以及我的冻结余额等等。
(2)、接下来是账户流水,方便用户了解余额变动的具体情况,自然就会产生流水号。
(3)、最后是账期对于普通用户不会特别关注,但是对于核算需特别关注。
但是在做第三方支付的过程中,更多是参照于银行账户进行设计。每一笔流水需要:对手方是谁?
例如:对方是银行卡收单的,需要记为商户的帐,因为贷记了对公司来说是负债的。这个商户今天有 100 块钱收单,他的对手方是谁,对手方可能是某一个个人,相当于付给商户的 100 块钱,这是说我要知道我的对手方。
然后是凭证号,所有的债务最终会拆到会计分录上,会计分录就是会计凭证,会有会计意义上的借和贷两方,通过凭证号能够看到账户流水是不是有缺失、是不是有差错,通过会计凭证的借和贷方发生额可以核算。
第三是摘要,摘要其实也是参照于银行账户,因为无论是过去的存折还是现在的银行卡流水都会给摘要或者备注,帮助记录每笔钱是什么来源及用户。
image.png
基于账户的组成,做支付账户系统的时候可以将账户分成四类账户:
(1)、个人;
(2)、商户;
(3)、银行账户;
(4)、第四类是平台账户。
银行账户是相对于资金渠道开立,记录某个资金渠道应收和应付的资金,方便对银行渠道做资金核对。在最后会多设一个账户叫银行余额户,表外户的概念是支付机构会给每一个银行账号开一个影子户,即银行卡有 100 块钱,我公司内部也要记录着银行的余额是 100 块钱,相当于是说要和我的银行流水是银行的真实的资金流是一致的,为了方便完成核算做资金对账余额调节表。
image.png
上图是一个标准的会计做账流程,手工做的也是这套流程。首先登记原始凭证,通过原始凭证拆分会计凭证并更新账簿(更新分户账以及账户余额)。
举个例子:银行卡收单 100 元,记应收账款某某资金通道,假设工行应收 100 ,然后会记录应付商户的货款,应收商户货款是 100 ,我这里面说了待清算账户是和前边的我们的账户商户开立待清算账户相关的,就像我在交易过程中,我会把所有的交易资金记入到商户的待清算户。收单是正单。
退款受理分成两部来记,既相当于会计分录。因为收单的环节几乎是秒级的,成功即成功失败即失败;但是退款有所不同,当我发起退款即便审核完成,由支付公司和银行去交货,也是有时间限制的,甚至可能还要根据公司备付金的资金情况、涉及到备付金的路由转换等等。因此将退款拆成两部分来处理:第一部分缴退款受理;第二部分实际通过渠道完成退款。
商户结算环节即将前一天收单金额和退款金额作轧差处理,需要收商户手续费。
付款处理和退款是相似的,付款也并非付款即可成功,银行同样有时限及大小额限制,需要打包处理。

五、对账系统

image.png
对账系统是什么呢?
实际上就是核对账目,是指在业务和财务核算过程中,为保证账簿记录的真实、正确、可靠,对账簿中记录的有关数据进行检查和核对的工作。目的就是要保证记录是真实可靠有效的,一旦出现对账不一致,需要依据整个交易的实际情况去处理。
对账第一个是业务核算,第二个是财务核算。业务核算举个例子,今天的交易在 T+1 做交易对账,该退款需要退款,该补单需要补单,这可能是属于业务范围。但是有可能今天的交易,T+1 才可以结算,那么实际上 T+2 的时候才可以做资金的核算。所以整个对账是两个环节,第一个是对,第二个是处理。
在术语上可能也不一样,比如说业务角度来说,更多时候对账也好勾兑也好,叫处理或者差错处理;但是从财务角度来说,对账会被认为是扎帐,看看帐是不是平。紧接着需要平账,把对账过程中发现不平的东西进行处理。
一般是有三种类型的对账:账账相符、账证相符以及账实相符。
(1)、帐帐相符:因为每家支付公司都不可能只有一个系统,有很多套系统,账账相符要保证,公司内的一条交易在各个系统的状态是一致的,所表明的含义是一致的。
(2)、账证相符:公司记得记录和资金渠道甚至商户提供的交易是能对的上的,就相当于公司内部交易和外部的交易做勾兑,保证内部交易和外部交易是平的。
(3)、账实相符:经过前两轮的对账,保证公司内部的交易状态是一致的,与各个参与方的状态也是一致的,但是有可能出现资金到了或者缺失不能确认,需要进一步核对。
image.png
首先要通过渠道对账单进行下载、解析,做成标准的对账;然后与账务系统的凭证做勾兑,勾兑的结果最终和对账结果对比处理。
举个例子,假设如图所示是公司的交易,第一条的对账相当于是平的,金额也一致,这说明我们第一步对账就对平了。但是以上面的第二条第三条为例,比如说给用户充值,我方发起请求的时候,有可能会超时,超时情况下不可能给用户入账,否则导致资损。
为了保证用户资金可靠,将以冲正的方式告诉银行,这笔我冲正了,帮我冲销掉,在这种情况下银行就不会有记录,但是我们公司内部有充值以及冲正,这两条记录。
这是第二种类型的对账,需要内部勾兑。
第三种就是退款,我方是两笔,银行是一笔,需要核单,就是多对一的勾兑。第四种是线下充值,线下充值是不走线上系统的,流水号、银行流水和企业流水是完全没有可对性的,这种情况下需要对客户、对资金,那对客户对资金就有可能有重的情况。多对多的对账,以先到先对的原则,那笔交易发生在前先对哪一笔,对不上的就是差异。
image.png
对账结果也比较简单,第一是对平的,第二是未对平的,未对平,以代付为例,代付可能我方是处理中,银行是成功。只是说这笔交易是对上了,金额也对上了,但是关键信息是不符的。

六、清结算系统

清结算是收单业务的资金管控模块,掌握资金交易的流向,所有备付金的收单款都应该由清结算处理,不应该交给别的系统来处理。
清结算分成大概三类:
(1)、第一个是清分清算,根据交易结果和交易相关规定对会员的保证金等等的一系列的货款款项做计算;
(2)、第二部分的商务结算,按照和商户签约的结算周期,对应收应付的金额完成资金的划拨;
(3)、第三部分,我要做结算对账,保证货款两清。
image.png
清结算系统的四个能力如图所示:
(1)、账扣:交易款结算实时从商户结算户中扣除;
(2)、后收:结算款全额结算;
(3)、预充实扣:结算款全额结算,结算时指定账户扣除手续费;
(4)、溢价:交易过程中,对 C端用户额外收取手续费。
image.png
对于计费能力可分为三种:①单笔费率;②累计梯度;③追溯梯度。
着重解释一下第三种,追溯是说随着销量的变化费率发生变化了,需要把之前的收费少收的要收回来,多收的要退回去。