產(chǎn)品設(shè)計(jì):BBC商城中的交易系統(tǒng)

6 評(píng)論 20450 瀏覽 268 收藏 18 分鐘

在電商平臺(tái)中交易系統(tǒng)是最核心、最復(fù)雜的系統(tǒng)之一,涉及商品、訂單、支付、營(yíng)銷、庫(kù)存等不同領(lǐng)域的業(yè)務(wù)邏輯,本文對(duì)自己在負(fù)責(zé)中臺(tái)的交易中心的過(guò)程中對(duì)業(yè)務(wù)思考的一些記錄。

交易的本質(zhì)是一個(gè)信息流、物流和資金流的轉(zhuǎn)換過(guò)程,商家通過(guò)平臺(tái)展示商品信息,用戶獲取商品信息后做出購(gòu)買決策,用戶付錢交換商家提供的商品和服務(wù),商家通過(guò)物流或快遞把貨權(quán)轉(zhuǎn)移給用戶,如果用戶對(duì)商家交付的商品或服務(wù)不滿意可以根據(jù)平臺(tái)運(yùn)營(yíng)規(guī)則進(jìn)行退換貨處理。

具體業(yè)務(wù)過(guò)程如下圖:

而我們的交易系統(tǒng)就是要把整個(gè)交易過(guò)程中涉及的業(yè)務(wù)完整的記錄下來(lái),以備買賣雙方隨時(shí)進(jìn)行跟蹤、查看。

為了讓我們記錄的信息成結(jié)構(gòu)性,我們把承載不同階段的業(yè)務(wù)信息的對(duì)象劃分成如下幾類:

  • 訂單——記錄交易雙方的主體信息、交易品信息、交易的關(guān)鍵節(jié)點(diǎn)信息以及訂單本身特有的信息;
  • 發(fā)貨單——記錄賣家對(duì)訂單履約過(guò)程的信息;
  • 退款單——記錄退換貨信息處理過(guò)程的完整的信息;
  • 資金流水——記錄用戶付款、商家收款、商家退款、用戶收款以及與訂單的關(guān)系的信息。

整體業(yè)務(wù)流程圖如下:

下面以以上三個(gè)單據(jù)為核心,對(duì)相關(guān)業(yè)務(wù)進(jìn)行分解。

一、訂單業(yè)務(wù)分析

首先,我們看下訂單的基本信息結(jié)構(gòu),如下圖:

在訂單的基本信息中我們會(huì)包涵訂單號(hào)、訂單創(chuàng)建時(shí)間、訂單狀態(tài)等關(guān)鍵信息。

其中訂單一般會(huì)有主子訂單號(hào)之分,這是訂單拆單業(yè)務(wù)的產(chǎn)物(拆單在訂單中是一個(gè)關(guān)鍵業(yè)務(wù),后面單獨(dú)進(jìn)行說(shuō)明);

訂單狀態(tài)一般用于表達(dá)訂單的整個(gè)生命周期,一般如下圖:

其中待審核狀態(tài)在有些業(yè)務(wù)中存在,有些業(yè)務(wù)又不存在,我們?cè)谧鲋信_(tái)時(shí)該狀態(tài)是一個(gè)可選擇的節(jié)點(diǎn)。

買家和賣家信息一般記錄其相關(guān)的ID、名稱或等級(jí)等信息,賣家還需要記錄其店鋪的信息。

開票信息指的是用戶在下單是選擇的開票類型以及提交的開票資料,普票和增值稅、個(gè)人和企業(yè)其所需的開票資料不同。

支付信息只記錄支付時(shí)間以及支付流水號(hào),該流水號(hào)是能夠貫穿交易、支付以及第三方的一個(gè)表示。

訂單結(jié)算信息一般的結(jié)構(gòu)如下圖:

每一項(xiàng)優(yōu)惠或者折扣都需要分開記錄,而優(yōu)惠、折扣和抵扣都是由對(duì)應(yīng)的業(yè)務(wù)系統(tǒng)進(jìn)行業(yè)務(wù)處理后的返回值。

收貨人則指的是收貨人的名稱、手機(jī)號(hào)以及地址信息。物流信息明細(xì)一般都是通過(guò)第三方接口獲取,再記錄到系統(tǒng)中。

