钱包就是装钱的包。这个解释应该是最准确的。但是谁说钱包只能装钱呢?能装身份证、名片、人的照片吗?装钱的包还能叫钱包吗?这不是哲学问题,是个无聊的问题。
今天我们来聊聊用户电子钱包的设计。
1. 什么是用户电子钱包?
电子钱包是利用互联网技术在线管理数字货币的虚拟钱包,例如微信钱包、支付宝钱包,以及新推出的数字人民币钱包。
至于电子钱包,只要满足两个条件就行,第一是必须是数字化的,第二是必须用来理财,既然是理财,就必须有“余额有多少钱”、“交易怎么变”。
2. 用户钱包的用途
钱包最重要的用途就是管钱,另外一个很重要的用途就是支付交易;因为我们在银行或者第三方支付机构的钱包更多的是用来结算或者支付的,所以我们暂时就假设钱包的核心用途是支付。
从另一个角度来说,钱包是一种管理电子货币并为用户提供充值、提现、转账、支付等交易支付功能的金融工具。
3. 用户钱包的底层功能
钱包的底层其实就是账户,而钱包的表面只不过是一层“皮”。
我们在上一篇文章中已经对账户进行了详细的介绍,这里我们再从资金属性的角度来重新审视一下账户的分类。
银行账户:
银行账户主要分为储蓄账户和结算账户两大类,其中结算账户分类管理办法对结算账户分类有更为详细的定义:
2016年4月1日,《关于加强**个人银行账户服务账户管理的通知》(银发[2015]392号)正式实施,建立个人银行账户分类管理机制,根据风险等级,个人银行结算账户分为一、二、三类。其中,一类账户目前由个人在银行柜台开立,现场核实身份,功能齐全;二、三类账户通过银行柜台开立。通过网上银行、互联网等电子渠道开立的银行账户功能有限,需与一类账户绑定。
支付机构账户:
支付机构还可以为用户开立虚拟账户,我们称之为支付账户。根据中国人民银行的规定,支付账户分为以下几种:
2016年7月1日,中国人民银行《非银行支付机构互联网支付业务管理办法》(中国人民银行公告[2015]43号)正式实施,建立了个人支付账户分类管理机制。根据身份验证方式和风险等级,个人支付账户分为一、二、三类。其中,一类账户只需通过一个渠道验证身份信息,开户最为便捷,账户余额可用于消费、转账,但限额相对较低;二、三类账户需通过至少三、五个渠道验证身份,或当面验证身份,余额限额较高;三类账户的余额除可用于消费、转账外,还可用于购买投资产品。
注:我们可以看到银行结算账户有三种类型,支付机构支付账户也有三种类型,注意区分,不要混淆。每种账户的具体条件、限制、功能权限这里就不细说了。
自建账户:
以上两种账户都是合法合规的。还有一种账户就是平台的自建账户,当然这种账户是虚拟账户,不包含真实资金(其实支付机构支付账户中的真实资金也是受人民银行备付金账户监管的);我们也可以围绕这个自建账户,构建一个用户钱包体系。
4.钱包分类及区别
认为钱包的本质是账户,账户的本质是资金,那么我们来看看如何根据账户内资金的属性对钱包进行分类。
银行用户钱包:
银行基于银行结算账户体系构建的钱包应用,例如各类银行APP中的钱包。
支付机构用户钱包:
支付机构基于支付账户体系构建的提供钱包解决方案的钱包应用,或者由商户封装API的钱包应用。
数字人民币钱包:
中国人民银行推出的数字人民币钱包。
平台自建钱包:
每个平台都根据自己的账户构建自己的虚拟钱包应用程序。
5. 如何选择钱包类型
考虑到业务需求、成本、灵活性和合规性,我们实际上有多种选择:
因为当你接入第三方机构或者银行钱包的时候,对方会提供完整的钱包解决方案和接入文档,所以你只要按照需求接入就可以了。这里我们重点讲解钱包的前端应用设计以及必要的交易支付系统。
6. 钱包架构及流程
产品功能架构:
说到钱包的架构,我们可以从用户层到最底层分为几层。
业务流程架构:
我们将在这里停下来,不再过多地讨论细节,因为所涉及的系统都在单独的详细文章中介绍。
用户进程:
用户完成账户注册、开通账户、实名认证、设置密码后,即可使用钱包的相关功能。
7.设计钱包的功能
钱包的核心功能是:
登记:
用户首先注册成为平台用户,获得用户唯一身份ID,然后申请开通钱包功能,钱包可以由平台自建,也可以接入第三方支付,若接入第三方支付则需要向第三方提交用户信息及开户申请。
已验证:
一般实名认证有两种:一种是姓名、身份证实名,主要通过公安部的实名认证接口实现;或者通过第三方支付的卡绑定多因素认证实现;一种是手机号实名,主要通过运营商的手机实名认证实现。
卡绑定/解除绑定:
绑卡认证有现成的服务接口,可以通过四因素、三因素、五因素认证接入,如果你自己搭建的钱包只是为了验证银行卡是否可用,那么使用三因素即可;如果你接入的是第三方支付公司钱包服务,那么你可以根据自己开通的支付账户类型选择认证方式验证;比如你开通了三类支付账户,那么就需要五因素认证。
存款/取款:
如果你有钱包,你需要充值,如果你不再需要钱包,你需要提现。如果你自己搭建了钱包,没有接入任何一方,那么你可以直接使用微信、支付宝支付通道进行假充值,需要接入支付通道才能将资金支付给用户;如果你接入了第三方支付,那么可以使用第三方提供的充值、提现支付接口。
转移:
主要是指用户钱包账户之间资金的转移,一般不支持跨商户平台转账,微信、支付宝除外,有个人对个人转账,商户对个人转账。
余额支付:
就是用钱包下单支付,比如我们在微信上买东西,就可以用微信钱包作为支付方式,这个在渠道设计和账户设计里面有详细介绍,这里就不多说了。
8. 设计钱包前端应用程序
前端设计我觉得不用过多介绍,因为很好研究,比如微信钱包,支付宝钱包;很多应用钱包都很容易学习和参考。
9.构建钱包底层账户服务
本节将在账户体系设计详解中详细介绍如何设计账户体系。本节内容与“账户体系设计详解”类似。
10. 构建钱包关联支付服务体系
充值、提现、转账、绑卡及认证、支付安全、钱包流转等
支付交易的本质是通过支付通道操作账户完成资金的处理。
与支付相关的支付核心、交易核心、支付系统后面会详细介绍,这里就不再赘述了。
11. 钱包操作背景
钱包的运行后台、账户体系、支付交易等独立的系统单元不再赘述,重点应放在钱包特有的部分,如钱包激活状态列表。
最后我们来回顾一下已经发表过的关于支付系统的文章,我们会发现,虽然整个支付系统是由很多系统组成的,但是系统之间的联系非常紧密,每个功能的实现都需要整个系统的协作。随着我们逐一揭开每个系统的神秘面纱,那些曾经困扰我们的领域也会随着其他系统的展开而逐渐显露出来。
当我们谈完整个支付系统,并把它放到最初的支付架构里之后,回头看,心里只有兴奋和感动...坚持下去!