一個偉大的訂單系統背後一定站著一大堆偉大的其他系統–電商產品狗說
訂單所涉及到的後台系統包括訂單系統、庫存系統、倉庫系統、物流系統、風控系統等。 訂單業務的流轉主要依靠完善的後台系統。
本篇文章將介紹前後端訂單系統,以及訂單業務流程中,各業務系統之間的緊密交互。
前端訂單系統
前端訂單系統主要包括2大塊的展示:訂單信息和訂單狀態。
1.訂單信息包括以下幾大要素
- 收貨人信息:暱稱、手機號、收貨地址。 必須展示要素之一,為商品發貨、投遞的根據;
- 所購商品信息:店鋪名稱、商品名稱、商品規格、商品價格、商品數量。 必須展示要素之一,便於用戶查看/核對;
- 支付信息:訂單總金額、實際支付金額、支付單號、訂單號。 必須展示要素之一,便於用戶核對支付金額,同時在有多種優惠情況下,能夠為用戶詳細展示實際優惠與實際支付金額;
- 促銷信息:優惠金額。 只當該筆訂單滿足某種促銷條件時,進行相應的展示。
2.訂單狀態一般包括以下幾種狀態
- 未付款訂單:已下單但未支付的訂單,針對此類訂單,平台一般會設置一個自動取消訂單的時間,比如未付款訂單半小時後自動取消,以釋放鎖定的庫存;
- 待發貨訂單:已付款但未發貨的訂單,此類訂單若有退款申請發生,一般需要查詢倉庫是否已發貨,若未發貨則可進行攔截,此時用戶可退款;若 已發貨,則用戶此時不能申請退款,只能收貨後進行退貨退款或拒收。 當然,有些平台和倉庫之間不能實時信息交互時,可以設置一個有效時間,此有效時間內用戶可申請退款,過了此時間則訂單狀態變為已發貨(非實際發貨),不能 退款;
- 待收貨:已發貨未收貨的訂單;
- 退款中:申請退款、正在處理中的訂單;
- 退款失敗:申請退款失敗的訂單,訂單狀態保持申請退款前的狀態不變;
- 退款成功:申請退款成功的訂單。 當一個訂單中的某個子訂單申請退款成功,該訂單的狀態保持不變,僅該子訂單的狀態顯示退款成功;
- 交易成功:收貨成功的訂單;
- 交易關閉:取消付款的訂單,有時退款失敗的訂單也會歸為交易關閉狀態。
可見下圖淘寶訂單詳情頁示例。 淘寶訂單詳情頁從上至下依次顯示訂單狀態、物流信息、收貨人信息、商品信息、促銷信息、支付信息。
後台訂單系統
後台訂單系統和前端訂單系統展示的信息相對應,包括訂單列表以及訂單詳情的展示。
1.訂單列表
訂單列表以序列形式顯示所有用戶的下單記錄,列表中主要展示某筆訂單的一些核心信息,比如訂單編號、下單時間、下單用戶、商品信息、實付金額、訂單狀態、維權狀態等 。
2.訂單詳情
訂單列表主要展示核心的訂單信息,所以可從訂單列表中點擊某個訂單查看它的詳情,訂單詳情可分為三部分展示:訂單信息、支付信息、物流信息。
訂單信息主要展示該筆訂單的商品信息,包括商品名稱、規格、ID,商品單價、購買數量、實付金額等。
支付信息主要展示該筆訂單支付的相關信息,包括商品總額、運費、優惠金額、實付金額、支付時間、支付單號、交易單號等。 其中支付單號一般是平台的支付流水號,交易單號一般是第三方支付公司的支付流水號。
物流信息主要展示該筆訂單的物流,包括發貨地址、收貨地址、快遞單號、物流路徑等。
訂單業務流轉
前後台訂單系統雖然更多的是對訂單信息和狀態的展示,但這些訂單信息和狀態在後台各業務系統中如何有效流轉,訂單系統和其他系統如何高效合作,最終將信息完美呈現在前後台 訂單系統中,是非常重要和復雜的。
下圖是從用戶下單到收貨的一個業務流程示例。
我們可以看到,用戶在前端可見的幾個訂單狀態變化,其實在後台經歷了很多系統的協助。 下面簡單介紹下各業務系統在訂單流轉過程的作用:
1.風控系統
用戶購買了一個商品後,該商品在倉庫中的庫存數量需要先鎖定相應數量,以保證庫存的準確性。 一般電商平台對於鎖定庫存有兩種處理方式:下單鎖庫存、支付鎖庫存。 這兩種鎖庫存方式各有利弊,支付鎖庫存,可能在支付時發生並發情況,導致超賣。 而下單鎖庫存可以有效防止超賣情況發生,但卻可能被惡意下單。 我司平台當前選擇的就是下單鎖庫存方式,此時風控系統就可以發揮其重大作用,攔截掉惡意下單的用戶。
2.支付系統
支付系統主要是為用戶下單支付服務,一般一個訂單生成一個支付單號,作為與第三方支付公司的一個交易記錄,也需要在訂單中展示。
3.庫存系統
前端商品是否可售與該商品的庫存相關,庫存數>0時,該商品在前端為可購買狀態,庫存數=0時,該商品在前端為售罄不可購買狀態。 因此保持商品庫存數量的準確性是庫存系統的最根本功能,而訂單業務中,有多個流程涉及到庫存變化。 我們以下單鎖庫存邏輯來進行下單業務流程中涉及到庫存變化的說明。
- 下單1個商品時,庫存需鎖定1個
- 若該訂單在N小時(N為平台製定的取消訂單時間)內未支付,則解除鎖定庫存
- 若該訂單已支付,則庫存仍鎖定1
- 訂單發貨前,用戶取消訂單,則解除鎖定庫存
- 訂單推送至倉庫,倉庫發貨,庫存扣減1
總結
前後台訂單系統相對於其他系統來說,在頁面上的展示比較簡單,但其背後的邏輯以及與其他業務系統的交互是非常複雜的,要保證一個商品從前端用戶下單到最後送達用戶 手中,需要各系統的完美配合。
本篇文章只是簡單介紹了正常流程下的訂單業務流轉以及訂單系統,其實對於實際的訂單系統來說,還包括拆單、售後維權(退貨退款)等非常多的業務情況,之後有機會跟 大家詳細介紹。