現在ショッピングカートを作成しているのですが、ページに来られた人が商品を同時に購入したり、もしくは時間差によ
って在庫切れになるというケースが発生したりするケースがあると思うのですが、
そういったことを防ぐためにショップを運営されている方はなにか工夫をされていたりするのでしょうか。
少し疑問に思ったため質問をさせていただきました。詳しいかたおりましたらご回答よろしくお願いいたします。
時間差を完全に解消する手段はない。通常店舗であれば注文カウンターに並んだ時点の早い者勝ちと考えると解りやすかろう。
難しく考えず、発注処理に進んだ段階で在庫と照らし合わせて「承りました」「在庫切れ」と振り分ければ良い。
念のため言っておくが、出来る限り詳細にやろうと少しでも考えてしまうと途端にシステムは複雑になる。
Ajaxなどを用いて常時ブラウザ上の数値とサーバ上の在庫を照らし合わせるなどの仕組みが必要になるからだ。それとても、常時とはどのくらいのタイミングで確認を取るのが良いのやらというような問題が引き続きぞろぞろと出てくる。 それでもやるというなら留めはせぬが、やめておいたほうが無難だとは言っておく事にする。
システム的には、決済時に確定の在庫確認処理を行うので、
ほとんどの場合が、この決済時の確定時に在庫切れかどうかが厳密に判定されるので
在庫切れの心配はほとんど要らない。
>そういったことを防ぐためにショップを運営されている方はなにか工夫をされていたりするのでしょうか。
一部の商品は、在庫をシステム入力よりも多めに持っている
ご回答ありがとうございます。
時間差を完全に解消する手段はない。通常店舗であれば注文カウンターに並んだ時点の早い者勝ちと考えると解りやすかろう。
難しく考えず、発注処理に進んだ段階で在庫と照らし合わせて「承りました」「在庫切れ」と振り分ければ良い。
念のため言っておくが、出来る限り詳細にやろうと少しでも考えてしまうと途端にシステムは複雑になる。
Ajaxなどを用いて常時ブラウザ上の数値とサーバ上の在庫を照らし合わせるなどの仕組みが必要になるからだ。それとても、常時とはどのくらいのタイミングで確認を取るのが良いのやらというような問題が引き続きぞろぞろと出てくる。 それでもやるというなら留めはせぬが、やめておいたほうが無難だとは言っておく事にする。
ご回答ありがとうございます。
ご承知のように、利用者がカートに入れたタイミングと決済のタイミングには時間差があるため、その間に別の利用者が品物を買うことで在庫切れになる可能性は津根にあります。
そこで、売れ筋商品は「安全在庫」という形で、実際の在庫量より少なめの在庫をネットにオープンするようにするのが普通です。
とはいうものの、あまり多く安全在庫を持つと、それが不良在庫となるリスクがあります。
この安全在庫を幾つくらい持つかということが、ネット通販のひとつのノウハウになっています。
ご回答ありがとうございます。
ご回答ありがとうございます。