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

6 評論 20825 瀏覽 271 收藏 18 分鐘

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

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

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

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

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

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

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

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

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

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

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

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

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

其中待審核狀態(tài)在有些業(yè)務(wù)中存在,有些業(yè)務(wù)又不存在,我們在做中臺時該狀態(tài)是一個可選擇的節(jié)點。

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

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

支付信息只記錄支付時間以及支付流水號,該流水號是能夠貫穿交易、支付以及第三方的一個表示。

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

在交易環(huán)節(jié)拆單主要有這幾個常見的因素:交易模式(海外購)、品類(藥物、生鮮或一些特殊品類)、店鋪。交易模式拆單是因為其在訂單確認(rèn)時需要進行操作和展示的信息完全與普通交易不一樣;

例如:海外購需要進行一些必要的資質(zhì)認(rèn)證、關(guān)稅以及對金額的一些限制等等,會員店需要進行資質(zhì)認(rèn)證或有特殊的結(jié)算方式等;而品類主要會影響下單的環(huán)節(jié),例如:藥物需要先有處方,在審核通過后才能下單等;而店鋪則是因為要分成不同的商家進行履約、結(jié)算而需要拆分訂單。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. 退款的整體介紹

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

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

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

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

具體場景如下:

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

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

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

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

對于場景二與場景三可使用同樣的邏輯進行處理

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

四、關(guān)于訂單與發(fā)貨單、退款申請單聯(lián)動的說明

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

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

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

五、總結(jié)

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

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

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

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

 

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

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

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

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

    來自福建 回復(fù)
  3. 說的真好。

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

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

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

    來自上海 回復(fù)