2011-07-23 41 views
2

我正在使用Ruby On Rails從頭開發的在線商店。如何在網上商店同步庫存和付款?

我有一個關於庫存和訂單的設計問題。

當用戶選擇一個產品

  • 如果降低的時候把產品放在購物車中的股票什麼時候更新股票,你必須能夠重新進貨,如果用戶關閉他的瀏覽器。問題,Rails不處理會話過期這個用例

  • 如果我低庫存發送客戶到我的支付解決方案(如PayPal,谷歌Checkout或亞馬遜)之前,我依然不通知,如果用戶關閉了瀏覽器。

- 如果我下一次的股票支付是有效的,我可能當只有一個留下了兩個不同的客戶購買相同的產品,並且店內現必須提供兩款產品時,他只有一個左。

你知道網上商店如何處理這個問題嗎?

我在哪裏可以找到開源網上商店的設計文檔?

回答

1

通常情況下,您需要保持庫存分開,以便倉庫中有一個值,已提交但未裝運的訂單有一個值。

當物品放入購物車時,您只需通知用戶何時有效庫存發生變化,即何時另一用戶已提交訂單。直到購物車被檢出後才能保證。

2

我想到了這一點,但從來沒有編程它。

無論什麼值得,我要做的就是在對象上放一個臨時的「保留」,如果它正要通過付款過程。這樣,沒有人可以購買這個對象。當它擱置時,我會給用戶多久可以拿着它(也許一個小時)。然後只有當付款有效時纔會將產品從庫存中刪除。