2011-07-23 2 views
2

私はRuby Onレールを使ってゼロからオンラインストアを開発中です。オンラインストアで在庫と支払いをどのように同期させますか?

私は在庫と注文に関する設計上の質問があります。

すると、ユーザーが製品

  • を選択した場合は、製品をカートに入れられたときに、ユーザーが自分のブラウザを閉じた場合、あなたは補充することができなければならない株式を下げた場合は、株式を更新します。問題は、レールがこのユースケースのセッションの有効期限を処理しない

  • PayPal、Google Checkout、またはアマゾンなどの支払いソリューションに顧客を送る前に在庫を低くしても、ユーザーがブラウザを閉じると通知されません。

支払いが有効になると私は株式を下げる-if一つだけが残っている、と彼は唯一の左を持っているとき、店は今2つの製品を提供しなければならないとき、私は同じ製品を購入する二つの異なる顧客を有していても良いです。

オンラインストアでこの問題がどのように処理されているかご存知ですか?

オープンソースのオンラインストアの設計資料はどこにありますか?

答えて

1

通常、在庫は、倉庫内の値と送信済みで出荷されていない注文の値が1つになるように分けられます。

商品がショッピングカートに置かれるときには、有効在庫が変更されたとき、つまり別のユーザーが注文を送信したときに通知することができます。カートがチェックアウトされるまで保証はありません。

2

私はこれを考えましたが、決してそれをプログラムしませんでした。

これは価値がありますが、支払い処理をやりなおす場合は、オブジェクトに一時的な「保留」をします。このようにして、誰もこのオブジェクトを買うことができませんでした。それが保留中の間、私はユーザーがそれを保持できる時間(たぶん1時間)を期限切れにします。そして、支払いが有効だった場合にのみ、商品は在庫から取り除かれます。

関連する問題