转 https://www.zhihu.com/question/27606493/answer/37447829

时间:2021-07-21 17:22:54
著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:梁川
链接:https://www.zhihu.com/question/27606493/answer/37447829
来源:知乎

1、支付平台有自己的一套客户/账户/账务体系,用于记录各个客户/商户的基本信息、账户信息、账务信息。
基本信息包括实名认证信息、联系方式等等信息。
账户信息比较重要的属性是账户资金/余额,此处的账户资金实际上只是虚拟账户的资金信息,并非实际的资金,实际的资金存放在支付平台在银行设立的银行账户上。
关于账户/账户体系,一般有单式记帐法、复式记账法,关于账户/账务系统的设计具体原理可以找一本《会计学原理》好好学习一下,琢磨清楚科目设置、账户、流水分录、账簿、复式记账法之类概念,再结合交易订单处理,基本上就可以做出一个简单的账户/账务系统。
当然一般所说的账户/账务体系,实际上还涉及客户/商户模型,以满足“客户为中心”而非“账户为中心”的管理需求。
简单说来,支付平台的账户体系实际上用于记录每一个客户/商户的账户资金等虚拟信息。

2、支付平台会在银行设立一个或多个账户,用于归集客户或商户的备付金(粗俗地可以理解为,客户/商户充值、支付、交易等待结算的资金)。
以普通用户在第三方支付平台给自己虚拟账户在线充值为例(懒得画图了):
1)、用户在第三方支付平台执行充值操作,跳转到银行网关进行支付。
2)、用户支付成功后,银行会实时从用户银行账户上执行扣款操作。
3)、银行网关通知支付平台用户支付成功(成功扣款)。
4)、支付平台在自己账户体系中给对应用户虚拟账户增加对应资金。
5)、银行和支付平台然后按照约定的结算周期(例如T+1)进行对账、清结算等操作后,将用户充值的资金结算给支付平台在银行设立的账户。
备注:
1)、一般情况下支付平台不会在自己在银行设立的账户为每一个用户都设立一个对应的账户,只会有一个总的账户用于归集所有客户或商户的资金。而哪一个用户账户余额有多少钱,需要结算多少钱给某个商户,在支付平台的虚拟账户/结算系统中做标识。
2)、在银行备付金管理办法颁布前相对灵活,可以毫无限制地根据需要设立多个账户。例如在中国工商银行不同省份的支行设立不同的账号。
备付金管理办法颁布后,有所谓的汇缴户、收付户、存管户等限制,具体参考《支付机构客户备付金存管办法》

P2P平台自己账户体系的设立基本类似,并无过多复杂的地方,当然一般只需要采用单式记账法就够了。
只不过如果是P2P平台在第三方支付平台做资金托管,那么第三方支付的账户托管在账户设置上一般会有两种模式:
1、资金池模式:每一个P2P客户在支付平台的托管账户没有独立的虚拟账户,或者在项目级有对应每一个项目的总虚拟账户,或者只有一个总的虚拟账户(此种情况一般称为网关模式)。
2、虚拟账户模式:每一个P2P的客户在支付平台的托管账户都有一个独立的虚拟账户。