支付系统详解:清结算系统

17 评论 44591 浏览 248 收藏 12 分钟

清结算系统是支付系统的一个子系统,本文重点介绍清结算中的系统设计和与对账系统的关系。

清结算系统是第三方支付系统按照与商户的协议,将一个结算周期内的收付款项汇总轧差生成待结算金额,并将待结算金额结算给商户的一个功能模块,是支付系统的一个子系统。

第三方支付系统的清结算系统并不是与人行的支付清算体系处在同一层级的系统,简单来说,后者担任着完成银行与银行之间的资金清算,而前者仅仅服务于一个第三方支付系统,完成对第三方支付系统的商户的资金结算

大家想必注意到了清算和结算用词的差异,清算是各清算中心的工作内容,包括清分和资金划拨两个步骤,清分用于登记流水和轧差汇总,资金划拨则是在各个银行之间进行资金调动,即该扣哪个银行多少资金就扣掉,该付给哪个银行多少资金就给它增加余额;结算是指银行按照结算周期对其直连商户的资金核算了结。

第三方支付系统的清结算系统,虽然包含清结算三个字,但“清”仅仅只是清分,没有清算中心那样进行资金划拨的权利,结算倒是名符其实的结算,与银行对其直连商户的结算概念等同。

清结算系统的实现

正如在《支付路由的管理与设计》一文中提到的,后台服务型系统的设计一般都逃不过三个范围:业务流程、管理页面、接口,支付路由如是,清结算系统也如是。

只不过,相较于支付路由(业务流程一般分布在来自管理页面的配置和接口的调用当中,不存在自动化的业务处理),清结算系统的业务流程存在自动化的业务处理逻辑,且清结算系统不一定能说是纯后台服务型系统,因为它需要提供给商户后台查看结算单信息以及进行对账单下载的能力(这两点一般只是查询下载功能,故下面的部分不会讲述商户后台的部分)。

1. 清结算的管理页面功能

清结算的管理页面主要包含商户结算信息的管理、清分明细管理和结算单管理三部分。

商户的结算信息是在商户入驻支付平台的时候通过协议合同确定的,协议中包含如下用于结算的关键信息:

  • 结算周期:可以是D0,D1,也可以是T1,T2……Tn(D代表自然日,T代表工作日),D0一般是设置某些个时间段结算一次,比如可以设置0点到15点的交易在15点之后结算一次,15点到24点的交易在24点之后结算一次;
  • 结算方式:分为结算到商户的银行账户,还是商户支付平台内的可用余额账户;
  • 银行账户信息:包括银行账户名、联行行号、银行账号。

如上,商户结算信息管理功能中的结算信息基本上都是在商户入驻的时候登记进去的,但是要在这个功能里进行后期的维护,如更换结算周期,修改结算方式,更换银行账户信息,修改结算信息的有效性……

清分明细管理是对成功消费的订单生成的清分明细的管理,之所以称之为明细,是因为这条记录中会包含交易金额、商户手续费,甚至可能会有渠道成本、代理商分润金额等信息,清晰的表明了各部分金额的归属。

清分明细管理的数据来源于订单系统在一笔消费订单成功之后,对清结算接口的调用(当然其中也可能会要求退款也要产生清分明细,这个时候就要看退款是从哪个账户退,从可用余额账户退,可以考虑不登记,也可以登记但不计入结算,从待结算账户退,就要登记并参与结算)。

结算单管理即是对商户的结算管理,结算单是一种外在表现形式,其记录了商户一个结算周期内的所有清分记录的汇总轧差的结果。

结算单的生成是由系统依据商户的结算周期设置自动汇总清分记录而成。

2. 清结算的接口

清结算的接口是与其他系统交互的入口,一笔交易的最后一步,即是调用清结算接口登记一条清分记录,用于一个结算周期之后对商户进行结算。

