支付系統設計 支付系統的賬戶模型(一)

2021-08-28 07:41:30 字數 2616 閱讀 4390

賬戶體系是支付系統的基礎,它的設計直接影響整個系統的特性。這裡**如何針對電子商務系統的支付賬戶體系設計。我們從一些基本概念開始入手,了解怎麼建模。

賬戶體系設計首先要區分兩個概念,支付賬戶和登入賬號。 這是兩個不同業務領域的概念:支付賬戶指使用者在支付系統中用於交易的資金所有者權益的憑證;登入賬號指使用者在系統中的登入的憑證和個人資訊。 乙個使用者可以有多個登入賬戶,乙個登入賬戶可以有多個支付賬戶,比如零錢賬戶,儲值卡賬戶等。 一般來說,支付賬戶不會在多個登入賬戶之間共用。如果沒有特殊說明,下文中的賬戶,都預設指支付賬戶。

在支付系統中,賬戶的設定,主要是從如下幾個方面來考慮:

交易的需求,比如檢查賬戶是否被鎖定、餘額是否足夠、是否有效等。

記賬的需求,按照公司會計需求記錄賬戶上的所有行為,包括支出、充值、轉賬等。

對賬的需求,包括和支付渠道、商戶、個人的對賬需求,核對交易和賬戶餘額是否正確。

信用的需求,對使用者、資產、商戶等主體進行信用評估時,也需要依賴賬戶體系來提供的核心資料。本文也暫不分析這內容,將在《信用與支付》一文中分析。

這五個需求,按照其設計的優先順序,也是從支付、記賬、對賬、風控來進行。 支付系統根據其發展所處的階段,逐步將新增需求納入設計中。

賬戶設定,一般是從交易開始的。 交易的實現必須有賬戶的支援,賬戶是交易的基本構成元素。 從支付系統的角度,交易中涉及到的資金流是資金從乙個賬戶流向另乙個賬戶。 發起交易的一方,被稱之為交易主體,他可以是個人,也可以是乙個機構。

資金從該主體所擁有的賬戶中流出。 而接收交易的一方,被稱為交易對手,他也可以是個人,或者機構。 和第三方支付或者金融機構的交易不同,電商系統中,交易還會涉及到渠道。

由於電商系統本身並無清結算的資質,所有資金從交易主體到交易對手的賬戶的流動,在大部分情況下,並沒有經過電商系統,而是由電商系統呼叫支付渠道提供的介面,由它來完成真正的支付過程。 當然,渠道也不是活雷鋒,在這過程中,渠道要收取費用。

所以,在電商系統中,一次交易會涉及到三個賬戶: 交易主體賬戶、交易對手賬戶以及支付渠道賬戶。 如何在這三個賬戶中完成一次交易,我們將在後續的《交易和記賬》一文中詳細分析。

公司的會計需要對每一筆交易都要做詳細的記錄,即記賬。 公司每天都產生大量的交易行為,為了便於管理和統計,乙個簡單的方法是對交易進行分類,比如食品、頻寬、辦公用品等等。 這個分類,按照公司的規模和業務複雜度,可以有一級,二級,**或者更多級的結構,這被稱之為會計科目。 記賬時,除了交易明細,還需要在每個級別上對交易額進行彙總。

一般來說,一級科目上彙總稱為總帳科目,而詳細記錄稱為明細科目。 在電商系統中,由於涉及到的參與方較多,記賬也相對複雜,但基本方法也是類似的。 電商的參與者可以分為商戶、買家和渠道,對這三類參與者,都需要分別建立總帳賬戶和明細賬戶。

當使用者使用銀行卡來支付時,電商支付系統需要和銀行對接,從使用者銀行卡所代表的賬戶上扣除資金。對接了銀行,第三方支付等機構的電商支付系統,它需要連線到使用者在這些機構的賬戶來執行扣款或者充值操作,這些賬戶或稱為外部賬戶。對外部賬戶,支付系統只能記錄賬戶在本系統的明細以及累計消費額,無法得知賬戶真正餘額。 不少電商在玩零錢的概念,也就是讓使用者充值到零錢,使用的時候就直接從零錢中扣除。這就需要零錢賬號。這是電商系統中自己設立的賬號,所以也叫內部賬號,可以知道賬號的全部消費明細和餘額。 當然,除了零錢賬號,也可以有儲值卡賬號,信用賬號等。

