图片 1

【转载】支付平台的账户体系结构是怎么设计的?

今天见群里有童鞋问账户的架构体系,原来做过,但猛一下子还没起来,理了一下才回想回来,为了下次想不起来的时候能有个地方查找,纪录一下。

这个话题比较大,简单来说:

 

1、支付平台有自己的一套客户/账户/账务体系,用于记录各个客户/商户的基本信息、账户信息、账务信息。

账户体系一般用的都是三户模型。
用户,账户,客户。

基本信息包括实名认证信息、联系方式等等信息。

一个用户有多个账户,
一个账户被多个用户使用,
一个客户有多个账户,
一个客户有多个用户。

账户信息比较重要的属性是账户资金/余额,此处的账户资金实际上只是虚拟账户的资金信息,并非实际的资金,实际的资金存放在支付平台在银行设立的银行账户上。

一个用户有且最多是一个客户。

关于账户/账户体系,一般有单式记帐法、复式记账法,关于账户/账务系统的设计具体原理可以找一本《会计学原理》好好学习一下,琢磨清楚科目设置、账户、流水分录、账簿、复式记账法之类概念,再结合交易订单处理,基本上就可以做出一个简单的账户/账务系统。

 

当然一般所说的账户/账务体系,实际上还涉及客户/商户模型,以满足“客户为中心”而非“账户为中心”的管理需求。

用户是使用者,或者触发交易的。
账户是交易结算的地方。
客户是交易买单的。

简单说来,支付平台的账户体系实际上用于记录每一个客户/商户的账户资金等虚拟信息。

一个用户有多个账户,交易的时候可以选择一个账户进行交易。
交易时,根据账户扣款。
一个客户可以把自己的账户授权给多个用户使用。一个客户可以同时开启多个账户。

2、支付平台会在银行设立一个或多个账户,用于归集客户或商户的备付金(粗俗地可以理解为,客户/商户充值、支付、交易等待结算的资金)。

 

以普通用户在第三方支付平台给自己虚拟账户在线充值为例(懒得画图了):

最后来张图,一图胜千言

1)、用户在第三方支付平台执行充值操作,跳转到银行网关进行支付。

图片 1

2)、用户支付成功后,银行会实时从用户银行账户上执行扣款操作。

3)、银行网关通知支付平台用户支付成功(成功扣款)。

4)、支付平台在自己账户体系中给对应用户虚拟账户增加对应资金。

5)、银行和支付平台然后按照约定的结算周期(例如T+1)进行对账、清结算等操作后,将用户充值的资金结算给支付平台在银行设立的账户。

备注:

1)、一般情况下支付平台不会在自己在银行设立的账户为每一个用户都设立一个对应的账户,只会有一个总的账户用于归集所有客户或商户的资金。而哪一个用户账户余额有多少钱,需要结算多少钱给某个商户,在支付平台的虚拟账户/结算系统中做标识。

2)、在银行备付金管理办法颁布前相对灵活,可以毫无限制地根据需要设立多个账户。例如在中国工商银行不同省份的支行设立不同的账号。

备付金管理办法颁布后,有所谓的汇缴户、收付户、存管户等限制,具体参考《支付机构客户备付金存管办法》

P2P平台自己账户体系的设立基本类似,并无过多复杂的地方,当然一般只需要采用单式记账法就够了。

只不过如果是P2P平台在第三方支付平台做资金托管,那么第三方支付的账户托管在账户设置上一般会有两种模式:

1、资金池模式:每一个P2P客户在支付平台的托管账户没有独立的虚拟账户,或者在项目级有对应每一个项目的总虚拟账户,或者只有一个总的虚拟账户(此种情况一般称为网关模式)。

2、虚拟账户模式:每一个P2P的客户在支付平台的托管账户都有一个独立的虚拟账户。

作者:梁川

链接:https://www.zhihu.com/question/27606493/answer/37447829

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。