Shopify で商品をカート追加時、チェックアウト時の在庫引当ロジックの検証結果をご紹介します。
背景 Shopify の在庫引当ロジック
Shopify で商品をカート追加後に EC から購入した場合、在庫横取りされると困るため、在庫引当ロジックを検証しました。
在庫数のマイナスについて - Shopify Community の記事を検証した内容が本記事です。
また、似たような検証を Shopify POS で商品をカート追加時の在庫引当の検証結果 でご紹介してますので、併せてご覧ください。
Shopify の在庫引当ロジック検証 - Shopify Payments 編
検証手順 - Shopify Payments 編
- ブラウザA (Chrome) カートに在庫追加 -> 在庫数の確認
- ブラウザB (Safari) カートに在庫追加 -> 在庫数の確認
- ブラウザA (Chrome) Shopify Payments でチェックアウト [今すぐお支払い] -> 在庫数の確認
- ブラウザB (Safari) Shopify Payments でチェックアウト [今すぐお支払い] -> 在庫数の確認
検証結果 - Shopify Payments 編
- ブラウザA (Chrome) カートに在庫追加 -> 在庫数: 1
- ブラウザB (Safari) カートに在庫追加 -> 在庫数: 1
- ブラウザA (Chrome) Shopify Payments でチェックアウト [今すぐお支払い] -> 在庫数: 0
- ブラウザB (Safari) Shopify Payments でチェックアウト [今すぐお支払い] -> 在庫切れ -> 在庫数: 0
Shopify Payments の場合、チェックアウトページにて [今すぐお支払い] ボタンを同時にクリックしても理想通りに在庫が引き当てられ、片方は在庫切れになります。
Shopify の在庫引当ロジック検証 - 別の決済方法編
検証手順 - 別の決済方法編
- ブラウザA (Chrome) カートに在庫追加 -> 在庫数の確認
- ブラウザB (Safari) カートに在庫追加 -> 在庫数の確認
- ブラウザA (Chrome) Shopify Payments でチェックアウト -> 在庫数の確認
- ブラウザB (Safari) Amazon Pay でチェックアウト -> 在庫数の確認
検証結果 - 別の決済方法編
- ブラウザA (Chrome) カートに在庫追加 -> 在庫数: 1
- ブラウザB (Safari) カートに在庫追加 -> 在庫数: 1
- ブラウザA (Chrome) Shopify Payments でチェックアウト -> 在庫数: 0
- ブラウザB (Safari) Amazon Pay でチェックアウト -> 在庫数: -1
結論 Shopify Payments 以外の別の決済方法を利用すると、在庫数マイナスは発生する
調査結果から Shopify の仕様として、Shopify Payments 以外の別の決済方法で同時に決済されると決済エラーにはならず、過受注になり在庫数がマイナスになるケースは発生するようでした。
以上、Shopify で商品をカート追加時の在庫引当ロジックについて検証した、現場からお送りしました。