清结算接口的设计一般要包含商户编号、交易金额、商户手续费、渠道成本等参数字段,如果要求代理商的分润信息添加进来,则也要增加相应的代理商户编号、代理商分润金额等参数(描述的参数基于这些费用成本数值都是在订单系统完成的计算,如果要求清结算系统内自行计算,则要上传相应的费率,或者在清结算系统调用费用中心获取相应的商户费率、代理商扣率等费率数据)。

注意:订单系统调用清结算系统登记清分记录,也可能会出现异常,导致清分记录没有登记成功,这个时候,要么在订单系统设置相应的机制保证一定要清结算系统登记成功方才停止请求,要么就要进行两个子系统的对账,对不上的记录要自动补登记,并且要在两个系统流水一致的情况下,才能进行结算操作。

3. 清结算的自动化业务流程

清结算的自动化业务流程分为三步:自动生成结算单、自动结算、自动生成对账单。

自动生成对账单,即是一开始讲到的,按照第三方支付系统按照与商户的协议,将一个结算周期内的收付款项汇总轧差生成待结算金额,形成一条结算单数据。

自动结算,即是按照设定的结算方式,在生成结算单之后,或者指定某个具体的时间点,自动将结算单中的金额结算给商户的银行账户或者支付平台账户,但是结算之前,需要进行记账操作,如下:

结算到银行账户:

借:应付账款-商户-待结算账户   XXX元

贷:银行存款                 XXX元

结算到支付平台账户:

借:应付账款-商户-待结算账户   XXX元

贷:应付账款-商户-余额账户  XXX元

注意:

  1. 可以没有自动结算这个功能,由人工在管理页面操作结算;
  2. 结算到银行账户,也可以分成两步,先结算到支付平台账户,再自动帮助商户提现到银行账户,这个逻辑可以在代付渠道不能使用的情况下,将资金结算到商户的支付平台账户,对其可见,不过,是否要按照应急状况进行这种逻辑的设定要看业务方的考虑,如果机制完善,也可以不采用这种方式,毕竟对于资金问题,过于自动化可能并不让人放心。

自动生成对账单,即是在对商户结算之后,提供商户核对结算金额是否正确的依据,而对账单生成的依据则是清分明细。

生成对账单之后的一个问题就是怎么让商户获取到对账单,一般有如下几种方式:

  1. 在商户后台提供下载入口;
  2. 提供获取对账单的接口,由商户进行系统对接;
  3. 将对账单放到支付机构的FTP/SFTP上,允许商户访问获取;
  4. 将对账单推送到商户的FTP/SFTP上

……

方法多多,可以视具体需要确定提供哪些方式。

清结算系统完成对商户的结算之后,要将这个结算周期的清分记录生成一个对账文件(商户对账单),供商户对账使用。

可能有人认为提供商户对账单供商户对账应该放在对账系统,但由于商户对账单的生成要依据清分记录,所以商户对账单的生成是在清结算系统。

与对账系统的关联

清结算系统与对账系统产生关联,主要是考虑要不要在跟渠道对账结束之后,再将资金结算给商户的问题,涉及下面两种情形:

  1. 如果是先对账,再结算,则是以渠道的流水记录为准,核对了流水之后再进行结算;
  2. 如果是不管对账结果,直接结算,则是以支付系统的流水记录为准进行结算;

然而,渠道对账单里的流水可能只是用户充值到支付平台账户,并不需要结算给哪个商户,而结算给商户的资金也不一定是发生了银行卡支付,像余额支付(对于支付宝,还有花呗支付等)这种,支付记录不需要与渠道对账,但是也要结算给商户。

个人认为,没有必要增加业务耦合度,让清结算系统与对账系统纠缠不清,渠道不会少结算给支付机构,支付机构也不会少结算给商户,不需要为了一点特殊的差异,而复杂化业务流程,分别保证支付机构与渠道、商户与支付机构之间不存在对账差错即可。

 

