Choice AvailabilityとPaymentフィールドの連携による裏側の処理の仕組み

Choice AvailabilityとPaymentフィールドの連携による裏側の処理の仕組み

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

たとえば、ホリデーキャンペーンとして、顧客が次の 3 種類のギフトボックスを、在庫数限定で注文できるとします。

  • Cozy Cocoa ボックス

  • Winter Wellness Kit

  • Festive Treat Pack

フォームには次の項目が含まれます。

  • 上記のギフトボックスを選択できる選択項目(選択肢ごとの在庫数が設定されています)。

  • 選択したボックスに対してオンライン支払いが必須となるように設定された支払い項目。

フォームは、顧客が希望するボックスを選択すると、サポートされている決済サービスを利用したオンライン支払いに進み、支払いを完了しないと注文が確定しないように設定されています。

複数の顧客でも、スムーズな管理

ここでは、Anna と Ben という 2 人の顧客が、ほぼ同じタイミングでこのフォームを利用するケースを考えてみます。処理の流れを手順ごとに見ていきましょう。

Anna が Cozy Cocoa ボックスを注文する

Anna がフォームを開くと、次のように表示されます。

  1. Cozy Cocoa ボックス – 残り 5 個
  2. Winter Wellness Kit – 残り 3 個
  3. Festive Treat Pack – 残り 4 個
Anna はCozy Cocoa ボックスを選択して送信するをクリックし、支払いページにリダイレクトされます。
Zoho Forms はこの時点で、1 個分の Cozy Cocoa ボックスを一時的に確保します。これにより、他のすべてのユーザーに表示される Cozy Cocoa ボックスの在庫数は 4 個に減ります。
この一時確保により、Anna が支払い情報を入力している間、他のユーザーが同じボックスを予約できないようにします。

Ben も Cozy Cocoa ボックスを希望している場合  

Ben は 1 分後にフォームを開きます。
画面には次のように表示されます。
  1. Cozy Cocoa ボックス – 残り 4 個
  2. Winter Wellness Kit – 残り 3 個
  3. Festive Treat Pack – 残り 4 個
Ben も Cozy Cocoa ボックスを選択し、決済サービスでの支払いに進みます。
ここでも一時的な在庫確保が行われ、他のユーザーに表示される Cozy Cocoa ボックスの在庫数は 3 個に減ります。
つまり、Anna と Ben の 2 人が支払い処理中の間、元の 5 個のうち 3 個だけが、他のユーザーに在庫として表示される状態になります。

Anna が支払いを完了する

Anna がボックスの支払いを正常に完了すると、Anna 分のボックスの一時確保が正式な確保(注文確定)に切り替わります。
Cozy Cocoa ボックスの利用可能在庫はそのまま 3 個となり(Anna の注文は確定済み)、Anna には注文内容が記載された確認メールが送信されます。

Ben の支払いが失敗する

Ben のクレジットカードが拒否された場合や、セッションがタイムアウトした場合を考えます。
Zoho Forms は Ben の一時確保をただちに解除します。Cozy Cocoa ボックスの在庫表示は 4 個に戻り、他の顧客がそのボックスを予約できるようになります。
Zoho Forms は、このように選択肢を先着順で顧客に割り当てます。

  

顧客

操作

商品ステータス


支払い
ステータス

その他の利用可能数

Anna

フォームを開き、Cozy Cocoa を 1 箱選択

まだ変更なし(表示のみ)

-

5

Anna

送信する]をクリックし、支払いページにリダイレクトされる

1 箱が一時的に確保される

処理中

4

Ben

フォームを開く

更新された在庫数が表示される

-

4

Ben

Cozy Cocoa を 1 箱選択し、支払いに進む

その他 1 箱が一時的に確保される

処理中

3

Anna

支払いを正常に完了する

一時確保が確定し、箱が予約済みになる

完了

3

Ben

支払いに失敗(カード却下またはセッションタイムアウト)

一時確保が解除される

失敗

4

 

この組み合わせがうまく機能する理由  

  1. 在庫が限られた商品のダブルブッキングや売り過ぎを防ぎます。
  2. 公平性を保てます。あるユーザーがすでに箱の支払い処理中の場合、支払いが完了する前にその他のユーザーがその箱を「横取り」することはできません。
  3. 注文は、支払いが正常に完了した後にのみ確定されます。
  4. 失敗した支払いまたは放棄された支払いは、即座に在庫を解放します。その他のユーザーは遅延なく商品を購入できます。
  5. 在庫を手動で監視したり更新したりする必要がありません。

フォームのすべてのエントリーセクションで、選択肢の在庫ステータスと支払いステータスを確認できます。