【转载】第三方支付商户设计理念中区分 B 帐户和 C 账户出于什么考虑?

B账户和C账户,B账户只进行结算用于交易的收款、C账户可以直接操作用户提现充值支付等。为什么要这样设计

一般提到第三方支付的账户体系涉及几个概念:

1、三户模型(客户customer、用户user、账户account);

2、账号 vs. 账户;

其中三户模型(客户、用户、账户)是指:

客户(customer):是指客户(自然人、公司、集团公司)的基本资料信息。例如自然人的姓名、手机号、身份证、邮箱地址等等;公司的五证一照、行业、联系人、网站地址、通讯地址等等。

用户(user):指客户在第三方支付系统的登录账号,包括账号、密码、人员权限及角色等等。在这里,账号==系统用户。客户与用户(账号)为一对多关系。

账户(account):指客户在第三方支付系统的虚拟账户,主要与资金交易相关(标准说法可以参考会计学原理)。用户(账号)与账户为一对多关系。

在做账户设计时候,有两种方案:

方案1:账户不区分商户和个人。

方案2:账户区分商户账户和个人账户

就自己经验而言,更倾向于采用方案1。实际上看一下复式记账法,可以看出,在账户层面其实没必要区分个人账户、商户账户,可以通过在客户、用户(账号)、会计科目上做区分。

因此下面假定采用方案1,因此题主提到的B账户和C账户指的是商户账号、个人账号。为描述上简单起见,这里假定客户、用户(账号)笼统称之为账号,以下提到的账号的属性等可能既包括客户和用户的属性。

一般在讨论支付平台架构时候都会讨论: 商户账号(2B)和个人账号(2C)要不要分离开,例如商户登录界面和个人会员登录界面要不要分开、数据库表模型上要不要分开。

大部分支付平台都采用了商户账号和个人账号分离的方案,大致原因如下:

1、商户账号和个人账号业务实体(领域模型)属性不相同

例如:

商户账号涉及企业资质(五证一照),网站地址、行业、联系人、接入密钥、接入类型等等。对应的虚拟账户绑定的银行账户可以为对公账户或对私账户。商户账号可能好包括类似集团账号(多级组织架构)的情况。

会员账号一般主要包括姓名、身份证、手机号、邮箱等相关信息。

可以看出,商户账号相对于会员账号需求更为复杂,很难用一套模型来统一,即便统一,也有诸多冗余信息。

2、资金清结算上不相同。个人账号一般不存在对账、清结算等需求,而商户需要。

3、服务接入上不相同。个人账号一般只需要在第三方支付平台注册并登录即可,并需要额外接入工作;而商户需要按照第三方支付平台的商户接入规范先签署协议等,然后按照接入SDK将自己平台或网站与第三方支付平台对接。

4、服务场景不相同。个人账号一般只需要转账、充值、提现、退款、查询等操作。而商户除了充值、提现、退款等操作外,还包括收款、对账、清算、结算、分账、代收付、批量代收付等。

5、商户账号与个人账号管理需求不同。

个人账号一般不需要过多的管理权限,例如一般不需要子账号、多角色之类的管理功能。而企业账号可能需要多个账号角色,例如操作员、管理员、出纳等等。

当然商户账号与个人账号的差异还涉及运营管理、安全、风控、数据分离存储、技术实现上简单等方面的考虑,就不仔细描述了。

作者:梁川

链接:https://www.zhihu.com/question/28829340/answer/42334116

来源:知乎

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

你可能感兴趣的:(【转载】第三方支付商户设计理念中区分 B 帐户和 C 账户出于什么考虑?)