结算系统设计方法
The following article is from 陈天宇宙 Author PM陈老师
每个月公司要给员工结算工资;陈老师在京东开了一个店铺,定期京东需要给我结算货款;你请了一个保姆,每个月要给阿姨结算服务费....等等,结算场景我们并不陌生,但是怎么设计一个结算系统,你知道么!今天我们就好好聊一聊(最后有原型页面)
1.什么是结算
定义
将平台的代收款结算给平台商家的资金转账过程
展开来讲就是现在有很多平台比如滴滴,货拉拉,京东商城,作为一个服务平台上面有很多商家(我们将滴滴司机也成为商家),用户在平台购买商品或者服务,服务完成后,平台需要按照协议约定将服务款抽取一定费用后的剩余部分结算到商家的平台结算账户中或者直接付款支商家银行账户的资金划转过程
结算名词解释
2.结算的模式
结算我们常见的有2种模式
结算到银行卡:直接将结算款项直接付款到商家签约的结算银行卡账户中
结算到虚拟户:将虚拟结算款结算入账到商家在平台开通的结算户中,后续可以商家自主提现
像微信支付宝在开通支付产品时都会获得一个商户号,每个商户号会有一套账户用于收款和结算,并且签约绑定一张结算卡,次日会将上一日的结算款先结算之虚拟户在一笔结算之绑定的对公户;当然结算到对公户的比例可以自己设定,可以全额结算也可以部分结算,将一部分资金留在虚拟户里,用于次日的退款或者其他付款需求
3.关于结算产品
结算产品其实就是指支撑不同类型结算模式的结算能力
T1结算:工作日结算,当天的服务款,在下一个工作日结算
D1结算:日然日结算,当天的服务款,在下一个自然日结算
D0结算:日然日结算,当天的服务款,在当天结算
S0结算:交易完成后即可结算,按照订单号逐笔进行结算,像借贷的还款,一般逐笔
结算功能,用户可以选择系统自动结算,也可以选自主发起结算
自动:系统按照结算协议,在约定时间自动将服务款支付给结算卡
自助:商家需要自主的在服务平台完成可结算周期内的款项的结算申请
结算签约,商家入驻平台时会进行资质认证以及签约一款适合自己的结算产品
4.结算场景
上面还是比较抽象,我们列举几个容易理解的结算场景
支付公司将收单款结算给商户
电商平台将交易款结算给商家
滴滴平台将打车钱结算给司机
电影院将票房结算给各方
公司将工资结算给员工
等等
所以,简而言之,结算就是将属于别人的钱给到别人
4.如何评价结算产品的好坏
评价结算系统的好和坏一个是站在公司角度,另一个是站在用户角度
站在公司角度:准确率高,资金安全,能容用户满意,投诉少
站在用户角度:支持银行多,服务好就是后台好用,到账快,成本低
5.结算的业务架构
业务完成后,到了结算节点,账务系统按照结算周期将已经入账待结算数据打包后推送给结算系统,结算系统对结算数据进行处理加工后生成结算记录和结算明细;然后请求账务系统进行结算打款,账务系统请求账户中心扣款之后调用打款中心进行打款申请
6.结算系统系统架构
对于不同结算产品,需要定时任务的管理去推动结算的进行
商户后台是商家自主发起结算,查询结算信息,变更信息的后台
运营后台是公司内部运营的操作台
账务系统为结算系统提供结算数据,接受打款申请以及反馈出款通知
垫资系统是针对D0,S0的结算请求申请垫资的受理方
计费系统是计算结算时商家需要支付的费用,比如一笔2元
商家系统是用于查询商家的相关结算需要的信息
7.结算系统业务实体结构
了解即可,从更小的颗粒度审视结算各信息记录之间的关系以及每个信息单元所记录的内容,便于对结算系统有个更精细的认知
结算请求:一次同时结算所有可以结算的商家,记录多少个商家
结算记录:一个商家生成一条结算记录,本次结算多少钱,以及打款状态
结算明细:按照商家结算的支付产品类型记录每个支付产品结算多少笔,多少钱
结算信息:记录这个商家签约了什么结算产品,结算的时间管理等
比如某一日一共结算了100个商家(一次结算请求)
其中A商家结算了1000块钱(一条结算记录)
其中A商家的快捷支付结算了100笔500块钱,网关支付结算了600笔500块钱(结算明细)
8.业务流程
9.系统交互时序图
10.详细流程图
每个处理阶段的详细逻辑流程图,篇幅有限,为了更加易读,简化了流程图,仅绘制了核心的节点,如果有不明白的地方可以加入产品学习群,深度交流
数据准备
结算处理(以T1结算为例)
打款处理
结算状态流转
结算账单
商户可以在后台下载结算账单,或者通过接口获取账单,这个大家可以调研一下微信或者支付宝后台,这里不再详述
9.结算平台系统
我们结算系统的几个核心页面
结算系统接收的等待结算的交易明细,以及按批次进行汇总的查看页面,大家可以了解数据间的关系,以及数据的汇总维度
按照结算时间向商家进行结算出款的记录,以及与打款数据的关联信息
商家的结算信息管理,可以看到商家签约的结算产品,钱结算到银行卡还是内部账户,结算周期的管理等
往期推荐:
技术琐话
以分布式设计、架构、体系思想为基础,兼论研发相关的点点滴滴,不限于代码、质量体系和研发管理。