最后還有一部分則是交易品明細(xì),需要注意,訂單中記錄的交易品明細(xì)一定是下單那一刻確認(rèn)的交易品信息,包括交易品的基本信息、價(jià)格信息、數(shù)量等。

這就要求我們?cè)谙到y(tǒng)中需要有交易品版本的管理,能夠準(zhǔn)確的記錄在某一個(gè)時(shí)間段內(nèi),任何一個(gè)交易品的準(zhǔn)確信息。

訂單中的交易品明細(xì)一般的信息結(jié)構(gòu)如下:


在整個(gè)信息結(jié)構(gòu)中最難的時(shí)如何獲取優(yōu)惠、折扣和抵扣,而在一般的系統(tǒng)設(shè)計(jì)的邏輯步驟如下(以優(yōu)惠券優(yōu)惠為例):

  1. 在提交訂單時(shí),需要把訂單中的商品及商品相關(guān)的信息和用戶選擇的優(yōu)惠券信息提交給營(yíng)銷系統(tǒng);
  2. 營(yíng)銷系統(tǒng)校驗(yàn)優(yōu)惠券的合法性并校驗(yàn)?zāi)軌蚴褂蒙唐?/li>
  3. 根據(jù)可使用的商品按“(商品金額/Σ能使用的商品金額)*優(yōu)惠券優(yōu)惠金額”進(jìn)行分?jǐn)?/li>
  4. 若有除不盡的情況,則使用最后一個(gè)商品補(bǔ)全的方法進(jìn)行處理
  5. 系統(tǒng)需要校驗(yàn)訂單商品的優(yōu)惠金額不能超過(guò)商品的售價(jià)
  6. 返回分?jǐn)偨Y(jié)果給訂單
  7. 訂單根據(jù)商品分?jǐn)倲?shù)據(jù),合計(jì)到訂單維度的金額

在這個(gè)分?jǐn)偟臉I(yè)務(wù)過(guò)程中,需要注意的有兩步:第3步和第5步。

第3步,一般各個(gè)結(jié)算位對(duì)應(yīng)的分?jǐn)偑?dú)立進(jìn)行計(jì)算,以商品售價(jià)位基準(zhǔn)進(jìn)行分?jǐn)?,?dú)立計(jì)算的好處是各個(gè)結(jié)算位互不影響,優(yōu)惠金額是可預(yù)估的;

第5步主要是考慮多種優(yōu)惠疊加使用,可能會(huì)導(dǎo)致訂單商品優(yōu)惠超額的問(wèn)題;

例如:平臺(tái)優(yōu)惠券規(guī)則:滿1000減900,店鋪優(yōu)惠券規(guī)則:滿1000減700,此時(shí)疊加使用就會(huì)出現(xiàn)超額問(wèn)題,在一般規(guī)模不大的電商平臺(tái)中直接限制優(yōu)惠不能疊加使用規(guī)避這種問(wèn)題,但我們?cè)谠O(shè)計(jì)中臺(tái)時(shí),是需要充分考慮各種業(yè)務(wù)方的需求。

最后,在訂單這部分的業(yè)務(wù)中還有一個(gè)十分重要的業(yè)務(wù)邏輯需要進(jìn)行說(shuō)明,那就是訂單拆單。

拆單主要為了滿足在財(cái)務(wù)結(jié)算以及物流發(fā)貨上的相關(guān)需求,也能夠讓每個(gè)商家更好的完成履約。在電商的交易、物流流程中有可能需要拆單的環(huán)節(jié)有:購(gòu)物車、訂單提交、發(fā)貨/配送、發(fā)包裹。

前兩個(gè)環(huán)節(jié)屬于交易業(yè)務(wù)內(nèi),后兩個(gè)環(huán)節(jié)屬于物流配送環(huán)節(jié),在此我們僅對(duì)前兩個(gè)環(huán)節(jié)的拆單進(jìn)行說(shuō)明。

在交易環(huán)節(jié)拆單主要有這幾個(gè)常見(jiàn)的因素:交易模式(海外購(gòu))、品類(藥物、生鮮或一些特殊品類)、店鋪。交易模式拆單是因?yàn)槠湓谟唵未_認(rèn)時(shí)需要進(jìn)行操作和展示的信息完全與普通交易不一樣;

