支付系统-财务系统

一、概述

       从业多年经手过的印象比较深刻的几个系统,我将其中对账及清结算系统进行了剥离,着重为大家分享一下支付系统需要具备哪些功能,以及当时在实际搭建过程中,我们对于功能及整体做出的具体选择。

首先如图所示,支付的整体现状就是:

(1)、支付链路长
       链路长其实大家是有具体体会的。例如:C 端客户在线下商超或餐饮进行了购物消费,紧接着会通过入网商户,入网商户将本笔交易上传到第三方或第四方支付公司,最终通过银联网络完成银行卡内交易的资金清算。实际生活中,还有可能通过资方支持(例如小贷)完成非银行卡资金的交易扣款。
       相比较传统的现金购物方式,互联网支付链路非常长。
(2)、各参与方均需获取收益
       支付链路长,就涉及到各个参与方需要获取收益,毕竟服务不是 0 成本的。如何计算这些收入并完成对账和结算,便显得尤为重要。

       基于此,账务对账和结算相关的系统的重要性不言而喻。

二、支付系统业务架构

       首先给大家讲一下,这个并不是一个标准的支付业务架构图,这个架构图是从财务架构的角色出发而画的。
       首先看接入层,从事支付相关的同学应该做过订单的接入,可能有 App、外部收银台等,这种接入与上图的架构图是不同的。从财务架构的角度来说,接入相当于本笔交易本身,更关注产品、产品属性、交易的方式等等。例如付款方以会员身份发起资金管理类交易,或者付款方以会员身份主动发起购物类结算等。

可将支付业务架构核心分为三层:

(1)、第一层:接入层;
(2)、第二层:支付、交易、渠道层。
(3)、第三层:资金层。

2.1、为什么要关注交易层

上文提到的,财务架构更关注交易的产品属性、交易的场景属性,关注这些的目的在于:

(1)、支付机构在给商家及渠道做签约的过程中,不同的场景及不同的产品就会涉及到不同的费率;
(2)、支付机构如京东金融,需要核算各个不同产品的收入、成本、利润。

因此从财务架构的角度来说,此类信息应当在接入层(即收银台/POS刷卡接入系统),将上述属性进行传输。

2.2、交易支付渠道层

       这一层把控影响着整个支付环节资金的来源于去向,所以在财务架构严重非常重要。例如交易层的银行卡收单,对于网关支付和快捷支付它的支付形式是不一样的,因此渠道商对支付公司、支付公司对商户的签约费率也是不一样的。但是对这两种不同产品的交易,资金的流转是一样的,银行把钱给支付机构、支付机构把钱结算给商户。
       基于上述内容,对交易层的直接感官就是需要按照交易类型进行区分:第一种是银行卡支付,第二种是虚拟币支付(例如京豆、优惠券),第三种是余额支付(在支付机构支付账户余额)。

2.3、资金层

首先介绍一下对整个清结算分为四类进行讨论:

(1)、代收款结算;
(2)、代收款分账;
(3)、货款结算;
(4)、分润。

三、账户系统

账户系统的分类从账户属性入手,分为:

(1)、储蓄账户:类似于银行的储蓄账户,就是支付账户。
(2)、信用账户:即将要产生一些贷款账户;另企业债和银行作为普通消费者与商家是不会过多关注的,但公司级财务是特别需要关注的。通过企业账,财务可以知道企业的损益情况;通过银行账,可以得知公司的收款、应收款、应付款以及成本等具体情况。

3.1、核算

如图所示包含交易对账资金对账差错处理以及财务报告等四个功能。

       当一笔交易通过订单完成到支付的环节的时候,通常的做法就是由一个支付信息到支付交易系统(各个公司的叫法可能不一样,有些公司可能叫支付页网关或者说叫总线的,我个人更多的叫支付交易系统),紧接着:

