訂單號提交

在電商業務中,商品的交付都是圍繞訂單號來進行的。交易的基礎流程包括建立訂單、支付訂單、交付訂單、簽收訂單。code

基於訂單,咱們能夠作不少事情。好比,創建一條交易的數據總線,按期覈對商品的交付狀況,以此保證數據的最終一致性。再好比,經過訂單號,將各個子系統中的請求串起來,扮演traceId的做用,等等。電商

客戶端要購買商品,存在兩種程序上的交互方式:後臺

第一種、基礎

  1. 第一步、客戶端提交待購買的商品信息,服務端建立訂單,並將訂單號返回給客戶端;
  2. 第二步、客戶端提交訂單號給服務端,進行支付。

第二種、請求

  1. 客戶端提交待購買的商品信息,服務端建立訂單,並進行支付。

兩種方式的本質區別在於:交易的過程,客戶端是否須要感知訂單號的存在程序

拿蘋果手機的IAP支付舉例,通俗的講,就是在APP內支付。簡單介紹一下蘋果支付的基礎流程:支付

  1. 蘋果服務後臺建立商品,建立的商品須要和咱們服務端實際的商品作對應。
  2. 客戶端蘋果服務交互,完成用戶扣款
  3. 客戶端獲取蘋果服務返回的扣費憑據,提交給咱們的服務端
  4. 咱們的服務端請求蘋果服務,驗證憑據的有效性,決定是否給用戶交付商品

在這個流程中,訂單號應該在步驟2以前建立,仍是在步驟4建立呢?若是在步驟4建立,在用戶行爲上,就缺失了用戶嘗試支付的訂單數據,數據表中也只存在用戶成功發起支付的訂單。數據

相關文章
相關標籤/搜索