那問題來了,什麼時候需要建立賬戶,比如優惠券,需要賬戶嗎? 一次消費的儲值卡和可以充值的儲值卡,需要建立賬戶嗎?這裡先埋個雷,後續介紹支付和記賬時,給出答案。

當電商要對接銀行時,往往都會被要求開設乙個收款賬戶。使用者通過這個銀行來支付時,錢就被轉到這個賬戶上。 對第三方支付也是一樣。收款賬戶是開設在銀行或者第三方支付這邊的, 即渠道側。 一般來說,渠道每天都可以提供這個賬戶的交易流水供電商對賬用。 這樣在電商這邊,渠道就成為乙個收單機構。 所以在電商這邊,建立這個收款賬戶對應的對賬用的收單賬號,用來記錄通過這個渠道進行的各項交易流水。

說了這麼多,目的是為了對賬戶建模。 賬戶模型是和公司業務密切相關的,公司不同規模,發展的不同階段需要不同的模型。 賬戶建模本身包括三大核心模型:實體模型、賬戶模型和交易模型。 從交易模型中可以衍生出針對各個角色的賬戶流水,即明細模型,用於支援對賬。

根據業務需要,可以設定多種賬戶,如支付賬戶、預付卡賬戶、代扣賬戶、零錢賬戶、結算賬戶等。 從類別上來說,這裡的賬戶,一般指總賬賬戶。一般來說電商系統中涉及的賬戶型別有:

對這些賬戶,需要設定如下屬性: 基本屬性,包括:

賬戶控制相關:

資金相關:

銀行卡、第三方支付資訊:

注意,有些第三方資訊是不能儲存的,如使用者的賬號密碼、信用卡的cv號等。 為了避免賬戶資訊被爬庫或者資料庫資訊意外洩露,一般還需要對敏感字段,如密碼等,進行加密儲存,甚至儲存到另外的表中。 更進一步,為了避免賬戶資訊被意外修改,還可以增加乙個校驗字段,在寫入資料時設定該欄位,在讀取資料時做校驗,一旦發現資料有問題,則關閉該賬號。

交易記錄,交易流水,賬戶流水,交易台賬,這三個容易混淆的概念,從資料上來說,卻並不複雜,它們的核心是交易流水,賬戶流水是從賬戶視角的交易流水。那對一筆交易,涉及到的方方面面內容很多,有哪些需要記錄的呢?考慮到交易記錄將被用於風控和信用分析,能收集到的資訊是越全面越好。

《支付系統設計那些事兒》 初識賬戶

本文主要概覽 賬戶體系設計首先要區分兩個概念,支付賬戶和登入賬號,這是兩個不同業務領域的概念。支付賬戶 登入賬號 交易記錄,交易流水,賬戶流水,交易台賬,這三個容易混淆的概念,從資料上來說,卻並不複雜,它們的核心是交易流水。賬戶流水是從賬戶視角的交易流水 交易記錄將被用於風控和信用分析,能收集到的資...

支付系統對賬設計

對賬系統作為支付系統中的基石系統,處於整個支付環節中的最後一層,主要用來保證我方支付資料與第三方支付渠道或銀行的資料一致性。在沒有對賬系統之前,財務在第二日手工核對前一日的應收與實收。倘若不一致,這就需要一一核對資料,找出不一致的資料。對賬系統出現之後,就可減少以這種繁瑣手工操作,財務只需要每天關注...

聚合支付系統設計(三)

背景退款業務,相對於支付業務,部分需求方 包括產品 市場的同事 認為退款業務不是那麼緊急或重要。從業務角度分析,沒有支付業務,使用者無法支付或支付優惠活動無法開展,但沒有退款功能,則不影響使用者下單支付和開展優惠活動。使用者申請退款,財務可登入第三方支付平台提供的商戶管理系統進行人工退款操作。因此,...