(1)、要请求支付渠道把钱扣下来;
(2)、要入到公司自己内部的账务系统,把这笔交易记下来,并且记录收款和付款的参与方;
(3)、要从交易系统把这笔钱给到清结算系统去完成资金的清算;
(4)、清算就要参与到计费,就涉及到计费中心,完成手续费的计算;
(5)、清算完毕后,会根据与商户签约的一些结算周期去完成它的结算;
(6)、通过合同中心获取结算周期的信息;
(7)、(可能因为有些为了更加突出自己支付账户,很多支付机构都是把自己的对商户的结算款先要结算到他自己的账户里,就这样的话在结算的环节就会走一步)结算入账会把钱入到支付机构的支付账户,然后最终如果是商家说我给你签的合同需要把钱打到我的银行卡中,会通过一个结算出款,通过他的账户把钱存到银行卡上。

       通过支付渠道也可以理解为当笔交易资金过程,而资金过程最重要的一点就是要保证资金安全,因此需要进行交易对账。

       首先从支付渠道会从银行或者说资方去拿到银行对账单,同时和公司的账务系统去对每一笔资金的流水去做勾兑,并将差错进行处理。

四、账务系统

       整个账户的体系中还需要着重关注的是账户体系,即账户结构和账户包含哪些内容,核算要求那是会计必然要有的会计分录。

       简单来讲,产品就是说商家对个人提供业务形式;交易类型即在场景的基础上对整个交易作一个共性的抽取,在整个交易过程中不同的阶段会把它分成:例如收单,虽然都叫快捷收单,但是快捷收单会包含收单退款,甚至有可能会有退票的交易产生;账户体系主要基于前面的产品或者说交易的变化,我的账户的余额会发生变化,账户会有不同的流水;最终的会计分录用于财务核算。

       如图所示,这个账户的含义,其实是有渊源的。08、09 年之前,支付机构的账户体系尚未提出,许多公司会有余额系统。现在账户和当年的余额很类似,但不完全一样。

(1)、首先,账户包含账户号、账户类型,账户余额有可能包含我的可用余额以及我的冻结余额等等。
(2)、接下来是账户流水,方便用户了解余额变动的具体情况,自然就会产生流水号。
(3)、最后是账期对于普通用户不会特别关注,但是对于核算需特别关注。

       但是在做第三方支付的过程中,更多是参照于银行账户进行设计。每一笔流水需要:对手方是谁?

       例如:对方是银行卡收单的,需要记为商户的帐,因为贷记了对公司来说是负债的。这个商户今天有 100 块钱收单,他的对手方是谁,对手方可能是某一个个人,相当于付给商户的 100 块钱,这是说我要知道我的对手方。

       然后是凭证号,所有的债务最终会拆到会计分录上,会计分录就是会计凭证,会有会计意义上的借和贷两方,通过凭证号能够看到账户流水是不是有缺失、是不是有差错,通过会计凭证的借和贷方发生额可以核算。

       第三是摘要,摘要其实也是参照于银行账户,因为无论是过去的存折还是现在的银行卡流水都会给摘要或者备注,帮助记录每笔钱是什么来源及用户。

基于账户的组成,做支付账户系统的时候可以将账户分成四类账户:

(1)、个人;
(2)、商户;
(3)、银行账户;
(4)、第四类是平台账户。

       银行账户是相对于资金渠道开立,记录某个资金渠道应收和应付的资金,方便对银行渠道做资金核对。在最后会多设一个账户叫银行余额户,表外户的概念是支付机构会给每一个银行账号开一个影子户,即银行卡有 100 块钱,我公司内部也要记录着银行的余额是 100 块钱,相当于是说要和我的银行流水是银行的真实的资金流是一致的,为了方便完成核算做资金对账余额调节表。

       上图是一个标准的会计做账流程,手工做的也是这套流程。首先登记原始凭证,通过原始凭证拆分会计凭证并更新账簿(更新分户账以及账户余额)。

       举个例子:银行卡收单 100 元,记应收账款某某资金通道,假设工行应收 100 ,然后会记录应付商户的货款,应收商户货款是 100 ,我这里面说了待清算账户是和前边的我们的账户商户开立待清算账户相关的,就像我在交易过程中,我会把所有的交易资金记入到商户的待清算户。收单是正单。

       退款受理分成两部来记,既相当于会计分录。因为收单的环节几乎是秒级的,成功即成功失败即失败;但是退款有所不同,当我发起退款即便审核完成,由支付公司和银行去交货,也是有时间限制的,甚至可能还要根据公司备付金的资金情况、涉及到备付金的路由转换等等。因此将退款拆成两部分来处理:第一部分缴退款受理;第二部分实际通过渠道完成退款。

       商户结算环节即将前一天收单金额和退款金额作轧差处理,需要收商户手续费。

       付款处理和退款是相似的,付款也并非付款即可成功,银行同样有时限及大小额限制,需要打包处理。