例如:海外購(gòu)需要進(jìn)行一些必要的資質(zhì)認(rèn)證、關(guān)稅以及對(duì)金額的一些限制等等,會(huì)員店需要進(jìn)行資質(zhì)認(rèn)證或有特殊的結(jié)算方式等;而品類主要會(huì)影響下單的環(huán)節(jié),例如:藥物需要先有處方,在審核通過(guò)后才能下單等;而店鋪則是因?yàn)橐殖刹煌纳碳疫M(jìn)行履約、結(jié)算而需要拆分訂單。

在拆單時(shí)我們需要考慮一些幾個(gè)業(yè)務(wù):

  1. 主子訂單的數(shù)據(jù)結(jié)構(gòu),以及狀態(tài)對(duì)應(yīng)關(guān)系;
  2. 拆單后訂單與支付單的對(duì)應(yīng)關(guān)系;
  3. 拆單后用戶支付的操作處理,一般如果一次下單過(guò)程中有使用優(yōu)惠券、活動(dòng)等則需要進(jìn)行合并支付。

關(guān)于訂單相關(guān)的業(yè)務(wù)處理到這里算是告一段落,其核心是訂單狀態(tài)以及訂單金額相關(guān)的數(shù)據(jù)結(jié)構(gòu)和分?jǐn)傔壿嬙O(shè)計(jì),下面我們進(jìn)入履約交付環(huán)節(jié)。

二、訂單發(fā)貨履約

訂單履約業(yè)務(wù)從商家進(jìn)行發(fā)貨操作開始,一直到用戶簽收并完成訂單為止。

嚴(yán)格意義上的履約應(yīng)該包涵如下步驟:發(fā)貨-揀貨-出庫(kù)-配送-簽收這幾個(gè)環(huán)節(jié),但揀貨-出庫(kù)-配送這三個(gè)環(huán)節(jié)是屬于物流管理系統(tǒng)(WMS)所負(fù)責(zé)的業(yè)務(wù),我們?cè)诖瞬蛔鲞^(guò)多的闡述。

在發(fā)貨時(shí),我們需要注意的是這是從信息流轉(zhuǎn)換到物流的過(guò)程,在當(dāng)前大家都追求線上線下融合的大趨勢(shì)下,我們需要提供一個(gè)靈活的發(fā)貨業(yè)務(wù)處理邏輯。

首先我們能夠滿足一個(gè)訂單多次發(fā)貨、多個(gè)訂單合并發(fā)貨這些場(chǎng)景;

其次在電商系統(tǒng)對(duì)接了物流系統(tǒng)后,我們需要能夠做到發(fā)貨單具備路由的功能,即系統(tǒng)能夠根據(jù)客戶的地址和倉(cāng)庫(kù)的地址、貨物在倉(cāng)庫(kù)的庫(kù)存情況以及倉(cāng)庫(kù)業(yè)務(wù)處理的能力等因素進(jìn)行自動(dòng)選擇,以達(dá)到庫(kù)存效益和用戶體驗(yàn)之間的最大收益。

有發(fā)貨路由的整體業(yè)務(wù)流程:

發(fā)貨單需要記錄:發(fā)貨單基本信息、訂單基本信息、收貨人信息、貨品信息、發(fā)貨倉(cāng)信息以及最終的物流配送信息。

用戶即能在訂單中查看商品的物流情況,而一般的訂單中的物流信息都是通過(guò)在發(fā)貨單上面記錄的快遞單號(hào)/運(yùn)單號(hào)在通過(guò)第三方物流信息對(duì)接平臺(tái)獲取的。

在商家進(jìn)行發(fā)貨操作后,用戶能夠?qū)ι唐愤M(jìn)行簽收,簽收操作的目的是確定貨物物權(quán)的轉(zhuǎn)移,很對(duì)企業(yè)會(huì)以該節(jié)點(diǎn)作為財(cái)務(wù)中收入確認(rèn)的觸發(fā)節(jié)點(diǎn)。

三、退款相關(guān)的業(yè)務(wù)

1. 退款的整體介紹

