怎样才能建一个网站,wordpress文章图片并排,网站的域名起什么好处,旅游网站建设项目这是《百图解码支付系统设计与实现》专栏系列文章中的第#xff08;4#xff09;篇。
本章主要讲清楚支付系统中商户结算涉及的基本概念#xff0c;产品架构、系统架构#xff0c;以及一些核心的流程和相关领域模型、状态机设计等。 1. 前言
收单结算是支付系统最重要的子…这是《百图解码支付系统设计与实现》专栏系列文章中的第4篇。
本章主要讲清楚支付系统中商户结算涉及的基本概念产品架构、系统架构以及一些核心的流程和相关领域模型、状态机设计等。 1. 前言
收单结算是支付系统最重要的子域之一行业内经常把有牌照的支付平台称为“收单机构”就可见一斑。
我们在上一篇文章讲了收单如何帮忙商户收钱收完钱还得转给商户用户支付100块钱那么到底给商户多少钱什么时候给这都是结算平台干的工作。谓之“结算”。
下面这个图留着是为了提高“收单、结算、拒付”紧密结合的印象。 三者的职能如下
收单核心主要负责处理商户订单的全生命周期管理订单创建、支付推进、退款、撤销等。
结算核心主要负责把商户应收账款算清楚把结算款按合同约定结转给商户。
拒付核心主要负责处理用户的拒付和对应的抗辩以及最后的判责。 2. 结算在支付系统中的位置 在收单机构支付平台里结算就是把帮商户收进来的钱按约定的结算规则、准确、及时地结算给商户。
3. 结算产品架构 结算模式分为主动结算和被动结算。站在商户的角度被动结算就是以收单机构为准收单机构说结多少就是多少。主动结算就是以商户为准商户说结多少就是多少。一般来说大部分商户都是被动结算特殊的大商户比如GoogleApple经常使用主动结算。
结算一定要设计账期就像账务系统要有会计日是一样的道理避免跨天的交易或零点附近的交易出现结算异常。对应就有账期创建、入账、关账、出账。
4. 结算系统架构 核心的服务包括结算受理、注册账期的新建、关账、出账最后就是结算。 5. 结算核心流程
下面以即时到账模式为例说明。担保交易模式和预授权模式稍有不同。 在交易日收单收到支付成功回执后就发消息给结算结算收到消息去查结算合约进入结算注册流程。
在结算注册时如果存在打开的账期就直接挂过去如果不存在就创建一个账期。
在结算日先进行关账避免在途任务受影响。关账成功后进入结算批次再进入打款流程。
打款有3种情况1结算到商户余额户。2在线结算到提现卡。3线下人工打款人工结算。
打款完成后推进结算流水SETTLED。 6. 结算核心领域模型 左边绿色部分是账单和流水相关信息中间蓝色是账期和批次相关信息右边是打款信息。
因为一个收单可能会有多种费用所以会生成多条我方账单流水。同样的一个收单可能结算给多个主体对应有多笔结算流水。
结算账期有点类似会计日的概念是为了控制零点左右的收单单据的结算能落到正确的结算账期里去。
关账后就会发起外部结算以及对应的打款。一个结算批次可能会分成多笔打款。 7. 结算状态机设计 上面把结算涉及到的状态机都画出来了。
特殊的是打款单的状态机因为打款有可能调用外部渠道打到商户的卡里去外部渠道有一定概率先返回打款成功过两天后又返回退票实际打款失败资金退回这个时候需要推进到REVERSE然后重新更新信息后再进行打款。
退票的原因有多种比如商户的卡被冻结等。
8. 资金流 结算一般只涉及到正向资金流也就是支付成功后一步步推进结算到商户余额户或者商户银行卡如果是结算到商户余额户就需要商户主动在商户门户发起提现到卡。 9. 结束语
本章主要讲了结算的基本概念以及对应的产品和系统架构图一些核心的领域模型和状态机设计。