五、对账系统

对账系统是什么呢?

       实际上就是核对账目,是指在业务和财务核算过程中,为保证账簿记录的真实、正确、可靠,对账簿中记录的有关数据进行检查和核对的工作。目的就是要保证记录是真实可靠有效的,一旦出现对账不一致,需要依据整个交易的实际情况去处理。

       对账第一个是业务核算,第二个是财务核算。业务核算举个例子,今天的交易在 T+1 做交易对账,该退款需要退款,该补单需要补单,这可能是属于业务范围。但是有可能今天的交易,T+1 才可以结算,那么实际上 T+2 的时候才可以做资金的核算。所以整个对账是两个环节,第一个是对,第二个是处理。

       在术语上可能也不一样,比如说业务角度来说,更多时候对账也好勾兑也好,叫处理或者差错处理;但是从财务角度来说,对账会被认为是扎帐,看看帐是不是平。紧接着需要平账,把对账过程中发现不平的东西进行处理。

       一般是有三种类型的对账:账账相符、账证相符以及账实相符。

(1)、帐帐相符:因为每家支付公司都不可能只有一个系统,有很多套系统,账账相符要保证,公司内的一条交易在各个系统的状态是一致的,所表明的含义是一致的。
(2)、账证相符:公司记得记录和资金渠道甚至商户提供的交易是能对的上的,就相当于公司内部交易和外部的交易做勾兑,保证内部交易和外部交易是平的。
(3)、账实相符:经过前两轮的对账,保证公司内部的交易状态是一致的,与各个参与方的状态也是一致的,但是有可能出现资金到了或者缺失不能确认,需要进一步核对。

       首先要通过渠道对账单进行下载、解析,做成标准的对账;然后与账务系统的凭证做勾兑,勾兑的结果最终和对账结果对比处理。

       举个例子,假设如图所示是公司的交易,第一条的对账相当于是平的,金额也一致,这说明我们第一步对账就对平了。但是以上面的第二条第三条为例,比如说给用户充值,我方发起请求的时候,有可能会超时,超时情况下不可能给用户入账,否则导致资损。

       为了保证用户资金可靠,将以冲正的方式告诉银行,这笔我冲正了,帮我冲销掉,在这种情况下银行就不会有记录,但是我们公司内部有充值以及冲正,这两条记录。

       这是第二种类型的对账,需要内部勾兑。

       第三种就是退款,我方是两笔,银行是一笔,需要核单,就是多对一的勾兑。第四种是线下充值,线下充值是不走线上系统的,流水号、银行流水和企业流水是完全没有可对性的,这种情况下需要对客户、对资金,那对客户对资金就有可能有重的情况。多对多的对账,以先到先对的原则,那笔交易发生在前先对哪一笔,对不上的就是差异。

       对账结果也比较简单,第一是对平的,第二是未对平的,未对平,以代付为例,代付可能我方是处理中,银行是成功。只是说这笔交易是对上了,金额也对上了,但是关键信息是不符的。

六、清结算系统

       清结算是收单业务的资金管控模块,掌握资金交易的流向,所有备付金的收单款都应该由清结算处理,不应该交给别的系统来处理。

清结算分成大概三类:

(1)、第一个是清分清算,根据交易结果和交易相关规定对会员的保证金等等的一系列的货款款项做计算;
(2)、第二部分的商务结算,按照和商户签约的结算周期,对应收应付的金额完成资金的划拨;
(3)、第三部分,我要做结算对账,保证货款两清。

清结算系统的四个能力如图所示:

(1)、账扣:交易款结算实时从商户结算户中扣除;
(2)、后收:结算款全额结算;
(3)、预充实扣:结算款全额结算,结算时指定账户扣除手续费;
(4)、溢价:交易过程中,对 C端用户额外收取手续费。

对于计费能力可分为三种:①单笔费率;②累计梯度;③追溯梯度。
着重解释一下第三种,追溯是说随着销量的变化费率发生变化了,需要把之前的收费少收的要收回来,多收的要退回去。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/480946.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文浅尝 | CFO: Conditional Focused Neural Question Answering

Zihang Dai, Lei Li, and Wei Xu. 2016. CFO: Conditional focused neural question answering with large-scale knowledge bases. In Proceedings of ACL, pages 800–810.链接:http://aclweb.org/anthology/P/P16/P16-1076.pdfGitHub 项目地址:https:…

Python中输入和输出

版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 https://blog.csdn.net/xiaokang123456kao/article/details/73009480 </div><link rel"stylesheet" href"https://csdnimg.cn/release/phoenix/template/css/ck_htm…

刘志明 | 知识图谱及金融相关

本文转载自公众号&#xff1a;挖地兔&#xff0c;本文的作者刘志明先生也是 Tushare 的作者。 Tushare 是一个基于 Python 语言的免费、开源的财经数据接口包&#xff0c;可以为金融量化分析人员提供快速、整洁和多样的结构化数据&#xff0c;帮助量化投资人员节省数据采集和清…

模型训练太慢?显存不够用?这个算法让你的GPU老树开新花

一只小狐狸带你解锁NLP/ML/DL秘籍作者&#xff1a;小鹿鹿鹿&#xff0c;夕小瑶老板&#xff0c;咱们就一台Titan Xp&#xff0c;训不动BERT呀没钱买机器&#xff0c;自己想办法。委屈T^T我听说混合精度训练可以从算法上缓解这个问题&#xff1f;喵喵喵&#xff1f;&#xff1f;…

我对Spring的理解

1、什么是Spring&#xff1f; Spring是Java企业级应用的开源开发框架。Spring主要用来开发Java应用&#xff0c;但是有些扩展是针对构建J2EE平台的web应用。Spring框架目标是简化Java企业级应用开发&#xff0c;并通过POJO为基础的编程模型促进良好的编程习惯。 2、使用Spring…

k-means+python︱scikit-learn中的KMeans聚类实现( + MiniBatchKMeans)

版权声明&#xff1a;博主原创文章&#xff0c;微信公众号&#xff1a;素质云笔记,转载请注明来源“素质云博客”&#xff0c;谢谢合作&#xff01;&#xff01; https://blog.csdn.net/sinat_26917383/article/details/70240628 </div><link rel"stylesh…

想让推荐和搜索引擎更聪明?基于知识图谱的篇章标签生成

一只小狐狸带你解锁NLP/ML/DL秘籍正文来源&#xff1a;丁香园大数据NLP 老板&#xff5e;我们的推荐系统笨笨的你怎么对文档处理的这么糙&#xff01;抽个关键词就应付过去了&#xff1f;啊啊啊我错惹&#xff0c;那那&#xff0c;不用关键词用什么呢&#xff1f;知识图…

论文浅尝 | Dynamic Weighted Majority for Incremental Learning

Yang Lu , Yiu-ming Cheung , Yuan Yan Tang. Dynamic Weighted Majority for Incremental Learning ofImbalanced Data Streams with Concept Drift. In Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence (IJCAI-17)论文链接&…

【JavaWeb】数据库基础复习

1 MySQL 数据库特点&#xff1a; 持久化存储数据&#xff0c;数据库就是一个文件系统便于存储和管理数据使用统一的方式操作数据库 启动MySQL服务&#xff1a; 管理员cmd&#xff1a;net start mysql 停止MySQL服务&#xff1a; 管理员cmd&#xff1a;net stop mysql 打开服…

Python的多行输入与多行输出

因为在OJ上做编程&#xff0c;要求标准输入&#xff0c;特别是多行输入。特意查了资料&#xff0c;自己验证了可行性。if __name__ "__main__":strList []for line in sys.stdin: #当没有接受到输入结束信号就一直遍历每一行tempStr line.split()#对字符串利用空…

