在庫数より多く同時に購入されてしまう

フォーラム 使い方全般 在庫数より多く同時に購入されてしまう

タグ: ,

  • このトピックには15件の返信、8人の参加者があり、最後にxbridgeにより3週、 4日前に更新されました。
15件の投稿を表示中 - 1 - 15件目 (全16件中)
  • 投稿者
    投稿
  • #90682
    mxxxm
    参加者

    ——————————————-
    WordPress のバージョン:WordPress 5.4.2
    Welcart のバージョン:Version 1.9.32.2008183
    PHP のバージョン:PHP7.3.16
    Welcart専用の拡張プラグインとバージョン:
    ご利用のテーマ: 自作テーマ
    症状を確認したブラウザ:不明
    サーバー:wpX
    SSLの利用:常時SSL
    ——————————————–

    リリース時間を告知して商品を販売した際に、
    在庫が1点の商品に対して、注文が複数入ってしまうことがあります。
    全て購入時間がほぼ同じです。

    売り切れ時の購入制限 のところはチェックを入れていません。

    1度だけではなくこれまでにも何度か同じように同時に複数の注文が入ってしまう状況が困っております。

    これは回避できる方法はないでしょうか?

    #90724
    6nuno9
    参加者

    同一の症状で検索してこのスレッドにたどり着きました。
    数量限定にしたはずの商品が多数購入されており困っております。

    <考察>
    「数量限定」にしたときの、残数のカウントタイミングがおかしいのではないかと考えています。
    10個限定で、Aが5個購入中(未決済)に、
    Bに10個カートに入れられて決済完了までされた、
    その後Aも購入に進み結果15個売れてしまった。

    本来ならば、
    1.Aが5個カートに入れた時点で購入可能数を-5する
    2.Bは5個しか買えない(残購入可能数5のため)
    3.10個売れる
    というのが正だとすると、

    1.Aが5個カートに入れた時点で購入可能数は10個のままなので
    2.Bは10個カートに入れることができる(購入可能数10のため)
    3.15個売れる
    というようになっているのではないでしょうか?

    どなたかお分かりになる方、ご教授いただければ幸いです。

    #90731
    yasumax
    キーマスター

    こんにちは。

    カートに投入した時点では、在庫は減りません。
    決済が完了してから初めて在庫数が減る仕様となっています。

    6nuno9さんの方法で検証を行ってみましたが、症状を再現することはできませんでした。
    Aさんが内容確認画面まで進んでいたとしてもBさんが先に決済を行ったのであれば、その時点で売り切れとなります。
    Aさんは購入しようとしても売り切れのため、カートページに戻り「売り切れました」などの表示がされます。

    ただ、商品の設定として「売り切れ時に購入制限(在庫チェック)しない」にチェックが入っていた場合は、6nuno9さんの仰るとおり在庫数以上購入ができます。
    この設定は、在庫補填が早いため売り切れ表示にはしたくない商品があるというお客様の声により追加された機能になります。
    Welcart マニュアル 商品基本情報

    #90744
    6nuno9
    参加者

    ご回答ありがとうございました。

    >ただ、商品の設定として「売り切れ時に購入制限(在庫チェック)しない」にチェックが入っていた場合は、6nuno9さんの仰るとおり在庫数以上購入ができます。

    こちらは確実にチェックを外していたので、今回の件はこれには該当しなさそうです。

    今回、限定商品に対してアクセスが集中したので同時刻に数百件の購入行動が行われていたため、処理落ちかなと思っています。

    #90752
    yasumax
    キーマスター

    こんにちは。

    @6nuno9さん
    ちなみにですが、決済方法は何を利用されていましたか?
    「同時刻に数百件の購入行動が行われていた」ということなので、外部リンク型のクレジット代行会社を利用していて、アクセス数がものすごく多く同時に決済を行われた状況に陥ったのかなと思っています。
    銀行振込・代金引換・非通過型のクレジット代行会社を利用していた場合は、起こりにくいのではないかと考えています。

    #90756
    6nuno9
    参加者

    @yasumax様

    ご回答ありがとうございます。
    なるほど、そういう可能性もあるわけですね。
    今回の症状を検索したところ、同様のケースが起こった投稿を複数お見かけしたのですが
    いずれも明確な解決策まではたどり着いていなかったようなので
    ある程度要因が絞り込めればと思っております。
    引き続き調査と対策を行ってみて、改善できたらご報告したいと思います。

    #90812
    mxxxm
    参加者

    @yasumaxさん ご回答ありがとうございます。
    @6nuno9さん と同様で、「売り切れ時に購入制限(在庫チェック)しない」にチェックは入れていませんが、購入されている時間帯が同じことやアクセス集中もしていたのが原因なのかと思っておりました。
    決済方法はペイパルのクレジットカード払いです。外部リンク型なのでそれが原因だったのでしょうか。

    #90815
    yasumax
    キーマスター

    こんにちは。

    @6nuno9さん @mxxxmさん
    情報ありがとうございます。
    お二人とも外部リンク型を利用していて同時刻に相当なアクセス数があったとのことなので、その可能性は高いかもしれませんね。
    再現できないため断言できないのが心苦しいですが。。。
    予測の範囲ですが非通過型を利用するとある程度軽減されるのかと考えています。。

    #96259
    swallow
    参加者

    ——————————————-
    WordPress のバージョン:5.9.1
    Welcart のバージョン:2.5.3.2202071
    PHP のバージョン:7.4.25
    Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.0.8、SKU Select 1.1.4)
    ご利用の親テーマとバージョン :(例 Welcart Basic 1.4.0)
    ご利用の子テーマとバージョン :(例 Welcart Beldad 1.1 )
    症状を確認したブラウザ:Googlechrome
    サーバー【重要】:(会社名、サービス名)
    ——————————————–

    お世話になっております。
    同一の症状で検索したところ、このスレッドを見つけました。

    在庫数より多く購入される現象が見受けられたため、テストで同一時刻にクレジット決済を行った際、在庫数を1にしていた商品が、2個売れてしまいます。

    売り切れ時に購入制限しないのチェックはしておりません。

    これはウェルカートの仕様と思った方がよろしいでしょうか?

    クレジット決済は、2つのサイトで「e-SCOTT Smart」と「WelcartPay」を利用しており、どちらの決済方法でも同じ現象になっております。

    ご教授の程、よろしくお願い申し上げます。

    #96270
    sagawa
    キーマスター

    swallow様

    こんにちは。

    これはウェルカートの仕様と思った方がよろしいでしょうか?

    先のコメントにもありますように外部リンクで同タイミングの場合、可能性の一つとして考えられます。
    再現できないため断言はできませんが、状況によっては起こり得るという事になります。
    非通過型を利用していた場合は、起こりにくいのではないかと考えます。

    #96273
    swallow
    参加者

    sagawa様

    ご回答ありがとうございます。

    「e-SCOTT Smart」と「WelcartPay」はどちらも非通過型を利用しております。

    同時刻に購入された場合は、2個購入されることが起こりえると考えて在庫調整するようにしたいと思います。

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

    #96791
    xbridge
    参加者

    似たような事象に遭遇してこのスレッドにたどり着きましたので、質問します。

    「売り切れ時に購入制限(在庫チェック)しない」のチェックがない商品が、商品によって在庫以上に注文が完了してしまう場合と、商品をカートに入れる前に「この商品の在庫数は残り〇〇です。」と表示されて注文できない場合と、2通りできます。

    希望する動きは後者の注文できないようにする動作なのですが、なぜ同じ登録で2通りの動きができてしまうのか、教えていただけますか?
    ほかに登録で確認しなければいけないところがありましたらご教授いただければ幸いです。

    #96792
    phper
    参加者

    https://blog.tokumaru.org/2015/05/blog-post.html

    上記の徳丸先生の記事をご参照いただくとどうしてそのような事象が起きるのかが理解できると思います。
    そのうえでwelcartを確認すると、トランザクション処理を行っているコードを確認できないので、
    当然記事中のような現象が起きることになります。
    導入できるようであれば、ぜひ導入していただきたいですね。

    #96793
    xbridge
    参加者

    なるほど、当方が受けている事象とこのスレッドでの事象が違ったのかもしれません。大変申し訳ございませんでした。

    当方の事象はそもそも在庫を上回る注文が「売り切れ時に購入制限(在庫チェック)しない」のチェックがない商品にもかかわらずできてしまうことです。
    (例えば在庫数10の注文に50注文できてしまうこと)
    トランザクションが問題になるほど同時注文もありませんでしたし、注文できる商品とできない商品の規則性が見当たらないところにあります。

    #96803
    ikeda
    キーマスター

    xbridge 様
    こんにちは。
    先のコメントにもございますが、「売り切れ時に購入制限(在庫チェック)しない」にチェックされていない場合でも、
    外部リンク型のクレジット決済をご利用の場合は、複数の方が同じタイミングで購入された時に
    在庫数よりも多く購入されてしまうという症状が発生することは考えられます。
    非通過型の決済では起こりにくいと思われますが、3Dセキュア認証をご利用の場合は、
    パスワード入力中などにダブルブッキングが発生する可能性はあるかと思います。

    上記内容と xbridge 様の動作環境が異なるようでしたら(決済は銀行振込しか利用していない等)、
    お手数ですが新たにトピックを立てていただけますでしょうか。

    また、その際には下記の環境情報およびご利用の決済モジュール、
    再現手順なども分かれば併せてご連絡いただけますと幸いです。
    ——————————————-
    WordPress のバージョン:(例 5.6)
    Welcart のバージョン:(例 2.1.1)
    PHP のバージョン:(例 7.4)
    Welcart専用の拡張プラグインとバージョン:(例 DL Seller 3.0.8、SKU Select 1.1.4)
    ご利用の親テーマとバージョン :(例 Welcart Basic 1.4.0)
    ご利用の子テーマとバージョン :(例 Welcart Beldad 1.1 )
    症状を確認したブラウザ:
    サーバー【重要】:(会社名、サービス名)
    ——————————————–

    どうぞよろしくお願いいたします。

15件の投稿を表示中 - 1 - 15件目 (全16件中)
  • このトピックに返信するにはログインが必要です。