天天看點

支付退款流程設計_電商訂單系統,你該如何設計

支付退款流程設計_電商訂單系統,你該如何設計

文章來自:https://baijiahao.baidu.com/s?id=1602959656926168475&wfr=spider&for=pc

作者:人人都是産品經理

點選加入:PHP自學中心技術交流微信群

商務合作: 請加微信(QQ):2230304070

精選教程推薦

技術交流微信群

支付退款流程設計_電商訂單系統,你該如何設計

視訊教程分享

以下視訊教程的網址:http://blog.startphp.cn 

已經更改為:http://www.mano100.cn  請知悉!

1 Laravel你要從底層學起?還是掌握其核心内容便可?

2 關于PHP與消息隊列,你會嗎?

3 阿裡雲環境搭建以及項目上線還有誰不會的?

4 PHP程式員是否要學習Linux課程?

5 在CentOS7系統下如何搭建ElasticSearch

更多視訊教程,請關注網站:http://www.mano100.cn

精選文章正文

一個訂單系統的設計并不簡單,它需要一批又一批的人去維護、去優化,根據公司的業務情況做出改變與相容。這篇文章主要與大家分析一下電商訂單系統該如何設計。 在一個電商所有子產品中,訂單系統作為最為核心的子產品,它決定了整個流程能不能順暢的執行,起着承上啟下的作用。 訂單系統 設計訂單系統時需要考慮幾個子產品。隻有明确考慮所有子產品,才能保證訂單系統的穩定性和可擴充性。 1. 訂單字段

實際上,界面上顯示的訂單資訊由各種訂單字段組成。完成訂單字段在某種程度上代表着訂單流程的完整。

支付退款流程設計_電商訂單系統,你該如何設計

訂單字段包括幾個部分,其中金額資訊因為特殊性,單獨來講解,本質上,金額資訊也是屬于商品資訊的。

商品資訊:商品資訊屬于訂單系統的上遊端。所有訂單都是從商品演變而來的。從商品到訂單,訂單系統必須收集相關的商品資訊,包括商店資訊,商品ID,商品規格,商品數量和商品價格。獲得的商品資訊将顯示在訂單詳細資訊頁面上。形成訂單資訊後,倉庫可以友善地進行揀選和打包。

使用者資訊:使用者資訊包括購買使用者的ID,收貨人,收貨人位址和聯系資訊。某些平台的使用者成長系統是根據平台上的使用者活躍度來計算的。例如,京東(JD.com)具有類似的增長名額,例如會員級别和積分卡。此時,除了普通資訊字段外,還需要獲得使用者資訊。擷取使用者級别,購買後獲得的積分以及使用者所在等級可以從訂單中扣除的折扣等,然而這些具體操作取決于公司的業務方向。

金額資訊:由于金額資訊的特殊性,理論上認為金額資訊應該屬于商品資訊。金額資訊的特殊性在于它不代表金額,涉及到商品的金額,折扣金額和付款金額等。折扣金額所涉及的資訊更為複雜。例如,具有自營和第三方結算的電子商務平台将具有商家折扣和跨商店折扣。這些折扣分為不同的類型,例如現金扣減和消費者優惠券扣減,點數擷取,禮品卡扣減或以上各項的組合。如果要很好地涉及此内容,則需要根據公司的目前業務狀況列出支援的優惠類型,然後枚舉各種組合下的優惠類型以確定流程的完整性。

時間資訊:記錄各個狀态點下的時間,一是記錄,二也是友善售後驗證與客戶分析。訂單時間是根據訂單狀态改變而改變的。時間資訊看起來不重要,其實是訂單系統一個重要的組成部分,具體看以下:下單未付款:即訂單建立時間、下單時間;待發貨狀态:訂單建立時間、下單時間、支付時間;待收貨狀态:訂單建立時間、下單時間、支付時間、發貨時間;交易完成狀态:訂單建立時間、下單時間、支付時間、發貨時間、完成時間;待退款狀态:退款訂單建立時間、申請退款時間;交易關閉-使用者取消:訂單建立時間、下單時間、使用者取消時間;交易關閉-僅退款:訂單建立時間、下單時間、支付時間、退款申請時間、退款成功時間;交易關閉-退貨退款(包含部分僅退款):訂單建立時間、下單時間、支付時間、交易完成時間、退款申請時間、退款時間。