微服务Dubbo和SpringCloud架构设计、优劣势比较

一、微服务介绍 微服务架构是互联网很热门的话题&#xff0c;是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务&#xff0c;服务之间互相协调、互相配合&#xff0c;为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案&#xff0c;但业界…

搜索引擎核心技术与算法 —— 词项词典与倒排索引优化

一只小狐狸带你解锁NLP/ML/DL秘籍作者&#xff1a;QvQ老板&#xff5e;我会写倒排索引啦&#xff01;我要把它放进咱们自研搜索引擎啦&#xff01;我呸&#xff01;你这种demo级代码&#xff0c;都不够当单元测试的&#xff01;嘤嘤嘤&#xff0c;课本上就是这样讲的呀?!来来&…

论文浅尝 | Distant Supervision for Relation Extraction

Citation: Ji,G., Liu, K., He, S., & Zhao, J. (2017). Distant Supervision for RelationExtraction with Sentence-Level Attention and Entity Descriptions. Ai,3060–3066.动机关系抽取的远程监督方法通过知识库与非结构化文本对其的方式&#xff0c;自动标注数据&am…

使用sklearn做单机特征工程

目录 1 特征工程是什么&#xff1f;2 数据预处理  2.1 无量纲化    2.1.1 标准化    2.1.2 区间缩放法    2.1.3 标准化与归一化的区别  2.2 对定量特征二值化  2.3 对定性特征哑编码  2.4 缺失值计算  2.5 数据变换  2.6 回顾3 特征选择  3.1 Filte…

【JavaWeb】JDBC的基本操作和事务控制+登录和转账案例

1 JDBC操作数据库 1.1 连接数据库 首先导入jar包到lib public class JdbcDemo1 {public static void main(String[] args) throws ClassNotFoundException, SQLException {//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取数据库连接对象Connection…

Restful、SOAP、RPC、SOA、微服务之间的区别

一、介绍Restful、SOAP、RPC、SOA以及微服务 1.1、什么是Restful&#xff1f; Restful是一种架构设计风格&#xff0c;提供了设计原则和约束条件&#xff0c;而不是架构&#xff0c;而满足这些约束条件和原则的应用程序或设计就是 Restful架构或服务。 主要的设计原则&#xf…

详解深度语义匹配模型DSSM和他的兄弟姐妹

一只小狐狸带你解锁NLP/ML/DL秘籍正文作者&#xff1a;郭耀华正文来源&#xff1a;https://www.cnblogs.com/guoyaohua/p/9229190.html前言在NLP领域&#xff0c;语义相似度的计算一直是个难题&#xff1a;搜索场景下Query和Doc的语义相似度、feeds场景下Doc和Doc的语义相似度、…

行业新闻 | 阿里发力知识图谱研究 悉数囊括顶尖学者探讨合作

12 月 20 日&#xff0c;阿里巴巴联合中国中文信息学会语言与知识计算专委会(KG专委)举办的知识图谱研讨会在杭州召开。研讨会由阿里巴巴集团副总裁墙辉&#xff08;花名&#xff1a;玄难&#xff09;主持&#xff0c;国内知识图谱领域多位顶级专家参加此次研讨会。在阿里巴巴持…

【JavaWeb】JDBC优化 之 数据库连接池、Spring JDBC

1 数据库连接池 为什么要使用数据库连接池&#xff1f; 数据库连接是一件费时的操作&#xff0c;连接池可以使多个操作共享一个连接使用连接池可以提高对数据库连接资源的管理节约资源且高效 概念&#xff1a;数据库连接池其实就是一个容器&#xff0c;存放数据库连接的容器…

Java远程通讯技术及原理分析

在分布式服务框架中&#xff0c;一个最基础的问题就是远程服务是怎么通讯的&#xff0c;在Java领域中有很多可实现远程通讯的技术&#xff0c;例如&#xff1a;RMI、MINA、ESB、Burlap、Hessian、SOAP、EJB和JMS等&#xff0c;这些名词之间到底是些什么关系呢&#xff0c;它们背…