一切的產品都是圍繞著業務模式進行展開。交易產品本質也是將交易流程進行產品化,通過低耦合、可擴展的產品架構,來支持交易業務的復雜性、多樣性。
在這里,我們先看一下整個的交易流程是怎樣的鏈路:

整個交易流程歸納起來,總共有如下幾步:
```
1. 用戶登錄
2. 逛街選貨
3. 貨物放入購物車
4. 提交購物車
5. 填寫收貨地址和交易手段(匿名支付、找人代付、貨到付款)
6. 進入收銀臺選擇支付方式
7. 支付完成,等待收貨。
```
將整個流程進行產品域的劃分,可以劃分為:
1、商品域:
> 上架并展示商品,包括商品的名稱、詳情、評價、促銷信息等等。
> *這個屬于業務前端,不在交易產品中進行贅述。*
2、交易域:
> 提供購物車功能,允許用戶將商品加入購物車,并在購物車中進行增刪改查;同時在用戶進行支付之前,收集用戶的收貨地址(因為快遞需要郵費)、以及他們的交易類型。
> 這個域負責收集客戶的交易數據,包括:買什么、送到哪里、總價多少、怎么交易(自己付還是別人代付)。
3、支付域:
> 交易數據提交給支付域,支付域打印出支付單給到客戶(可以理解為在超市里面打印出來的購物小票),客戶在此選擇具體的支付手段,現金還是刷卡,又或者是賒賬。支付完成后,客戶就可以把貨提走或者供應商就會把貨寄出給客戶。
> 這個域負責完成客戶的支付行為,包括:展示支付單、提供支付方式、處理支付流程。
4、賬戶域:
> 支付之后,不論成功失敗,都會生成一筆支付流水。每一筆支付流水都會掛在客戶主體下,這就要求為每一個注冊成功的客戶生成一個結算賬戶。每個結算賬戶下面關聯該賬戶所有的支付流水。
> 這個域負責建立客戶的結算賬戶,以及維護支付流水和賬戶的對應關系。