訂單資訊:訂單資訊在訂單系統是最為核心,訂單資訊最重要的又是訂單的狀态。一個電商系統中,訂單狀态分别有以下幾種狀态:【待付款】、【待發貨】、【待收貨】、【待評價】、【交易完成】、【使用者取消】、【僅退款】、【退貨退款】。而我們一般會将後三種統一放在訂單售後獨立呈現,友善平時商家操作的便捷性。

下面看看流程圖:

支付退款流程設計_電商訂單系統,你該如何設計

2. 訂單流程

訂單流程是指從訂單生成到完成的過程,包括前正向流程和反向流程。  

正向流程就是正常的網購的步驟:訂單生成->付款訂單->賣方發貨->确認收貨->交易成功。

而逆向流程則是各種退款退貨的流程。

(1)正向流程

支付退款流程設計_電商訂單系統,你該如何設計

訂單生成:使用者下單後,系統需要生成訂單,此時需要先擷取下單中涉及的商品資訊,然後擷取該商品所涉及到的優惠資訊,如果商品不參與優惠資訊,則無此環節。

接着擷取該賬戶的會員權益(這裡其實需要注意的是:優惠資訊與會員權益是有差別的,就好比商品滿減是優惠資訊,新人立減是會員權益,一個是針對商品,另一個是針對賬戶)。

支付訂單:使用者支付完訂單後,需要擷取訂單的支付資訊,包括支付流水号、支付時間等。支付完訂單接着就是等商家發貨,但在發貨過程中,往往還有一種情況存在,很正常卻也比較複雜,就是訂單拆單。

  • 訂單拆單分兩種:一種是使用者挑選的商品來自于不同管道(自營與商家,商家與商家),此時就需要拆分訂單,并分開結算,這裡還涉及父子訂單的說法,這裡不再贅述。
  • 另一種是在SKU層面上拆分訂單:不同倉庫,不同運輸要求的SKU,包裹重量體積限制等因素都需要将訂單拆分。比如:商品A隻在甲倉庫有,商品B又隻在乙倉庫有,此時會将商品A與商品B拆分成兩個訂單。或者有些企業的做法是将商品A/B調撥到另外一個倉庫統一發貨,也友善了使用者。

訂單拆單看起來簡單,其實裡面涉及到底層的系統支援,如你需要對每一個倉庫的貨品進行相對準确的盤點,且做到實時同步(涉及到倉庫精細化管理),對商品進行準确分類與擺放,對商品資訊記錄準确無誤等。

這其中哪一子產品都是一個浩大的工程,PM一般進入一家公司都會在原有(半成品)的基礎上進行優化,大家不妨多思考一下底層業務,隻有在底層做好精細化管理,才能支援線上豐富的使用者需求。

商家發貨:商家發貨過程也有一個标準化的流程,上面也有講到,訂單拆分時會涉及到倉庫間調撥,然後倉庫會對商品進行打單、揀貨、包裝、交接快遞配送。這套标準化流程如果優化好,也是一個大工程,這裡不再贅述,建議大家看看庫存與倉庫管理方面的書籍,詳細了解。

确認收貨:商家發貨後,就是等快遞配送了,訂單系統需要接入一些常用快遞企業的接口,友善使用者與商家在站内查詢快遞資訊。

交易成功:收到貨後,不是一個服務的結束,相反是一個服務的開始。訂單系統需要在快遞被簽收後提醒使用者對商品做評價,這裡要注意,确認收到貨不代表交易成功,交易成功是指在收到貨X天的狀态,此時訂單不在售後的支援時間範圍内。到此,一個訂單的正向流程就算走完了。