本文由 @江寒 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
海报
评论
评论请登录
  1. 你好,你所指的清分明细是指订单系统推给结算的联机交易吗? 包含商品单、采购单和支付单?

    回复
  2. 一篇看完后没有收获的文章,比较水。整个支付环节的流程、整个清结算环节的流程,一点都没有讲。资金流怎么走、信息流怎么走,也没有讲。

    来自广东 回复
  3. 您好,请问有公众号吗?看到你19年中就不再更新了,是否有其他更新的地方,想关注学习。

    来自浙江 回复
  4. 我遇到的支付系统,都是先进行订单落库,状态成功以后,进账务系统记账,然后定时任务根据结算周期进账务系统中拉数据,然后进行清结算。楼主说的,订单系统直接调用清结算 怎么理解?🙉

    回复
  5. 感谢分享,有一事疑惑,清结算系统清分明细和账务系统的记账流水的区别是啥?

    来自北京 回复
    1. 个人理解,清分系统明细就是一笔单向的流水记录,比如甲支付给A商家100元,并更新A商家收入增加100元;账务系统是复试记账,这一笔流水会登记成:借:平台-待清算账户 100, 贷:商家-支付账户 100; 并同时更新平台待清算账户和商家支付账户余额。

      来自浙江 回复
  6. 你好,支付清结算系统业务系统产生的交易订单外,支付系统内部的充,提,转,也是要经过清结算系统的吧?

    来自广东 回复
    1. 个人理解:是的,所有涉及资金交易的,由于要有清分轧差的过程,所有资金的进或出,无论是交易订单,还是提现、充值订单,都会进入这个系统

      来自浙江 回复
  7. 求加微信,详谈

    来自北京 回复
  8. 您好,请教两个问题:
    1、是否所有交易订单均需要经过清结算系统?如 一个订单不存在与第三方商户的清算和结算,是否需要到清结算系统走一遭?
    2、业务订单到清结算系统进行清算和结算,有两种方式:① 业务订单系统调用清结算的接口,将订单拆分成清结算可识别的订单逻辑,由清结算系统直接进行清算和结算 ② 清结算拿到业务的原始订单,按照自己想要的数据格式进行清洗解析,生成自己可识别的单据数据,再进行清算和结算。 这两种方式,您知道该如何选择更利于业务扩展吗?

    来自上海 回复
    1. 1.要经过清结算系统的交易订单,一般是指消费类和退款类的交易订单,不一般的话,退款类交易从平台的可用余额账户退款,不需要经过清结算系统;对于“一个订单不存在与第三方商户的清算和结算”的自营情形,清结算系统既然已经存在,保持统一的流程,个人觉得是最好的方案,也应该是最自然的方案,创建一个商户作为内部商户,设置成结算到平台可用余额账户,这样也可以自动的完成统计工作。如果自营情形不经过清结算系统,流程上就不那么一致,统计工作也需要另外做。不过,原理是固定的,具体的业务需要是不同的,选择简单、扩展性好的方案即可。
      2.合理的选择是选择模式①,在清结算系统能够满足业务需要的情况下,尽可能不对其进行改动,保持其功用的单一性,不额外的负担数据清洗解析的过程。这是理想,如果现实需要,可以加一个前置模块,进行数据清洗解析,就是模式②了。

      来自天津 回复
  9. 笔者您好,您的文章很有干货,很多细节都解释得很清楚,在最后的“渠道对账单里的流水可能只是用户充值到支付平台账户,并不需要结算给哪个商户,而结算给商户的资金也不一定是发生了银行卡支付,像余额支付(对于支付宝,还有花呗支付等)这种,支付记录不需要与渠道对账,但是也要结算给商户。” 这个“渠道对账单”的渠道指的是某个公司主体合作的渠道还是第三方公司的某个支付渠道还是银行的某个支付渠道,这段话麻烦可以举个例子说明一下吗,感谢。

    回复
    1. 你提到的这三个,就是渠道对账单的例子

      回复
  10. 看来支付产品经理并不好找工作啊

    回复
  11. 工作找好了吗

    来自重庆 回复
    1. 我也是想换工作了也。。。 ➡ 你在哪个城市呀

      来自重庆 回复
    2. 深圳应该好找吧,加油!祝找到更好的

      来自重庆 回复