電子“錢包”設計,從入門到精通
“電子錢包設計全攻略,從基礎到進階剖析?!?在數字化時代,電子錢包的應用日益廣泛,那么其設計原理與流程是怎樣的?如何確保其功能的完善與安全?一提多戶等復雜場景又該如何應對?
錢包錢包,就是裝錢的包,這個解釋應該是最精準的了。但是誰說錢包只能裝錢呢,裝身份證行不行,裝名片可不可以,裝某人的照片是不是可行?一個不裝錢的包還叫錢包么?本小節將解析用戶電子錢包的設計思路和方法。
1.錢包概述
電子錢包是利用互聯網技術手段實現數字貨幣線上管理的數字化錢包,我們看幾個錢包示例:京東錢包、美團錢包、滴滴錢包、知識星球錢包。
圖1 錢包案例
從這些案例中,不難發現,錢包可以抽象為一個資產管理工具,可以提供“存錢、借錢、花錢、結錢”的資金管理服務
由此,一個錢包常具備以下功能資金管理類功能:資產管理(余額)、信貸管理(借錢)、理財管理、基礎交易(充值、提現、轉賬、消費支付)入口作用:商品入口、營銷入口、重要活動通知入口
基礎功能:卡管理、支付密碼管理、實名認證 ?電子錢包,無非要滿足2個條件,第一個是數字化的,第二點是用于管錢的,既然管錢就必然有“多少錢的余額”“怎么變化的流水”。錢包最核心的一個用途就是管錢,另一個非常重要的用途是用于支付交易。因為無論在銀行還是在三方支付機構開通的錢包更多的目的是用于結算或者支付,所以暫且認為錢包的核心目的是支付,如圖2所示。
圖2?錢包用途
從另一個角度來看,錢包是一個金融工具,管理電子貨幣,并向用戶提供充值、提現、轉賬、支付的交易能力。
2.錢包的底層能力
錢包的底層能力其實就是賬戶;錢包的用戶端無非就是個殼,如圖3所示,應用層就是用戶使用的錢包,底層是賬戶的基礎能力,包括注冊、綁卡、轉賬等交易能力。
圖3?錢包的底層能力
常見的賬戶種類有央行的清算賬戶、銀行結算賬戶、支付機構的支付賬戶、企業自建的虛擬賬戶等,其中,銀行結算賬戶主要分個人結算賬戶和企業結算賬戶;支付機構也可以為用戶開具賬戶,稱之為支付賬戶;還有一種賬戶就是平臺自建賬戶,當然這類賬戶就是虛擬記賬,并不存有真實的資金,圍繞自建賬戶也可以構建一個用戶錢包體系。
錢包的本質是賬戶,賬戶的本質是資金,所以根據賬戶里的資金屬性來看,錢包可以分為銀行錢包、支付機構錢包、企業錢包、數字人民幣錢包等,其中由銀行基于銀行結算賬戶體系構建的錢包應用是銀行錢包,比如各個銀行APP里的錢包;由支付機構基于支付賬戶體系提供錢包解決方案構建的錢包應用或者API經過商戶封裝后的錢包應用是支付機構錢包。
3.錢包的架構和流程
錢包的產品架構可以分為三層,如圖4所示,其中,應用層主要為用戶端錢包,為用戶提供錢包的基礎功能,例如余額管理和流水查看,銀行卡綁定,實名認證等;支持系統為內部系統,為錢包提供各項服務能力,例如會員服務、銀行卡服務、支付系統、賬戶系統等;最底層為外部的服務通道,例如支付通道、實名認證通道等。因此,可以說錢包是通過集成眾多底層能力實現的。
圖4?錢包產品架構
錢包的業務流程可以基于不同的服務去分析,如圖5所示,錢包的注冊開戶流程、實名認證流程、余額流水查詢流程、充值提現流程等,每一個流程都會涉及到內部相關的幾個系統,例如注冊開戶會涉及到用戶中心,為開戶提供用戶基礎信息。
圖5?錢包涉及到的系統體系
用戶進入錢包應用以后首先需要先完成賬號注冊、賬戶開戶、實名認證、設置密碼,然后可以使用錢包相關的功能,例如支付相關功能、銀行卡管理的相關功能、信息查詢等,如圖6所示。
圖6?錢包的使用流程
錢包可以完全自己做,也可以接入三方支付機構等外部機構的錢包
接入外部錢包核心是接入外部錢包的各類服務,由渠道統一接入,向內提供統一的錢包服務給到支付系統、付款系統、基礎服務等業務系統,整個結構如圖7所示
圖7?底層接入外部合規錢包
4.錢包的功能
錢包的核心功能主要包括注冊、實名認證、綁卡、充值提現、轉賬、支付等,下面分別做一個詳細的解讀。
注冊:用戶先注冊為平臺用戶獲得唯一身份ID,然后申請開通錢包功能,該錢包可以是平臺自建,也可以是接入的三方的錢包,如果是接入的三方錢包,那么按照三方要求傳送用戶信息申請開戶,如圖8所示。
圖 8?錢包注冊及開戶
實名認證,一般實名認證主要是2種,一個是通過三方支付的綁卡多要素鑒權實現認證;另一個是手機號,主要通過運營商的手機實名認證。
綁卡/解綁,綁卡鑒權有現成的服務接口,接入即可,四要素的,三要素的,五要素的;如果是自建錢包只是為了驗證銀行卡可不可用,那么使用三要素即可;如果是接入的三方支付公司的錢包服務,那么根據開的是幾類支付賬戶進行鑒權認證選擇即可。
充值/提現,有了錢包就需要充錢,錢包不用了就需要把錢提出來;如果是自建錢包沒接入任何一方的話,使用微信支付寶進行充值即可,提現的話接入三方的付款通道即可,將資金付給用戶;如果是接入了三方錢包的話,使用三方提供的交易能力即可。
轉賬,主要是指用戶之間的錢包賬戶之間進行資金轉移,一般不支持跨商戶平臺轉賬;有個人對個人轉賬,也有商戶對個人轉賬,如圖9所示。
圖9?錢包之間的轉賬
余額支付,就是使用錢包進行下單支付,比如我們在購買商品用微信支付時支付方式可以選擇微信錢包;平臺也可以使用自己的虛擬賬戶體系構建余額支付能力。前端設計首先也考慮的就是錢包的基礎能力,例如余額管理、充值提現、流水的查看等,完成基礎能力建設以后,可以基于實際需要構建更多的其他能力,比如信貸、欠款償還等,如圖10所示是一款簡單的B2B采購商城的商戶錢包,主要用于商戶采購下單支付。
圖10?錢包頁面
錢包的運營后臺、賬戶系統、支付交易等獨立系統單元這里就不介紹了,在其他章節有詳細解析,錢包的開通情況記錄可以通過一個后臺列表實現,如圖11所示,可以看到用戶錢包的基礎信息,錢包類型、認證狀態、賬戶類別等。
圖11?用戶錢包列表
5.一提多戶
這是一個非常實用的案例,對綜合素養要求較高,案例涉及面比較廣。很多公司會存在多條業務,有些企業每個業務線都會有一個錢包業務,這樣就造成了商家端錢包分散,一個商家在每個業務線都有一個錢包,分別管理余額、提現、綁卡、支付密碼等,資金管理體驗比較差,如圖12所示。
圖12?多個業務線
多個錢包此種情況可能就有了統一各業務線錢包的訴求,統一以后商家僅需管理一個錢包,綁定一張卡,設置一個密碼,一次完成多賬戶的同時提現,提高資金管理效率,提升商家的結算體驗,如圖13所示。
圖13 統一錢包結構
此種情況下,錢包的提現業務有2個核心問題要解決:第一個核心問題是“判斷有多少可提”:需要有系統告訴錢包當前的可提金額是多少,以及這些余額分別來自哪些賬戶,每個賬戶各有多少。第二個核心問題是“怎么發起提現”:當商家輸入提現金額時,需要有系統告知錢包,本筆提現要從哪些賬戶出,每個賬戶出多少,所以需要一個分配提現金額的策略。
5.1.解決幾個關鍵問題
以上統一錢包的訴求,可以轉換為“錢包的余額查詢、提現預加工的支持”這樣兩個更明確的訴求,其中有幾個關鍵點要想明白。
可提余額并不一定等于賬戶可用余額的總和,因為有提現手續費,導致個別賬戶可能不滿足最低提現金額要求,所以說可提金額不一定等于可用余額的總和。比如一個賬戶里只有2毛錢,而提現手續費要5毛,就無法完成提現,如表1所示。示例中主體001的可提余額計算結果=11.5元,因為賬戶3中的0.8元不滿足最低提現要求,因此不可提,實際可提金額=1.5+10.00=11.5元,因此,錢包可用余額12.3元,可提金額=11.5元。表1 賬戶的最小可提金額示例
可提余額不代表用戶要提的金額,因為用戶可能只選擇提取其中的一部分,所以要計算這部分金額應該如何分配到賬戶中,除非讓用戶選擇那個賬戶提多少,但這樣就失去了統一錢包的意義了,那么如圖14所示,就需要設定一個策略,在用戶屬于一個提現金額時,計算出這么多金額分別從每個賬戶扣多少。
圖14?提現金額
分配至賬戶的策略制定一個提現金額的分配策略,有很多種方法,可以做得簡單一些,比如設定一個固定的順序,以“ABC”的順序進行扣款,如圖15所示,先扣A賬戶,再扣B賬戶,最后扣C賬戶。
圖15?固定的提現
扣款順序也可以做成綜合策略,比如如果一個賬戶就夠了,那就只出一個賬戶,如果多個賬戶才能夠,那就按照順序扣款等,不過這樣的算法成本會增高,可能帶來的效果并不明顯,所以,我們就選擇第一種方法,按照固定順序扣款,這樣增加一個提現順序的配置,如表2所示。表2 提現順序配置
如例:可提金額是11.5,此時用戶僅提現“8元”,根據提現扣款順序的設定,如表2所示,實際扣款如表最后一列:賬戶1扣1.5,賬戶2扣6.5。用戶每輸入一次提現金額,就執行一次預計算,并實時反饋給用戶錢包。
5.2.計算賬戶余額
因為錢包底層是多個賬戶,每個賬戶都有總余額,可用余額,可提金額等信息,那么當錢包要查詢賬戶余額信息時,對底層賬戶余額進行加工匯總的任務誰來完成?也就是通過執行以下三個公式:
錢包N總余額=賬戶A余額+賬戶B余額+賬戶C余額
錢包N可用余額=賬戶A可用余額+賬戶B可用余額+賬戶C可用余額
錢包N可提余額=賬戶A可提余額+賬戶B可提余額+賬戶C可提余額
無外乎有3種處理方法,分別是錢包進行處理、賬戶系統進行處理或者一個中間層來處理,下面分別分析每一種實現方式的利弊。
錢包進行處理:這種方法有個問題,耦合嚴重,錢包受底層賬戶的賬戶設置、制度政策的影響較大,如圖16所示,錢包查詢到各賬戶余額然后進行匯總加和得出賬戶各類總余額。
圖16?錢包處理賬戶
余額的計算賬戶系統進行處理:這會讓賬戶系統承載更多的計算任務,不利于資金管理的純粹性,需要過渡承接業務的變化帶來的迭代壓力,如圖17所示,賬戶系統對各賬戶余額進行匯總加和得出總賬戶余額,然后將結果告知錢包。
圖17?賬戶處理賬戶
余額的計算清算系統進行處理:對于清算系統來說,進行大量的計算和處理是其最擅長的職能,交給它去完成,上下游都釋放了壓力,各自去做自己最純粹的事情,如圖18所示,清算系統獲得各賬戶的余額以后進行匯總加和得出總余額,然后提供給錢包。
圖18?清算系統處理賬戶
余額的計算其中,箭頭代表余額數據的查詢,123代表明細數據,N代表處理過的數據,清算系統查詢到123明細數據,輸出給錢包的是匯總數據N,并且包含了明細數據123。為了釋放賬戶的壓力,讓賬戶專心做自己資金管理的職能,將一些處理事務交給清結算系統去做,包括對賬戶余額的加工處理,以及提現余額的分配計算等,如圖19所示,增加一個錢包的統一處理服務層,完成統一錢包的預處理服務。
圖19?錢包統一處理層
5.3.流程與架構
因為錢包側用戶只發起一筆提現請求,但是,最終要扣多個賬戶,出多筆資金,那么,這個從一提到多出的處理由誰來實現,也就是一筆提現變多筆提現。因為是提現業務,所以我們選擇讓提現處理系統來完成對提現的拆分,也就是錢包發起提現時,會請求清算系統對提現金額進行分配計算,然后得到計算結果,并封裝成提現數據提交給提現系統。錢包提交的提現請求數據結構為:提現請求 {提現請求ID,提現金額X};提現明細??{子提現請求1,子提現請求2}。提現系統將提現請求拆分成兩筆提現:提現1,提現2,分別請求清算系統進行提現扣款處理,整個提現處理的業務流程如圖20所示,清算中心分別進行可提金額的計算、提現金額的預計算處理,而提現系統進行提現的拆單處理。
圖20?統一提現處理流程
基于上述的方案,將整個統一錢包的提現業務流繪制成架構圖,看看整個業務所涉及的范圍,以及每個環節要承載的任務,如圖21所示。
圖21?統一錢包提現處理架構圖
通過上圖,就可以看清楚做這件事所涉及到的環節,以及要實現的能力有哪些,誰來做什么,上面的案例可以培養對整個錢包、賬戶、提現業務的認識,同樣,也是一個可以拿來即用的產品方案。推薦閱讀詳解最難的賬務處理:訂單用了各類券詳解賬務系統,從入門到精通88張圖,把支付清結算串起來
本文由人人都是產品經理作者【陳天宇宙】,微信公眾號:【陳天宇宙】,原創/授權 發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash,基于 CC0 協議。
- 目前還沒評論,等你發揮!