退款業(yè)務(wù)可分為三個(gè)大的類型:僅退款、退貨退款、換貨,本期不實(shí)現(xiàn)換貨業(yè)務(wù)。

僅退款指的是指對(duì)資金流進(jìn)行處理,不產(chǎn)生物流;退貨退款指的是需要處理物流及資金流。

那再什么情況下會(huì)產(chǎn)生退款業(yè)務(wù)呢?首先我們回顧下整個(gè)交易流程是怎么樣的,如圖:

這是業(yè)務(wù)簡(jiǎn)化后的狀態(tài)圖,在業(yè)務(wù)中訂單支付后只要進(jìn)入待發(fā)貨(如果有待審核,也可)狀態(tài)以后,在訂單狀態(tài)為已完成之前,都能發(fā)生退款業(yè)務(wù)。

具體場(chǎng)景如下:

  1. 商家還未發(fā)貨,用戶發(fā)現(xiàn)購(gòu)買的商品不是自己需要的,申請(qǐng)退款,可對(duì)已提交的訂單中的部分商品進(jìn)行退款,也可整單進(jìn)行退款;
  2. 商家已發(fā)貨,但用戶還未簽收時(shí)用戶進(jìn)行退款申請(qǐng),可對(duì)訂單中的部分商品進(jìn)行退款或整單進(jìn)行退款;
  3. 用戶已經(jīng)簽收,但訂單還未進(jìn)入已完成狀態(tài)時(shí)用戶進(jìn)行退款申請(qǐng),可對(duì)訂單中的部分商品或整單進(jìn)行退款;

2. 具體場(chǎng)景的業(yè)務(wù)分析

對(duì)于場(chǎng)景一,商家還未發(fā)貨,故無(wú)物流過(guò)程的處理,我們只需要處理退款商品的庫(kù)存及資金即可,邏輯如下:

  1. 用戶申請(qǐng)退款,選擇需要選擇進(jìn)行退款的商品(有狀態(tài)限制:待審核、待發(fā)貨、待收貨、待簽收、已簽收),并填寫相關(guān)信息(退款金額、原因、憑證等),提交退款申請(qǐng),此時(shí)需要在訂單中的商品維度標(biāo)識(shí)改商品狀態(tài)為“退款中”
  2. 商家對(duì)退款申請(qǐng)進(jìn)行審核,審核不通過(guò)則打回給用戶,改變訂單中的商品狀態(tài)為“待發(fā)貨”;商家審核通過(guò)退款申請(qǐng)后,可進(jìn)行確認(rèn)退款操作,確認(rèn)退款后系統(tǒng)按支付渠道原路退回,并產(chǎn)生退款資金流水記錄,確認(rèn)退款成功后聯(lián)動(dòng)訂單,處理商品狀態(tài)(修改為:“已退款”)及訂單狀態(tài)(見(jiàn)訂單與退款申請(qǐng)單聯(lián)動(dòng)說(shuō)明)
  3. 退款成功時(shí)還需要對(duì)商品庫(kù)存進(jìn)行處理,自動(dòng)返還退款商品數(shù)量到庫(kù)存
  4. 若訂單下的所有商品均為“已退款”,則需要進(jìn)行優(yōu)惠券、積分等資產(chǎn)的返還,若活動(dòng)有資格限制,也在整單都退完是才返還資格

