iT邦幫忙

0

訂單成立流程,究竟是先成立訂單再付款,還反之?為什麼?

想問一個問題是關於訂單成立
是先成立訂單後再付款
還是付款成功再開始成立訂單呢?
最近學到 rollback, try and catch
因此遇到成立訂單的問題!
必須使用 rollback 和 try and catch 防止意外事務
訂單成立(包含扣庫存、建立客戶付款資訊等等)、金流(付款)與發票

懇請高手解析,謝謝

5
浩瀚星空
iT邦大師 1 級 ‧ 2019-04-24 16:45:06
最佳解答

我的訂單狀態會區分兩個。一個是出貨狀態,一個是付款狀態

付款狀態會如下
0:未付款
1:已付款
9:取消
10:等待退款
11:退款完成

出貨狀態則是
0:未出貨
1:備貨確定
5:已出貨
7:等待確認(有時商品可能會有待料或是其它情況的備用狀態)
10:退貨等待
15:退貨完成

至於付款會有如下的時限限制

1.信用卡:需要在15分內完成交易。超過則自動取消
2.ATM:一般保留3~7天。這部份我是交給客戶自行設定
3.代碼ATN:這一般是保留1~3天。
4.小額電信付款:等待30分
5.線上WEB ATM付款:等待15分

小松菜奈 iT邦研究生 3 級 ‧ 2019-04-24 17:08:49 檢舉

原則上設定是付完款,金流回OK就開始「成立訂單」
只是我不知道這樣流程O不OK

對我來說,我並沒有所謂的「成立訂單」這回事。
一但下單了就會產生訂單。剩下來的就是訂單的有效及無效的處理而已。
然後就是庫存的決定處理。這就看客人需求。有些客人會預扣,無論是否有付款都些扣掉。有些客人會等付款才扣庫存,因人而異。

畢竟除非你的付款都是屬於即時制的。也就是都是信用卡或是web atm這一類的。才有可能做到你說的回ok才成立。其它可能會需要會員無法立即處理的付款方式。都是要等待期的。

thwu iT邦新手 5 級 ‧ 2019-04-25 11:40:39 檢舉

回答這麼細,不是有做過,就是串過別人的 /images/emoticon/emoticon12.gif

補充一下
出貨狀態 和 付款狀態 分開還有一個好處:可以增加交易模式的彈性。
例如:

  • "物流出貨" 是 訂單 -> 付款 -> 出貨
  • "超商取貨付款" 是 訂單 -> 出貨 -> 付款
1
做工仔人!
iT邦高手 1 級 ‧ 2019-04-24 16:10:43

這個是看需求而定.
一般購物網站是會先成立"臨時"訂單,並通知客戶必須要在一定時間內付款.若客戶在時間內付款則轉為正式訂單.若沒有付款則作廢"臨時"訂單.
一般公司交易:則是先成立訂單後,再看與客戶談的付款條件.來決定是先出貨或先收款.

至於發票則是出貨時隨貨附發票居多. 若是購物網站則是在7天鑑賞期後才開發票.(為了避免電子發票作廢時一定要回收發票正本的麻煩)

看更多先前的回應...收起先前的回應...
小松菜奈 iT邦研究生 3 級 ‧ 2019-04-24 16:22:26 檢舉

目前付款方式只有信用卡

先成立"臨時"訂單 , 收到錢後再將"臨時"訂單變成正式訂單,
變成正式訂單後才可以通知倉庫備貨出貨.
待客戶收到貨後7天(鑑賞期後)才開立發票.
臨時訂單與正式訂單可以用一個欄位(STATUS)來控制:
0:成立訂單未付款.
1:訂單已付款
2.訂單已備貨
3.訂單已出貨
4.訂單已收貨
X.客戶取消訂單(已付款後才取消訂單)
V.無效訂單(客戶未在期限內付款)

小魚 iT邦高手 1 級 ‧ 2019-04-24 16:58:08 檢舉

有辦法做到金流了喔,
算是有進步了.

小松菜奈 iT邦研究生 3 級 ‧ 2019-04-24 17:07:58 檢舉

小魚
哈哈哈哈,其實已經有啦,只是之前做的很不OK,看到TRY CATCH跟ROLLBACK後才發現要補很多!

1
混水摸魚
iT邦新手 1 級 ‧ 2019-04-25 08:48:57

金流商其實大家用的架構都差不多(感覺是同一匹人寫的可能有人被挖角),除了信用卡之外可能會碰到這個問題,https://www.webteach.tw/?p=703

我會先成立訂單,庫存是先扣,訂單失效時再補回,發票是隨貨寄出(實體),電子發票就拖久一點再產生(七天見賞期)

我要發表回答

立即登入回答