(2)逆向流程

支付退款流程設計_電商訂單系統,你該如何設計

一個電商的基本逆向流程如上圖所示,訂單的逆向流程複雜就在于它幾乎允許在正向流程的任何環節出現。有人會問:使用者未收到貨為什麼還能退款?

其實我們換位思考,也很容易了解。假想你是使用者,買了一雙鞋子,付了款發了貨,正在美滋滋的等待收快遞,然後剛好路過一家鞋店看到剛買的同款鞋子大促銷,于是你就拿起手機點選退款,買下了這雙促銷的鞋子。

這種場景其實是很普通也很正常的使用者日常,是以我們的訂單系統就必須得支援使用者各種豐富的場景需求,也十分考驗PM的業務滲透能力,好在電商的先行者淘寶已經做了很多基礎建設和使用者教育,我們直接可以拿來套用,不過還是要根據各個公司的業務情況進行修改。

取消訂單:使用者送出訂單時,在跳轉至支付前直接退出,此時使用者原則上屬于取消訂單,因為還未付款,則比較簡單,隻需要将原本送出訂單時扣減的庫存補回即可。

支付失敗:使用者進行支付時退出,或者取消支付,我們将其列為支付失敗狀态,此時處理同上,将扣減的庫存補回可銷售庫存即可。

付款後退款:使用者支付成功後,商家還未發貨,支援使用者申請退款,此時如果倉庫與客服是分離的,則需要先檢查倉庫是否已經發貨,若已發貨則應與客戶溝通是否可以收到貨後再進行退款,如果倉庫還未發貨,則可直接同意使用者退款。或者企業接入菜鳥物流,實行截件功能,不過這種操作還不成熟,成本會比較大,不适合中小創業型公司。

缺貨退款:使用者支付成功後,商家發貨時發現倉庫缺貨(如果送出訂單扣減庫存,則會減少缺貨情況,為什麼是減少而不是避免?因為倉庫管理商品時沒辦法做到100%精準,是以資訊有時候會不準确,導緻線上的可銷售庫存顯示有庫存而倉庫已經售空的狀态),則需要與使用者協商是否退款。

這個流程訂單系統可以做到流程化、自動化,連接配接消息中心和倉庫管理系統去實作,難點在于消息的實時性。我就遇到過在淘寶買過一件上衣,一天過去了,商家跟我說沒貨了,我當時殺人的心都有了。

待收貨退款:這個問題目前還沒有特别完美的解決方法,商家發了貨之後,使用者還未收到貨,此時貨在路上。大體上分為兩種做法:一種是使用者收到貨後重新寄回;另一種是使用者直接拒收包裹,包裹直接退回原位址。

退貨退款:使用者收到貨後,想要申請售後,則此時需要提供讓使用者輸入售後原因,包括上傳憑證的功能,如果與商家協商無果,還需要增加平台客服的入口,友善使用者進行申訴。而協商結果/申訴成功後直接觸發自動退款機制,退款後觸發消息通知,同時觸發交易關閉狀态,整個售後過程才算結束。

系統的學習PHP

0 全流程開發 TP6.0實戰高并發電商服務系統

連結:https://docs.qq.com/doc/DV2J5WWpoRnlYYXhB

1 産品經理高清實戰

公衆号裡回複:07212019

2 設計模式執行個體剖析與深入解讀

公衆号裡回複:20190714

3 Git&GitHub視訊教程

公衆号裡回複:gitnnnx

4 尚矽谷Redis

公衆号裡回複:0713ksy1

5 SQL 注入及如何防止

公衆号裡回複:20190712

以上是本文的全部内容,希望對大家的學習有幫助,也希望大家多多支援 php自學中心 

支付退款流程設計_電商訂單系統,你該如何設計