图解支付结算平台设计:如何高效给商户结算

文摘   科技   2025-01-20 07:03   新加坡  
大家好,我是隐墨星辰,深耕境内/跨境支付架构设计十余年。很早前讲了收单,实际上收单和结算一般是放在一起的,都是面向商户服务。
收单是帮商户把钱从用户那里收过来,结算就是把收到的钱高效准确地结算给商户。
所以今天补上结算的部分。对收单感兴趣的话,可以去翻翻公号里的历史记录。
本文主要讲清楚支付系统中商户结算涉及的基本概念,产品架构、系统架构,以及一些核心的流程和相关领域模型、状态机设计等。
对了,文章末尾有免费的微信红包封面可以领。因为你们的关注,官方给了18000个微信红包封面。

1. 前言

收单结算是支付系统最重要的子域之一,行业内经常把有牌照的支付平台称为“收单机构”就可见一斑。

我们在上一篇文章讲了收单如何帮忙商户收钱,收完钱还得转给商户,用户支付100块钱,那么到底给商户多少钱,什么时候给,这都是结算平台干的工作。谓之“结算”。

下面这个图留着是为了提高“收单、结算、拒付”紧密结合的印象。

三者的职能如下:

收单核心:主要负责处理商户订单的全生命周期管理:订单创建、支付推进、退款、撤销等。

结算核心:主要负责把商户应收账款算清楚,把结算款按合同约定结转给商户。

拒付核心:主要负责处理用户的拒付和对应的抗辩以及最后的判责。


2. 结算在支付系统中的位置

在收单机构(支付平台)里,结算就是把帮商户收进来的钱,按约定的结算规则、准确、及时地结算给商户

3. 结算产品架构

结算模式分为主动结算和被动结算。站在商户的角度,被动结算就是以收单机构为准,收单机构说结多少就是多少。主动结算就是以商户为准,商户说结多少就是多少。一般来说,大部分商户都是被动结算,特殊的大商户比如Google,Apple经常使用主动结算。

结算一定要设计账期,就像账务系统要有会计日是一样的道理,避免跨天的交易或零点附近的交易出现结算异常。对应就有账期创建、入账、关账、出账。

4. 结算系统架构

核心的服务包括:结算受理、注册,账期的新建、关账、出账,最后就是结算。

5. 结算核心流程

下面以即时到账模式为例说明。担保交易模式和预授权模式稍有不同。

在交易日,收单收到支付成功回执后,就发消息给结算,结算收到消息去查结算合约,进入结算注册流程。

在结算注册时,如果存在打开的账期,就直接挂过去,如果不存在,就创建一个账期。

在结算日,先进行关账,避免在途任务受影响。关账成功后,进入结算批次,再进入打款流程。

打款有3种情况:1)结算到商户余额户。2)在线结算到提现卡。3)线下人工打款(人工结算)。

打款完成后,推进结算流水SETTLED。

6. 结算核心领域模型

左边绿色部分是账单和流水相关信息,中间蓝色是账期和批次相关信息,右边是打款信息。

因为一个收单可能会有多种费用,所以会生成多条我方账单流水。同样的,一个收单可能结算给多个主体,对应有多笔结算流水。

结算账期有点类似会计日的概念,是为了控制零点左右的收单单据的结算能落到正确的结算账期里去。

关账后就会发起外部结算以及对应的打款。一个结算批次可能会分成多笔打款。

7. 结算状态机设计

上面把结算涉及到的状态机都画出来了。

特殊的是打款单的状态机,因为打款有可能调用外部渠道打到商户的卡里去,外部渠道有一定概率先返回打款成功,过两天后又返回退票(实际打款失败,资金退回),这个时候需要推进到REVERSE,然后重新更新信息后再进行打款。

退票的原因有多种,比如商户的卡被冻结等。

8. 资金流

结算一般只涉及到正向资金流,也就是支付成功后,一步步推进结算到商户余额户或者商户银行卡,如果是结算到商户余额户,就需要商户主动在商户门户发起提现到卡。

很多人很好奇“为什么要有支付网关过渡户和商户待结算户?能不能直接进商户余额户?

我的答案是:如果你一定要这么做,也是可以的,但是会给自己埋下很多坑。

我举两个例子:

1. 从渠道扣款成功,并不代表就一定要结算给商户。比如去外部渠道扣款是有时间消耗的,外部渠道扣款成功后,如果订单已经关闭(用户主动关单或者订单超时关单),这个时候需要给用户把钱原路退回去。所以需要有一个“支付网关过渡户”作为临时的中间户(也是内部户,用户或商户是不可见的),在需要退回时,直接从这个中间户退回去。

2. 商户是有结算周期的,一般使用T+N表示,这个N可以是0,1,2 ... ...,从风险角度,比较少使用T+0。

3. 结算方式是可以使用结算到余额户或卡。如果每笔都直接结算到了卡,发生退款怎么办?还需要有单独一个退款户。大规模交易情况下,这个卡的交易记录也是极多的。

4. 退款一般从商户待结算户扣回。这样设计更简单。

9. 结束语

本文主要讲了结算的基本概念,以及对应的产品和系统架构图,一些核心的领域模型和状态机设计。

这是《图解支付系统设计与实现》专栏系列文章中的第(3)篇。

深耕境内/跨境支付架构设计十余年,欢迎关注并星标公众号“隐墨星辰”,和我一起深入解码支付系统的方方面面。

官方送了18000个微信红包封面,都是各位自己创造出来的福利,欢迎领回去。对了,自己领完后,还可以转发红包封面送给朋友领。

隐墨星辰
支付/投资/成长,随手记录点滴,待它日回望,知我曾来过。
 最新文章