2017-10-09 7 views
0

誰もこの問題を抱えていたことがありますか?ショップウェアのバスケット商品を予約

前提条件: アイテムAのアイテムが1つだけ残っています。

  1. お客様1は、アイテムAをバスケットに入れ、チェックアウトに進みます。
  2. 顧客1はその間カスタマー2では、支払サービスプロバイダ(PSP)サイト
  3. にリダイレクトされますがお客様2(PSP)サイトにリダイレクトされ
  4. チェックアウトに彼のバスケットと進行にアイテムAを入れ
  5. 両方の顧客が商品の支払いに成功しました。
  6. ストック左は-1

はこれを防ぐために、任意のネイティブ方法はありますか?顧客がリダイレクトされる前にアイテムをバスケットに予約するには?支払いがうまくいかなかった場合、株式を元に戻す方法はありますか?

ありがとうございました!

答えて

0

チェックアウトの仕方によって異なりますが、お客様がチェックアウトページを読み込んだときにカート/注文のステータスを変更することができます。このようにして、「予約済み」アイテムの数量を収集し、それを製品テーブルの在庫から差し引くことができます。キャンセルまたは放棄された古いカートをフィルタできるように、カートの新しいステータスを設定するときにタイムスタンプを使用します。

+0

標準的なショップウェアチェックアウトです。私は確かにそれを回避することができますし、データベースオブジェクトとバイブル。しかし、私がそれをする直前に、私はコミュニティに、組み込みメソッドがあるかどうか尋ねることができると思った。 Basketオブジェクトにはreserveというメソッドはありません。 – jPO

関連する問題