一:登錄賬戶和支付賬戶的區(qū)別?
登錄賬號
指用戶在系統(tǒng)中的登錄的憑證和個人信息。
支付賬戶
指用戶在支付系統(tǒng)中用于交易的資金所有者權(quán)益的憑證
它們的關(guān)系
一個用戶可以有多個登錄賬戶,一個登錄賬戶可以有多個支付賬戶,比如零錢賬戶,儲值卡賬戶等。 一般來說,支付賬戶不會在多個登錄賬戶之間共用。
二:設(shè)計(jì)支付賬戶時需要考慮的場景
交易
可能需要檢查賬戶是否被鎖定、余額是否足夠、是否有效等。
交易的實(shí)現(xiàn)必須有賬戶的支持,賬戶是交易的基本構(gòu)成元素。
交易中涉及到的資金流是資金從一個賬戶流向另一個賬戶。
發(fā)起交易的一方,被稱之為交易主體,他可以是個人,也可以是一個機(jī)構(gòu)。 資金從該主體所擁有的賬戶中流出。
接收交易的一方,被稱為交易對手,他也可以是個人,或者機(jī)構(gòu)。
和第三方支付或者金融機(jī)構(gòu)的交易不同,電商系統(tǒng)中,交易還會涉及到渠道。 由于電商系統(tǒng)本身并無清結(jié)算的資質(zhì),所有資金從交易主體到交易對手的賬戶的流動,在大部分情況下,并沒有經(jīng)過電商系統(tǒng),而是由電商系統(tǒng)調(diào)用支付渠道提供的接口,由它來完成真正的支付過程。 當(dāng)然,渠道也不是活雷鋒,在這過程中,渠道要收取費(fèi)用。所以,在電商系統(tǒng)中,一次交易會涉及到三個賬戶: 交易主體賬戶、交易對手賬戶以及支付渠道賬戶。
記賬
按照公司會計(jì)需求記錄賬戶上的所有行為,包括支出、充值、轉(zhuǎn)賬等。
公司的會計(jì)需要對每一筆交易都要做詳細(xì)的記錄,即記賬。 公司每天都產(chǎn)生大量的交易行為,為了便于管理和統(tǒng)計(jì),一個簡單的方法是對交易進(jìn)行分類,比如食品、帶寬、辦公用品等等。 這個分類,按照公司的規(guī)模和業(yè)務(wù)復(fù)雜度,可以有一級,二級,三級或者更多級的結(jié)構(gòu),這被稱之為會計(jì)科目。 記賬時,除了交易明細(xì),還需要在每個級別上對交易額進(jìn)行匯總。 一般來說,一級科目上匯總稱為總帳科目,而詳細(xì)記錄稱為明細(xì)科目。
對賬
包括和支付渠道、商戶、個人的對賬需求,核對交易和賬戶余額是否正確。
風(fēng)控
如反洗錢、反欺詐等,都需要依賴于賬戶體系來提供核心數(shù)據(jù)
信用
對用戶、資產(chǎn)、商戶等主體進(jìn)行信用評估時,也需要依賴賬戶體系來提供的核心數(shù)據(jù)。
三:賬戶建模
1.實(shí)體模型
一般來說,支付相關(guān)的實(shí)體模型需要包括如下的屬性:
用戶ID,一般直接映射到登錄賬戶的ID;。
是否允許執(zhí)行支付;
支付密碼;
用于設(shè)置或者重置支付密碼的手機(jī)號;
用戶設(shè)置或者重置支付密碼的郵箱;
用戶的安全等級,根據(jù)業(yè)務(wù)需要來設(shè)置。
2.賬戶模型
一般可以分為總賬賬戶和業(yè)務(wù)賬戶
總賬賬戶:即用戶的資產(chǎn),以及可用余額
業(yè)務(wù)賬戶: 可以更加具體的業(yè)務(wù)場景,進(jìn)行設(shè)置,如充值賬戶,提現(xiàn)賬戶,理財(cái)賬戶,零錢賬號等
這些賬戶,需要設(shè)置如下屬性: 基本屬性,包括:
賬戶號,或稱為賬戶ID,一般是系統(tǒng)自動生成。特別注意的是,要事先約定好賬戶ID的規(guī)則。比如頭三位用來表示賬戶類型,后幾位用來表示賬戶編號等。務(wù)必保證根據(jù)賬號號能夠快速確定賬戶類型,并且保證賬戶號是不重復(fù)的。
賬戶名稱,一般是由用戶自己設(shè)置的,顯示用。
賬戶使用的貨幣類型,注意雖然一張銀行卡可以支持多個幣種,實(shí)際在內(nèi)部,還是針對每個幣種建立獨(dú)立的子賬戶。 涉及到多幣種的賬戶,也可以采用類似的建模方案。
會計(jì)科目代碼,一般是一級會計(jì)科目的代碼。
賬戶控制相關(guān):
是否允許充值;
是否允許提現(xiàn);
是否允許透支;
是否允許支付;
是否允許轉(zhuǎn)賬進(jìn)入;
是否允許轉(zhuǎn)賬轉(zhuǎn)出;
是否有安全保障;
是否激活;
是否凍結(jié);
資金相關(guān):
當(dāng)前賬戶余額:等于可用余額+凍結(jié)余額;
當(dāng)前賬戶可用余額;
當(dāng)前賬戶凍結(jié)的余額。凍結(jié)余額指在賬戶上暫不能使用的額度。在支付的時候,往往是先凍結(jié),商品出庫后, 再實(shí)際執(zhí)行扣款。
銀行卡、第三方支付信息:
第三方實(shí)體的ID;
第三方賬號,如銀行卡號或者在第三方支付的open_id等;
第三方的app_id;
賬號的失效日期,該賬號什么時候失效。
3.交易模型
交易記錄,交易流水,賬戶流水,交易臺賬,這三個容易混淆的概念,從數(shù)據(jù)上來說,卻并不復(fù)雜,它們的核心是交易流水,賬戶流水是從賬戶視角的交易流水。那對一筆交易,涉及到的方方面面內(nèi)容很多,有哪些需要記錄的呢?考慮到交易記錄將被用于風(fēng)控和信用分析,能收集到的信息是越全面越好。
流水號:每一筆交易的流水號都不一樣。需要根據(jù)業(yè)務(wù)情況詳細(xì)設(shè)計(jì)流水號。這個號往往也是對交易表做分表分庫的依據(jù)。
交易記錄創(chuàng)建時間;
交易記錄最后修改時間;
會計(jì)科目代碼
關(guān)聯(lián)的訂單號,由商戶提供;
訂單名稱、描述、關(guān)聯(lián)的地址等信息;
費(fèi)用信息,包括: 結(jié)算貨幣類型、原始費(fèi)用、實(shí)際費(fèi)用等;
交易主體信息,記錄主體ID、類型、名字、賬號、賬號類型、使用的IP地址、手機(jī)號、平臺、通知郵箱、當(dāng)前位置等。 這些信息雖然可以從主體表中獲取,但考慮主體表信息隨時會被修改,所以這里需要記錄詳細(xì)的各原始信息。
交易對手信息,記錄對手主體的ID,類型,名字,賬號,賬號類型,手機(jī)號,平臺,通知郵箱等。
交易渠道信息,記錄所使用的交易渠道的實(shí)體id,渠道賬戶,渠道執(zhí)行支付的時間、渠道側(cè)返回的訂單號等。如果有錯誤發(fā)生,還需要記錄從渠道接收到的錯誤信息和錯誤碼。
最終的賬戶的結(jié)構(gòu)如下圖所示,包括基本信息、關(guān)聯(lián)實(shí)體、權(quán)限控制、余額和賬務(wù)相關(guān)信息
