建筑师()
我们都是建筑师!
构筑未来,你来吗?
目录
1 前言
2 支付发展历史
3 第三方支付概述
4结论
支付方式是如何演变的?什么是第一方、第二方、第三方、第四方支付?三方支付体系背后的支撑体系是什么?第三方支付系统由哪些部分组成?各个部件的作用是什么?本文作者将带您详细、全面地走进支付系统的技术设计,帮助您系统地掌握支付系统的技术概述!
前言
1.1 背景
支付方式是如何演变的?什么是第一方、第二方、第三方、第四方支付?三方支付体系背后的支撑体系是什么?第三方支付系统由哪些部分组成?各个部件的作用是什么?我会尽可能用通俗易懂的方式来组织结构,并从客观现实需求出发介绍实现,让读者更容易理解这个金融基础设施的内部基本原理。
文章内容仅代表我个人观点。如果您有不同的意见,请指正。
1.2 专业术语
本节提前介绍了下面(下划线)出现的一些重要专业术语,可以快速浏览并稍后返回参考。
专业术语
词汇表
支付工具
具有第三方支付功能的应用程序,如微信支付、支付宝等,都属于第三方支付工具。下面介绍什么是“第三方”,以后将第三方支付工具简称为“支付工具”。
用户
在支付工具中注册并激活并使用支付功能的人,即为支付工具的用户。
商人
接入支付工具、向用户提供服务并收取费用的机构或个人。
用户帐户
指用户在第三方支付系统开立的账户。我们用User来代称,以下简称U账户。
商户账户
是指在第三方支付系统中为商户开立的账户,我们简称M账户。
条款
支付机构为办理客户委托的支付业务而实际预收并支付的货币资金。可以简单理解为用户暂时持有在支付机构开立的银行账户中的资金。
系统资金
是指在第三方支付系统登记的账户余额资金。本质上,它只是计算机系统中的数字记录,不具有法定货币的效力。
实物资金
是指银行账户中存在的法币资金,可以近似认为是等价于货币的真实实物资金。
支付
狭义的支付仅指用户向商户转账资金,而广义的支付还包括充值、转账等功能。
支付
是指资金从支付机构的备付金账户到目的地银行账户的转账。例如,如果用户将微信余额提取到工行银行卡,资金将从微信工行备付金账户转入用户的工行账户。这是一个典型的支付业务场景。
退款
是指支付机构将用户支付的款项从商户账户退回至用户账户或银行卡的过程。
沉降
是支付机构按照合同规定的时间和费率将商户账户中的资金划转至商户用户账户的过程,并收取手续费。通常支付机构还会为商户提供自动提现至银行卡的附加功能。
支付发展历史
我们日常生活中使用的微信支付和支付宝都是第三方支付应用。那么什么是第三方支付呢?为什么叫第三方支付?什么是第一方支付和第二方支付?有没有第四方支付?我们不妨结合支付的历史发展历程来一一阐述。
2.1 第一方支付
第一方支付如下图所示:
第一方支付方式为现金支付。从货币诞生之初起,我们就长期依赖这种支付方式。 “第一方”具体是指买卖双方直接使用法币进行交易,即一手支付,一手交割,资金不经过任何中介机构。随着业务的发展,大额交易已经不再适合用现金支付,第一方支付已经不能满足需求。
2.2 第二方支付
第二方支付如下图所示:
第二方支付是一种依赖银行的支付方式。买卖双方通过银行进行资金转账,避免了大额现金交易带来的安全、携带、存储、盘点、验证等问题,使大额交易快捷、方便、安全、简单。由于银行运营有一定的成本和使用门槛,第二方支付已经逐渐淡出日常生活和小额市场支付,转而在一些巨额交易和政策性金融活动中大放异彩。
2.3 第三方支付
第三方支付是指具有一定实力和信誉并获得国家颁发经营许可证的独立机构的网络支付模式。与各大银行签订合约,通过对接银行相关接口促进交易。我们熟悉的微信支付和支付宝都是第三方支付工具。随着移动设备+互联网的广泛普及,第三方支付工具迅速占领日常生活中的各种交易场景,逐渐取代大部分中小额现金交易。
2.4 第四方支付
第四方支付实际上聚合了多个第三方支付及合作银行的渠道接口,为商户提供一站式支付解决方案:
第四方支付的优势在于聚合了多个第三方支付,为商户提供一站式支付解决方案,同时方便了商户和用户。但第四方支付目前缺乏政策资质,面临较大的金融安全风险。
03
第三方支付概述
本章将对第三方支付进行整体描述,包括角色拆分、账户体系、原有工作模式、领域划分等。
3.1 域角色
返回我们的第三方支付介绍图:
上图涉及四个角色:用户、商户、银行和第三方支付工具本身。可见,第三方支付系统内部至少要抽象出三个角色来服务用户、商户和银行。由于支付主要涉及资金的记录和划转,适合以账户的形式承载,因此在第三方支付系统中扩展到三类账户。
3.2 三种账户类型
账户是支付机构内部为其服务对象(用户、商户、银行等)创建的物理记录(类似于表格)。这些记录包含了对象的关键信息,如机构分配给对象的唯一ID、对象的余额、交易等。交易、账户状态等。可以说,账户是支付机构识别服务对象的基础,所有服务对象都必须有账户。
根据第三方支付的服务对象,我们将账户抽象为三类:用户账户()、商户账户()和银行账户(Bank)。
3.2.1 用户账户(User)
用户账户中需要记录哪些信息?需要有唯一的账户ID以避免记录混乱,需要为用户记录余额,需要记录账户的资金变动过程(流程)。如下图:
用户账户有哪些行为特征?
并发性小:通常同时发生一笔交易,因为支付需要用户手动操作。
交易频率低:普通用户通常每天只进行几次付款。
余额敏感性:用户对其账户余额及其变化非常敏感。
这些特性非常直观,但是会对我们后面的深入介绍产生很大的影响。这里只要理解并铺路即可。
3.2.2 商户账户( )
商户账户需要记录的最基本信息与用户相同,也是ID、余额和交易。
商户账户有哪些行为特征?
高并发:很多用户会同时向同一个商家付款,特别是在促销期间。
交易频率高:商户一天的交易量可能非常大。
![]()
对余额变化不敏感:由于商户的余额会随着用户的持续支付而快速变化,因此商户本身对账户余额并不敏感。
3.2.3 银行账户(银行)
银行账户映射各大银行,其账户如下:
银行账户有什么特点?
数量有限:银行账户映射各大银行,因此数量有限。
交易金额巨大:大型支付机构与银行之间的资金交易通常以亿计,金额极其庞大。
高并发:同一张银行卡的用户较多。这些用户同时使用银行卡进行支付,交易规模也非常大,比单个商户的交易规模要大得多。
余额不敏感:因为是支付机构映射银行开立的内部账户,银行不会关注,所以除了支付机构本身,没有人关注账户余额。
3.2.4 通信
上述三类账户与第三方支付角色的对应关系是什么?是直接一对一吗?如下图:
用户只要有用户账户就够了,而商户往往既有商户账户又有用户账户,银行只对应银行账户。
为什么商家有额外的用户帐户?这是出于资金管理的需要。商户账户内的资金并非全部属于商户本身,其中一部分是第三方支付机构,会向商户收取佣金。只有支付机构收取佣金后的净额才属于商户本身,可以自由使用。
简而言之,商户账户中的资金不能被商户直接使用。需在支付机构收取佣金后转入商户用户账户,方可自由提现。这实际上就是结算过程。后续结算量会有专门文章解释。这里只是简单的了解一下。
3.3 切换视角
以常见的菜市场买菜场景为例,从用户角度来看,支付流程如下:
用户选好蔬菜后,打开微信支付,扫描卖家二维码,输入金额和密码完成支付,并带走商品。用户角度的支付流程到此结束。但从系统角度来看,支付只是整个交易链中的流程之一。交易前后还需要许多其他流程。
让我们跳出用户的角度来思考一些深入的问题:
代购商品的微信余额是怎么来的?如果用银行卡支付,钱是如何从银行卡转入微信的呢?
当我们的银行卡急需资金,选择从微信提款到银行卡时,资金是如何转账的呢?
用户支付的钱如何给商家?微信支付收取支付费用吗?向谁收费?什么时候收集的?
当我们对购买的商品不满意并要求退款时,资金如何退回?
可见,要想真正理解支付,我们的关注点不能仅仅停留在用户的角度。
3.4 运行模式
支付机构本质上是与资金相关的业务。我们知道,第三方支付涉及用户、银行和支付机构本身。接下来我们尝试使用上面的账户系统来分析一下常见的支付流程。
3.4.1 初始状态
我们用一个典型的例子来说明,涉及到对象的初始状态如下图:
涉及的用户有两个,张三和李四。他们分别有自己的微信账户和银行账户。微信还在银行开设了自己的银行账户,称为准备金账户(专业术语章节有介绍)。他们各自的余额如上所示。
3.4.2 用户充值
现在假设张三想通过银行卡给自己的微信余额充值20元。基金变动如下图所示:
首先,张三的银行账户从微信备付金账户中扣除20元。成功后,微信给张三的微信余额添加20元,充值完成。
PS:用户在微信中绑定了银行卡,因此用户无需去银行转账。而是通过微信与银行之间的接口自动扣除资金。
3.4.3 用户提现
假设李四要从微信余额中提取10元到银行卡,资金将发生如下变化:
首先从李四的微信余额中减去10元,然后微信支付调用银行接口将10元从微信备付金账户转入李四的银行卡。提现流程结束。
PS:这里扣除李四的微信余额时,并不是直接扣除,而是先冻结,银行转账成功后再实际扣除。冻结和解冻的具体情况和原因会在付款金额中详细说明。
3.4.4 用户转移
假设张三要转账20元给李四,则资金变化如下:
此时张三的余额先减少20,然后李四的余额增加20,转账完成。
PS:微信转账有一个确认收款的过程。如果我们想使用上面的账户系统来完成这个功能,我们该怎么做呢?这个问题将在支付量中讨论。
3.4.5 基金变动汇总
从上表中我们注意到,准备金账户和微信账户的净变化始终相等。
充值时,如果微信系统余额增加,预留账户也会增加等量;
提取现金时,微信系统中的余额减少,准备金账户中的余额也会减少相同的金额。
资金划转时,只是支付工具内部账户之间的转账,不涉及资金流入支付系统,因此备付金账户余额保持不变。
因此,我们可以将所有支付系统余额视为所有储备银行账户余额的映射。我们把微信余额称为系统资金,银行余额称为实物资金。如果实物资金小于系统资金,则说明实物资金已被挪用,可能导致用户无法提取现金。国家将对持牌支付机构准备金的使用进行监管,避免出现此类情况。
3.5 支付交互
上一节介绍了用户账户和银行账户之间的一些常见交易类型。本节将介绍涉及商户账户的支付流程,如下图所示:
用户和商户也有自己的银行账户和微信支付账户。微信支付作为中间桥梁,连接银行、用户、商户,共同构成整个交易网络。从交互图可以看出,支付系统有很多重要的功能:
充值。用户将银行卡内的资金转入微信支付成为微信余额的过程。
提取现金。用户或商户将微信余额转入银行卡的过程。
支付。具体是指用户将资金从自己的现金账户转移到商户交易账户的过程。
退款。支付的逆过程,将资金从商户账户退回到用户账户。
沉降。用户支付给商户的资金在收取手续费后转入商户现金账户的过程。
上述功能中,有些只涉及用户,例如充值、提现;有些涉及用户和商家,例如支付和退款;还有一些只涉及商户,比如结算。
3.6 域分裂
我们把上面的各种交易类型整合起来,按照业务领域进行拆分和总结,如下图所示:
以下是这些区域及其职责的简要描述:
支付(广义):负责提供支付、转账、充值等基础交易能力。
退款:负责将用户支付的资金从商户账户退回至用户账户或用户银行卡。
支付:负责将支付系统中的资金提取到指定的用户银行账户,即提现。
结算:负责按照合同规定的规则将资金从商户交易账户划入商户现金账户,并收取交易费用。
每个领域都提供基础能力,服务于多种业务场景。有些业务场景需要多领域能力的配合。例如,结算业务需要能够从付款中提取现金。
结论
在上面的介绍中,我们解释了几个重要的问题:
什么是第三方支付。
第三方支付机构的账户体系是怎样的?
第三方支付业务背后的资金如何在账户之间流动。
第三方支付系统主要覆盖哪些领域?
本文从整体角度简单阐述了一个支付系统的构成和运行流程,并对第三方支付领域进行了拆分。
如果您喜欢这篇文章,请点击右上角将文章分享到您的朋友圈
如果您想了解学习的技术要点,请留言给若飞安排分享。
由于公众号更改了推送规则,请点击“关注”并加“星”,以便第一时间获得精彩的技术分享
·结尾·
相关阅读: