序
刚进入第三方支付行业时,还是网关模式,也就是直接去银行扣钱,没有余额的概念。
过了几年跳槽到另外一家第三方支付公司,开始有余额账户,有了余额,就有充值、转账、提现,简称充转提,通常意义上的资金产品。
可是后来出现了微信支付与支付宝之间的被喻为“偷袭珍珠港”事件:当时支付宝占了第三方支付的绝大部分份额,号称“拿着望远镜也找不到对手“,结果微信支付在某个春晚打广告,摇红包,发红包,绑卡量井喷式增长。从那以后,微信支付大杀四方,经过几年突进,市场份额早已超过支付宝。
这里的红包也是资金产品的一种形态。
1. 前言
资金产品处理用户的资金流动,包括充值、转账、提现等操作,简称“充转提”。既有面向个人用户的,也有面向商户的。
资金产品与收单产品最大的区别在于,收单产品需要依托交易标的存在,比如买一杯咖啡,用户和商家存在交易标的“咖啡”。而资金产品是没有交易标的存在,比如充值100块,给别人转账100块,提现100块。当然特殊情况下可能有线下交易标的,但在系统中是没有反映的,比如在线下买份早点,直接给店主转了10块钱。
2. 资金产品的几个关键概念
充值:用户将资金从银行账户或其他支付工具转入支付平台的账户中。
转账:用户将资金从自己的账户转移到另一个用户或商家的账户。
提现:用户将资金从支付平台的账户转回到自己的银行账户或其他支付工具。
有些特殊场景本质也是资金产品的一种,比如微信发红包,群收款,商户代发工资等,都是转账的一种。
需要说明一点的是,从广义的角度看,资金产品的本质全部是转账,比如充值,提现,代发,内部调拨等场景,都是从一个账户到另一个账户。
3. 资金产品定义及在支付系统中的位置
说明:
资金产品承担非商品交易的资金服务,包括充值、转账、提现、代发等。
同时面向个人用户和商户提供服务。
4. 系统架构图
说明:
对客产品可以封装成多种形式,比如红包,AA收款都可以由转账来封装。
资金产品和收单产品是并列的关系,前者为个人用户和商户提供纯资金流动的服务,后者是为商户收单提供服务。
资金产品需要依赖收银支付提供的扣款和打款服务。
5. 转账模式
资金产品的转账对外封装的业务形态很多,包括普通的转账,转账到余额,代发,红包,群收款等,如果不做好抽象,就会导致代码烟囱林立。
有一种抽象思路可以参考:
分层,上层是资金产品的产品层,负责封装各种对客产品。下层是资金产品的核心层,负责管理资金产品的模式。
模式无外就下面几种:
转账关系:
一对一:资金出入方都各只有一个。比如个人到个人的转账,个人到个人的红包。
一对多:出资方只有一个,入金方有多个。比如群发红包。
多对一:出资方多个,入金方只有一个。比如群收款。
到账模式:
即时到账:钱直接到用户的余额账户。比如支付宝转账,不需要确认,直接到账。
担保到账:钱先到中间账户,用户确认收款后,才到用户的余额账户。比如微信支付里面的转账、红包都需要用户点确认。资金在用户确认之前就留在担保户里。
特殊的,个人从余额转账到其他人的银行账户时,还会走银行打款流程。
6. 领域模型设计
说明:
资金产品都有一个主单。
如果是充值,那就有一个支付单。
如果是普通转账,那就有一个支付单,一个或多个收款单。如果是AA收款,就会有多个支付单和多个收款单。
如果是提现,那就有一个流出单。但是流出有可能出现退票,所以可能存在退票单。
7. 结束语
资金产品是支付平台除收单产品外另一个最重要的产品。有些公司可能还会把汇款产品也纳入,但是汇款产品常常涉及外汇和申报等特殊流程,所以大部分情况下,汇款产品是独立于支付平台的资金产品业务线的。一些跨境支付公司可能还会把收款产品也纳入到资金产品,比如VA来账收款,这些业务形态和流程都过于复杂,有机会再聊。
本文介绍了通常意义上的资金产品的定义,以及对应的系统架构,核心领域模型。希望能为大家在学习资金产品相关知识时能提供一些有益的参考。
最后想说明的是,资金产品因为在系统中没有交易标的存在,所以更有可能出现用户或商户资损风险,在大部分国家都是强监管的区域,需要谨慎对待,风控也非常重要。
内容节选自《图解支付系统设计与实现》。欢迎关注公众号“隐墨星辰”,和我一起深入解码支付系统的方方面面。
有个小群不定时解答一些问题或知识点,有兴趣的同学可先加微信(yinmon_sc)后进入,添加微信请备注:666。