按照嘉宾的要求,本文不对外公开。如果你是意外看到这篇文章,请勿将链接发送给其他人。


一、分享主题:清结算模块设计

很巧的是,昨天有位同学的分享,他从宏观上,概念上分享了清算、结算相关的知识。今天,我接着他昨天的分享,从系统设计的层面,继续分享下第三方支付公司与商户之间的清结算。清算这个概念,从广义上准确的讲,是指银行,金融机构之间的资金的清算,清算系统是指人民银行的清算系统,清算组织只有银联和网联。至于支付公司与商户之间的资金汇集,轧差,计费,扣除手续费以后要执行结算这个过程我理解为一个狭义的清算。

支付场景遍布各个行业,各种场景。从结算这个角度出发,所有的模式大体归纳为两类:自营模式和撮合模式。举个栗子:天猫自营和淘宝。买家支付完货款以后,支付公司都需要结算给天猫商家和淘宝卖家,至于前面买家的支付环节不在这个模块中,这个模块只负责处理把资金结算给天猫商家和淘宝卖家这个过程

这个模块从整体上来讲分为三个主要环节:
20180304_193410

注意:所有汇集的单元都是以入网的商户为单元(这个是汇集最大的维度) 交易汇集清算的目的

  1. 对成功交易进行汇总
  2. 对交易进行计费(计费规则,提前配置好,跑批按照规则进行计算手续费,这里不细说)
  3. 根据汇集结果生成结算记录

清算流程:
20180304_193705

步骤:

清算流程:
20180304_193835

这里从清算模块到结算模块,生成结算记录,这个过程通过跑批,只是做了一些常规检验,比如,对于结算账户信息进行校验,账号,证件号码进行正则校验,风控的校验等一些操作以后,生成结算记录。
注意: 清算过程中由于商户在商务谈判的时候有各种模式:有预付费模式(手续费预付到账户,直接从账户中扣除),也有从结算款中扣除,也有后付费等多种模式。
所以,单独加了这么一个流程,可以处理各种不同的模式
自营模式汇集清算逻辑总结

  1. 汇集清算处理在机构日切后执行
  2. 交易汇集会处理所有T日交易,按照不同交易类型分别汇集,同一交易多个机构分别进行汇集,互不影响,汇集时间记录为T日
  3. 交易清算会汇总T日所有汇集信息,按照机构和结算标识汇总同一交易类型的汇集信息,清算时间记录为T日
  4. 交易结算汇总结算周期(周月)内所有清算信息,按照机构和结算标识汇总清算信息,T+1结算结算时间记录为T+1日,T+0结算结算时间记录为T日
  5. 交易出金记录与交易结算记录一一对应,

因为涉及到对账问题:所以日切时间在商户入网的时候都会沟通好
交易出金处理所有新生成的结算记录
结算出金流程:
20180304_194424
大概流程:

  1. 交易出金步骤:计算时间范围检索所有时间范围内结算信息出金信息批次入库
  2. 正常支付金额结算给商户
  3. 退款金额结算给个人

注意:因为收款账户的资金会从各个银行的不同备付金账户出金,清算完成以后,会有一个总的出金统计汇总,结算人员根据这个汇总,在出金之前进行头寸调拨。(当然,我们有备付金自动调拨功能,设置好规则,会自动调拨)

下面说说淘宝模式: 淘宝模式在主流程上和自营模式大体一致,只是在汇集流程中,根据 入网机构+收款账户这俩维度一起进行汇集, 后续流程基本一致,不在细说。

注意:只是在汇集流程中,根据 入网机构+收款账户 这俩维度一起进行汇集

这个模块除了汇集,清算,结算以外对于出金交易处于中间状态的交易会进行交易补发,状态同步,结算终态以后给商户发通知等功能。

我说的比较笼统,我的分享就到这儿,谢谢大家~


二、Q&A

Q1: 步骤:“T+1日汇集所有T日成功的交易。 T+0则汇集T-1日日切点到T日日切点间成功的交易”。 这个两句的区别是?
A1: 商户出金大部分都是T+1,个别商户要求T+0
A2: T+1日汇集所有T日成功的交易 针对于 T+1 结算的商户 ,T+0则汇集T-1日日切点到T日日切点间成功的交易 针对于T0 结算的商户
A3: 场景:比如有一些互金平台,用户提现,他们想让用户体验更好,要求T0到账

Q2: “每个自然日均进行汇集清算,多个机构分别汇集清算”这里多个机构指?不是只有一个支付平台做汇集么?
A: 这个机构其实指的是入网的商户

Q3: 汇集和清算在设计上主要差异就是计算手续费么?
A1: 其实不止是手续费,还会包括一些分润商户等其他的计算吧
A2: 汇集和清算在设计上主要差异不止是手续费,首先这是流程,汇集把成功的所有交易汇集起来。清算是在汇集的基础上进行一些轧差 ,这是两个步骤

Q4: 这里轧差指什么?怎么弄呢?
A1: 轧差举个简单的栗子:我要给你结算10块,我要收你1块手续费,你之前还欠我2块钱,轧差完我 给你结算 7块 这个过程就是轧差过程
A2: 最典型的轧差就是扣手续费

Q5: 结算的时候是从备付金账户出金吗?
A: 必须啊

Q6: 那关于备付金账户的借贷记账该如何记呢?
A1: 首先 备付金账户之间的借贷记账不在这个模块维护
A2: 我这儿的清算最主要的科目就是手续费,渠道分润,渠道返佣,这里只是计算,并记录。结算是一个流程,出金是结算中的一个步骤

Q7: 你好,请问你们交易流水,退款流水到交易汇总。账务怎么设计呢?
A1: 账务是单独一个模块,在清算完,生成出金记录的时候会给账务模块发消息,通知账务记账

Q8: 流水汇总和扎差呢?生成出金记录,是实际出金还是只是科目间的划账呀?
A1: 流水汇总通过后台跑批,按照结算商户进行汇总。生成出金记录,这是个还不执行出金,出金是下一个流程,根据商户的等级和业务,有自动出金和人工审核出金,这里不涉及科目划账
A2: 具体科目之间的划账后面还有会计模块做这个动作
A3: 流程可能是:对账,轧账,平帐,出金记录,审核出金,记账
A4: 我刚说出金和账务之间的关系,生成出金记录,出金动作执行的时候需要账务做判断,出金完毕,记账

Q9: 您讲的是日终清分,请问有业务实时或准实时清分的经验吗?
A: 实时准实时清风走备付金这种业务模式没接触过,听说别的同事在做这块 如果通过银行虚拟账户做实时,准实时清分这个到是了解一些,不知道您的业务场景

Q10: 用户提现收100,收3块手续费这种场景,算清洁算的范畴吗?
A1: 收手续费在我们系统中属于清结算范畴
Q12: 清洁算系统清分计算出来的记录存在清洁算系统(姑且叫结算单),然后到账务对相应账户进行记账。给商户的#账单#是清洁算系统的结算单还是从账务出账户的收支明细?
A: 我们暂时不给商户账单,明细都在对账单里


本文档来自支付产品技术交流群的聊天记录整理,由志愿者整理并发布到本网站。如需要及时收到来自支付产品技术交流群的最新消息,请扫码关注“凤凰牌老熊”的微信公众号。 本群面向支付行业的有经验(2年以上)的产品经理、软件工程师、架构师等,提供交流平台。如想加入本群,请在本文评论中留言(不公开),说明所在的公司、负责的工作、入群分享的主题和时间。