Shopify カート追加、チェックアウト時の在庫引当の検証結果

Tadashi Shigeoka ·  Tue, April 12, 2022

Shopify で商品をカート追加時、チェックアウト時の在庫引当ロジックの検証結果をご紹介します。

Shopify | ショッピファイ

背景 Shopify の在庫引当ロジック

Shopify で商品をカート追加後に EC から購入した場合、在庫横取りされると困るため、在庫引当ロジックを検証しました。

在庫数のマイナスについて - Shopify Community の記事を検証した内容が本記事です。

また、似たような検証を Shopify POS で商品をカート追加時の在庫引当の検証結果 でご紹介してますので、併せてご覧ください。

Shopify の在庫引当ロジック検証 - Shopify Payments 編

検証手順 - Shopify Payments 編

  1. ブラウザA (Chrome) カートに在庫追加 -> 在庫数の確認
  2. ブラウザB (Safari) カートに在庫追加 -> 在庫数の確認
  3. ブラウザA (Chrome) Shopify Payments でチェックアウト [今すぐお支払い] -> 在庫数の確認
  4. ブラウザB (Safari) Shopify Payments でチェックアウト [今すぐお支払い] -> 在庫数の確認

検証結果 - Shopify Payments 編

  1. ブラウザA (Chrome) カートに在庫追加 -> 在庫数: 1
  2. ブラウザB (Safari) カートに在庫追加 -> 在庫数: 1
  3. ブラウザA (Chrome) Shopify Payments でチェックアウト [今すぐお支払い] -> 在庫数: 0
  4. ブラウザB (Safari) Shopify Payments でチェックアウト [今すぐお支払い] -> 在庫切れ -> 在庫数: 0

Shopify Payments の場合、チェックアウトページにて [今すぐお支払い] ボタンを同時にクリックしても理想通りに在庫が引き当てられ、片方は在庫切れになります。

Shopify の在庫引当ロジック検証 - 別の決済方法編

検証手順 - 別の決済方法編

  1. ブラウザA (Chrome) カートに在庫追加 -> 在庫数の確認
  2. ブラウザB (Safari) カートに在庫追加 -> 在庫数の確認
  3. ブラウザA (Chrome) Shopify Payments でチェックアウト -> 在庫数の確認
  4. ブラウザB (Safari) Amazon Pay でチェックアウト -> 在庫数の確認

検証結果 - 別の決済方法編

  1. ブラウザA (Chrome) カートに在庫追加 -> 在庫数: 1
  2. ブラウザB (Safari) カートに在庫追加 -> 在庫数: 1
  3. ブラウザA (Chrome) Shopify Payments でチェックアウト -> 在庫数: 0
  4. ブラウザB (Safari) Amazon Pay でチェックアウト -> 在庫数: -1

結論 Shopify Payments 以外の別の決済方法を利用すると、在庫数マイナスは発生する

調査結果から Shopify の仕様として、Shopify Payments 以外の別の決済方法で同時に決済されると決済エラーにはならず、過受注になり在庫数がマイナスになるケースは発生するようでした。

以上、Shopify で商品をカート追加時の在庫引当ロジックについて検証した、現場からお送りしました。