對(duì)于場(chǎng)景二與場(chǎng)景三可使用同樣的邏輯進(jìn)行處理

  1. 用戶申請(qǐng)退款,可選擇退款類型:僅退款、退貨退款;僅退款的流程與場(chǎng)景一 一樣,唯一不同是不需要進(jìn)行庫(kù)存返還。選擇退貨退款時(shí)需要選擇進(jìn)行退款的商品(有狀態(tài)限制:待審核、待發(fā)貨、待收貨、待簽收、已簽收),并填寫寫相關(guān)信息(退款金額、原因、憑證等)提交退款申請(qǐng),此時(shí)需要在訂單中的商品維度標(biāo)識(shí)改商品狀態(tài)為“退款中”
  2. 商家對(duì)退款申請(qǐng)進(jìn)行審核,審核不通過(guò)則打回給用戶,改變訂單中的商品狀態(tài)為“待發(fā)貨”;商家審核通過(guò)退款申請(qǐng)后,用戶進(jìn)行確認(rèn)退貨操作,填寫快遞相關(guān)信息,確認(rèn)后申請(qǐng)單狀態(tài)為“待收貨”
  3. 商家在收到用戶寄送的快遞后,可進(jìn)行確認(rèn)收貨操作,申請(qǐng)單狀態(tài)為“待退款”
  4. 商家可在退款申請(qǐng)單商家進(jìn)行確認(rèn)退款操作,退款統(tǒng)一為原路退回(使用第三方支付平臺(tái)的退款接口進(jìn)行退款)
  5. 退款成功時(shí)還需要對(duì)商品庫(kù)存進(jìn)行處理,自動(dòng)返還退款商品數(shù)量到庫(kù)存
  6. 若訂單下的所有商品均為“已退款”,則需要進(jìn)行優(yōu)惠券、積分等資產(chǎn)的返還,若活動(dòng)有資格限制,也在整單都退完是才返還資格

四、關(guān)于訂單與發(fā)貨單、退款申請(qǐng)單聯(lián)動(dòng)的說(shuō)明

申請(qǐng)退款在售后周期結(jié)束之前,但審核在售后周期結(jié)束之后。

訂單簽收時(shí)的處理邏輯:訂單到已簽收狀態(tài)時(shí),需要判斷訂單中是否有商品是否有狀態(tài)為“退款中”,若有,則不啟動(dòng)售后結(jié)束時(shí)間;若沒(méi)有,則啟動(dòng)售后周期。

售后申請(qǐng)單結(jié)束時(shí)的處理邏輯:在每一次申請(qǐng)售后單確認(rèn)退款后,需要通知訂單,改變商品狀態(tài),對(duì)訂單中的商品進(jìn)行掃描看是否所有商品狀態(tài)都為“已退款”或“已簽收”,若是,則啟動(dòng)售后結(jié)束時(shí)間;若不是,則不啟動(dòng)售后結(jié)束時(shí)間。

五、總結(jié)

交易系統(tǒng)勿用質(zhì)疑是電商中最核心的模塊,它是信息流、物流、資金流三流合一的關(guān)鍵,一個(gè)靈活且設(shè)計(jì)合理的交易系統(tǒng)是企業(yè)業(yè)務(wù)運(yùn)行和用戶獲得良好購(gòu)物體驗(yàn)的基礎(chǔ)。

在做交易系統(tǒng)的設(shè)計(jì)的過(guò)程中深刻的認(rèn)識(shí)到業(yè)務(wù)的復(fù)雜性是客觀存在的,作為產(chǎn)品我們要做的就是管理這種復(fù)雜,如何管理呢?

把業(yè)務(wù)需求結(jié)構(gòu)化,產(chǎn)品信息結(jié)構(gòu)化以及讓所有的功能都符合業(yè)務(wù)人員實(shí)操邏輯是關(guān)鍵,而這種結(jié)構(gòu)化的思維方式就需要我們產(chǎn)品能夠在設(shè)計(jì)之初并對(duì)業(yè)務(wù)進(jìn)行抽象劃分好階段、類別,輸出的產(chǎn)品說(shuō)明文檔要保持邏輯和表述一致,使用通用的產(chǎn)品語(yǔ)言。

而關(guān)于資金相關(guān)的業(yè)務(wù)在交易系統(tǒng)中未進(jìn)行詳細(xì)闡述,后期在總結(jié)支付結(jié)算相關(guān)業(yè)務(wù)時(shí)再行說(shuō)明。

 

本文由 @keeliu 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理 ,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來(lái)自 unsplash,基于 CC0 協(xié)議

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 期待更新

    回復(fù)
  2. 訂單拆單后,子訂單存什么信息呢

    來(lái)自福建 回復(fù)
  3. 說(shuō)的真好。

    回復(fù)
  4. 干貨多多,多謝分享

    回復(fù)
  5. 深度好文 考慮很周到 已跪已關(guān)注

    來(lái)自浙江 回復(fù)
  6. 支付結(jié)算的文章什么時(shí)候出,期待中。。。 ??

    來(lái)自上海 回復(fù)