產(chǎn)品如何設(shè)計(jì)交易系統(tǒng)——結(jié)算篇(0-1)
交易系統(tǒng)是電商行業(yè)非常重要的部分,那么,如何做一個(gè)交易結(jié)算系統(tǒng)呢?本篇文章將系統(tǒng)地介紹設(shè)計(jì)結(jié)算系統(tǒng)的方法及思路,能給產(chǎn)品設(shè)計(jì)的伙伴們提供一些設(shè)計(jì)思考和建議。
一、交易結(jié)算系統(tǒng)定義說明
本文主要探討的是電商行業(yè)交易結(jié)算系統(tǒng)的設(shè)計(jì)思路,希望借此內(nèi)容同大家進(jìn)行交流。
開始進(jìn)入正題前我們必須要了解【交易】的幾類定義。
- 交易:指雙方以貨幣及服務(wù)為媒介的價(jià)值交換。
- 電子交易:指應(yīng)用信息技術(shù)來傳遞商務(wù)信息和交易。
- 電商交易:指雙方應(yīng)用線上平臺(tái)或工具進(jìn)行的等價(jià)值交換(作者理解)。
說完幾類交易的定義我們回到本文的主角電商交易,廣義的電商交易包含了正向和逆向兩條核心的鏈路流程:
- 正向以訂單單據(jù)為主,驅(qū)動(dòng)正向交易的全生命流程(創(chuàng)建-支付-發(fā)貨-收貨-評(píng)價(jià)-財(cái)務(wù)…)。
- 逆向以售后單為主,驅(qū)動(dòng)逆向交易的全生命流程(創(chuàng)建-審核-退貨-收貨-退款-財(cái)務(wù)…)。
廣義電商交易所涉及的領(lǐng)域?qū)挾确浅V畯V,幾乎涵蓋了電商業(yè)務(wù)的所有核心系統(tǒng)。
但本次我們要涉及的是狹義的電商交易(指購物車和結(jié)算),本文主要介紹電商交易-結(jié)算(下面統(tǒng)稱“交易結(jié)算”)。
二、交易結(jié)算系統(tǒng)職責(zé)
借用一句廣告語“我們(交易結(jié)算系統(tǒng))不生產(chǎn)數(shù)據(jù),只是數(shù)據(jù)的搬運(yùn)工”。
為什么這樣說?
我們可以從兩個(gè)層面來闡述下交易結(jié)算的系統(tǒng)職責(zé):
- 業(yè)務(wù)層面。交易結(jié)算主要職責(zé)將確定的商品、買賣方和金額等信息以匹配的業(yè)務(wù)結(jié)算流程進(jìn)行校驗(yàn)、處理、整合,以確保交易的有效性和準(zhǔn)確性,以促進(jìn)交易高效、快速、安全的完成。交易環(huán)節(jié)中核心業(yè)務(wù)對(duì)象(人、貨、場(chǎng))都非交易結(jié)算產(chǎn)物,交易結(jié)算僅對(duì)它們進(jìn)行了辨識(shí)和整合。
- 系統(tǒng)層面。交易結(jié)算主要職責(zé)為有序的串聯(lián)本次交易所涉及的所有關(guān)聯(lián)系統(tǒng)及服務(wù),將參與交易的系統(tǒng)領(lǐng)域(商戶、會(huì)員、商品、庫存、營促銷、支付等),進(jìn)行有序的處理、校驗(yàn)和整合,以確保本次交易時(shí)刻的數(shù)據(jù)在所有系統(tǒng)域內(nèi)是準(zhǔn)確且有效的。
在此過程中交易結(jié)算扮演著將上游產(chǎn)生的數(shù)據(jù)搬運(yùn)和傳遞至下游,并對(duì)數(shù)據(jù)進(jìn)行校驗(yàn)、整合處理,過程中并未生產(chǎn)出新的數(shù)據(jù)。
三、常見的交易結(jié)算
移動(dòng)端結(jié)算頁:
PC端結(jié)算頁:
從以上主流平臺(tái)的交易結(jié)算頁我們可以觀察的,結(jié)算頁核心的信息主要包含了【商品信息】、【配送信息】、【金額信息】(可查看下圖)。
這些信息的呈現(xiàn)并非孤立的展示,背后有一套嚴(yán)謹(jǐn)?shù)牧鞒毯托r?yàn)在支持著,這便是本文所述的【交易結(jié)算系統(tǒng)】。
有了對(duì)電商交易結(jié)算和結(jié)算系統(tǒng)的基本認(rèn)知,下文我們將剖析的說明如何建設(shè)我們的交易結(jié)算系統(tǒng)。
四、交易結(jié)算系統(tǒng)的設(shè)計(jì)方法
從這里開始,我們將一步一步的探討建設(shè)交易結(jié)算系統(tǒng)的方法。
目前市面上的交易結(jié)算五花八門,有傳統(tǒng)的標(biāo)品交易、本地服務(wù)交易、知識(shí)付費(fèi)交易、跨境電商交易等等,不同的交易在本質(zhì)上無明顯差異但在實(shí)現(xiàn)和設(shè)計(jì)中是會(huì)存在業(yè)務(wù)性質(zhì)差異的。
這里我們主要以標(biāo)準(zhǔn)商品為交易對(duì)象進(jìn)行模擬交易結(jié)算系統(tǒng)的建設(shè)。
1. 識(shí)別結(jié)算業(yè)務(wù)形態(tài)及場(chǎng)景
首先識(shí)別我們需要建設(shè)的交易結(jié)算服務(wù)的業(yè)務(wù)形態(tài),主要從以人貨場(chǎng)三個(gè)核心要素進(jìn)行有效識(shí)別:
- 交易對(duì)象:賣家(個(gè)人/企業(yè))、買家(個(gè)人/政企)。
- 交易商品:實(shí)物商品 / 虛擬商品 / 境外商品 / 服務(wù)商品…
- 交易場(chǎng):線上交易 / 線下交易。
通過對(duì)核心要素(人貨場(chǎng))的識(shí)別后,假設(shè)我們識(shí)別的三核心要素為:Toc交易(交易對(duì)象為個(gè)人)、實(shí)物商品和線上交易(APP)。
我們會(huì)對(duì)交易業(yè)務(wù)形態(tài)有個(gè)一個(gè)初步的認(rèn)知:商戶將通過線上交易(App)將實(shí)物商品賣給個(gè)人用戶。
在對(duì)交易形態(tài)有初步認(rèn)知后,需要思考通過哪些業(yè)務(wù)場(chǎng)景可以進(jìn)入到結(jié)算頁,以滿足用戶需要結(jié)算的訴求。
理論上任何明確了核心三要素(人貨場(chǎng))的頁面都可以進(jìn)入到結(jié)算頁,我們一般看到可以進(jìn)入結(jié)算頁主要入口包含但不限:購物車頁面、商品詳情頁、商品活動(dòng)頁、訂單詳列表頁、訂單詳情頁、商品評(píng)價(jià)頁。
進(jìn)入結(jié)算頁后同樣需要思考和整理結(jié)算頁我們需要支持哪些業(yè)務(wù)的操作場(chǎng)景。
如下圖:
2. 抽象結(jié)算所需服務(wù)能力
基于我們對(duì)交易形態(tài)的初步認(rèn)知和對(duì)結(jié)算場(chǎng)景的識(shí)別,我們需要思考交易結(jié)算的核心要素人、貨、場(chǎng)需要在本次結(jié)算中滿足哪些必須的條件,才能確保交易結(jié)算頁所展示數(shù)據(jù)的正確性和有效性。即本次結(jié)算的對(duì)買賣雙方都是公平且有效的。
如何確保交易結(jié)算頁數(shù)據(jù)的有效性和正確性:
- 我們需要針對(duì)我們交易的核心要素(人、貨、場(chǎng))進(jìn)行疑問式思考(如下表/交易結(jié)算核心考慮問題)。
- 接著對(duì)我們提出的服務(wù)進(jìn)行抽象分類(如下表/抽象服務(wù)域)。
- 再對(duì)我們的抽象服務(wù)所需要提供的服務(wù)進(jìn)行拆分和抽象(如下表/服務(wù)能力抽象)。
- 最后必須確保我們所抽象出的服務(wù)能力有對(duì)應(yīng)的承接方給出明確解決方案和結(jié)果。
3. 劃分結(jié)算服務(wù)至對(duì)應(yīng)系統(tǒng)
通過對(duì)交易結(jié)算服務(wù)域和服務(wù)能力的抽象,接下來我們將踐行“我們不生產(chǎn)數(shù)據(jù),只是數(shù)據(jù)的搬運(yùn)工”口號(hào)。
交易結(jié)算在整個(gè)處理過程中并非自己閉環(huán)處理掉了所有服務(wù),而是通過借用和串聯(lián)各基礎(chǔ)服務(wù)系統(tǒng)提供的數(shù)據(jù)和能力來解決結(jié)算所必須依賴的條件。
在整個(gè)結(jié)算系統(tǒng)執(zhí)行過程中本質(zhì)上并沒有自己生產(chǎn)出數(shù)據(jù),所需的數(shù)據(jù)都來源于基礎(chǔ)的服務(wù)系統(tǒng),那我們?nèi)绾螠?zhǔn)確的知道應(yīng)該向誰來借用數(shù)據(jù)和服務(wù)呢?
那就需要我們對(duì)企業(yè)內(nèi)部系統(tǒng)及分工有較好的了解(交易的產(chǎn)品不僅需要本領(lǐng)域的深度,更需要有多領(lǐng)域的寬度),以便我們能夠?qū)⑽覀冃枰栌玫臄?shù)據(jù)和服務(wù)劃分到對(duì)應(yīng)的系統(tǒng)。
如下表示例所示:
4. 梳理結(jié)算上下游依賴順序
結(jié)算系統(tǒng)需要串聯(lián)多個(gè)系統(tǒng)領(lǐng)域才能確保結(jié)算業(yè)務(wù)的完成,這個(gè)串聯(lián)過程并非無序和隨性,我們需要考慮如何串聯(lián)才能達(dá)到理想的效果,以確保結(jié)算業(yè)務(wù)有序、準(zhǔn)確、高效的執(zhí)行。
這就需要我們考慮結(jié)算業(yè)務(wù)中所涉及所有服務(wù)的執(zhí)行必要性、優(yōu)先級(jí)和依賴關(guān)系。
例如我們將【商品營促銷信息服務(wù)】先于【商品信息服務(wù)】,這顯然是不合理,商品的有效性都沒確定的情況下直接去確定營促銷活動(dòng)這是沒法確?;顒?dòng)的可用性的。
因此我們需要明確結(jié)算業(yè)務(wù)的依賴關(guān)系和順序,以確保我們可以判斷哪些系統(tǒng)服務(wù)是必要的,哪些系統(tǒng)服務(wù)是高優(yōu)先級(jí)的,對(duì)其進(jìn)行劃分和簡單排序。
如下圖:
5. 梳理結(jié)算系統(tǒng)交互時(shí)序圖
結(jié)算所依賴的系統(tǒng)服務(wù)必要性和優(yōu)先級(jí)初步確認(rèn)完成,到這步還不夠,因?yàn)檫€是不能清晰的表達(dá)具體交互順序和交互的核心內(nèi)容到底是什么?
這就需要我們進(jìn)一步梳理結(jié)算系統(tǒng)的工作流程圖,這里可以用于梳理的工具和流程類型很多,我個(gè)人一般喜歡用時(shí)序圖來表達(dá)。在梳理流程的過程中有幾個(gè)點(diǎn)我們必須明確:
- 明確參與交互的系統(tǒng)(通過“識(shí)別結(jié)算業(yè)務(wù)形態(tài)及場(chǎng)景”&“抽象結(jié)算所需服務(wù)能力”&“劃分結(jié)算服務(wù)至對(duì)應(yīng)系統(tǒng)”已明確)。
- 明確參與交互系統(tǒng)的工作職責(zé)(通過“劃分結(jié)算服務(wù)至對(duì)應(yīng)系統(tǒng)”已明確)。
- 明確參與交互系統(tǒng)所承擔(dān)職責(zé)是否必要條件,以確定異常時(shí)是否終止結(jié)算(通過“梳理結(jié)算上下游依賴順序”已明確)。
后續(xù)我們需要做的就是結(jié)合實(shí)際的結(jié)算業(yè)務(wù)形態(tài)進(jìn)行系統(tǒng)的的串聯(lián),串聯(lián)過程中我們需要根據(jù)依賴優(yōu)先級(jí)確保串聯(lián)的流程盡量的簡單、高效,以盡量少的交互,確保結(jié)算高效、準(zhǔn)確的完成工作。
通常情況我們會(huì)以【商家】>【用戶】>【商品】>【庫存】>【營促銷】>【履約】>【計(jì)價(jià)】>【訂單】這樣的順序來串聯(lián)(可根據(jù)結(jié)算業(yè)務(wù)的特性調(diào)整順序)。并明確每一步交互的內(nèi)容,以及對(duì)內(nèi)容的反饋和基本處理。
如下圖,這里僅是示例各行各業(yè)需要根據(jù)自身結(jié)算業(yè)務(wù)來處理:
6. 確定結(jié)算數(shù)據(jù)承載模型
結(jié)算系統(tǒng)在一次交易過程中,承接了不同系統(tǒng)給到的交易數(shù)據(jù),這些交易數(shù)據(jù)既要作為上下游串聯(lián)的參數(shù),又需要作為交易的結(jié)果數(shù)據(jù)提供給前端進(jìn)行處理和展示。所以對(duì)于結(jié)算數(shù)據(jù),結(jié)算系統(tǒng)用什么樣的模型去承載就至關(guān)重要。
由于結(jié)算系統(tǒng)幾乎是不會(huì)使用到DB存儲(chǔ)數(shù)據(jù)(考慮實(shí)時(shí)性和安全性),但數(shù)據(jù)需要提供給業(yè)務(wù)展示及訂單系統(tǒng)落庫。因此需要結(jié)合業(yè)務(wù)層展示的要求和訂單系統(tǒng)落庫數(shù)據(jù)的要求去設(shè)計(jì)結(jié)算系統(tǒng)的模型。
- 業(yè)務(wù)層:一般會(huì)分【結(jié)算維度】數(shù)據(jù)和【商品維度】數(shù)據(jù)展示給到用戶,以便用戶能夠快速、清晰的確認(rèn)自己購買的商品(商品維度)、單價(jià)價(jià)格(商品維度)、活動(dòng)(商品維度)、數(shù)量(商品維度)、配送信息(結(jié)算維度)、金額信息(結(jié)算維度(銷售總金額、優(yōu)惠總金額、應(yīng)付總金額、實(shí)付總金額……)),以促使快速、安全的完成交易。
- 訂單系統(tǒng):為了后續(xù)訂單數(shù)據(jù)使用及管理的規(guī)范性,一般會(huì)要求落單的數(shù)據(jù)區(qū)分為【訂單維度】、【商品維度】、【活動(dòng)信息】、【買家信息】、【賣家信息】…
通過以上兩者的訴求,可將結(jié)算系統(tǒng)的數(shù)據(jù)模型一般抽象為三個(gè)層級(jí)【結(jié)算維度】、【訂單維度】和【商品維度】每個(gè)維度可根據(jù)實(shí)際的業(yè)務(wù)形態(tài)承載不同的信息。
可參下圖:
五、結(jié)算系統(tǒng)產(chǎn)品架構(gòu)
交易結(jié)算上承業(yè)務(wù),下串系統(tǒng),通過對(duì)結(jié)算業(yè)務(wù)的識(shí)別、抽象,可將結(jié)算系統(tǒng)按照業(yè)務(wù)的需求及未來業(yè)務(wù)的發(fā)展需要進(jìn)行抽象、規(guī)整對(duì)應(yīng)的功能域(例如:商品域、CRM域、商品域、庫存域、促銷域…)。
每個(gè)功能域內(nèi)可再進(jìn)行能力的細(xì)分,確保每個(gè)能力的獨(dú)立性和可復(fù)用性,以便于支持業(yè)務(wù)的快速迭代和創(chuàng)新。
當(dāng)結(jié)算域所需能力規(guī)劃和整理清楚后,結(jié)算另一個(gè)重要的職責(zé)則是根據(jù)實(shí)際的業(yè)務(wù)需要選擇對(duì)應(yīng)的能力域及域內(nèi)能力進(jìn)行合理、高效的有序編排和串聯(lián),為業(yè)務(wù)提供所需的結(jié)算流程服務(wù)。
結(jié)算這種基于業(yè)務(wù)訴求進(jìn)行編排和串聯(lián)的能力,就完全依賴我們對(duì)結(jié)算能力域的劃分及能力域細(xì)分能力的抽象。
這里并不需要我們一次完成所有的能力域和細(xì)分能力的建設(shè),但需要考慮每一個(gè)能力域的定位、職責(zé),以及細(xì)分能力提供的服務(wù)的完整性和可拓展性。
結(jié)算編排的流程承接相應(yīng)的結(jié)算業(yè)務(wù),結(jié)算提供的流程應(yīng)用結(jié)算域及能力進(jìn)行編排串聯(lián),因?yàn)榻Y(jié)算并不生產(chǎn)數(shù)據(jù),結(jié)算能力域所提供的各種能力服務(wù)需要依賴下游系統(tǒng)提供服務(wù)。
所以結(jié)算系統(tǒng)在整個(gè)交易過程中承擔(dān)著是“串聯(lián)”和“編排”的責(zé)任。
綜上內(nèi)容我們可以大致的勾畫出我們的交易結(jié)算產(chǎn)品模型(如下圖),以便于大家理解和記憶:
六、說在最后
本人對(duì)交易結(jié)算系統(tǒng)的產(chǎn)品設(shè)計(jì)思路和方法基本介紹完了,文章僅對(duì)結(jié)算系統(tǒng)的核心內(nèi)容做了簡略的概括說明,并沒有將結(jié)算系統(tǒng)中所有處理細(xì)節(jié)和邏輯進(jìn)行闡述。因?yàn)椴煌臉I(yè)態(tài)、企業(yè)對(duì)結(jié)算都有自己認(rèn)知和理解,細(xì)節(jié)的掌控需要結(jié)合實(shí)際業(yè)務(wù)。
現(xiàn)在的結(jié)算業(yè)務(wù)玩法千千萬,但都基本脫離不開本文中所提到的核心要點(diǎn),希望此文能對(duì)各位同仁有借鑒意義,謝謝。
最后說句廢話:產(chǎn)品沒有標(biāo)準(zhǔn)答案,用戶喜歡的才是最好的。
本文由 @淡淡優(yōu)雅 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來自Unsplash,基于CC0協(xié)議。
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
歡迎大家一起探討
兩年能把交易系統(tǒng)寫這么輕易深入不錯(cuò)
這個(gè)更像是計(jì)價(jià)支付,結(jié)算是只訂單完成后的資金劃撥結(jié)算,即從平臺(tái)擔(dān)保戶結(jié)算給商戶、騎手、平臺(tái)收入等對(duì)象,從資金流上看,是流出。