項目の数量を調整可能にする
顧客が Checkout 時に項目の数量を調整できるようにする方法をご紹介します。
各 Checkout Session の項目は、顧客が購入した商品を追跡します。顧客が Checkout 時に項目の数量を調整できるように Checkout Session を設定できます。
Payment Intents API
Payment Intents API を使用する場合は、項目の更新を手動でトラッキングして決済金額を変更するか、金額を調整した新しい PaymentIntent を作成する必要があります。
数量の調整を有効にするサーバー側
メモ
新しい項目の追加など、その他の項目の更新には、この実装は対応していません。
Checkout Session を作成する際、line_items に adjustable_quantity を設定して、顧客が Checkout 時に項目の数量を更新できるようにします。
adjustable_quantity.minimum と adjustable_quantity.maximum を設定することにより、指定できる最小 / 最大数量のデフォルト設定をカスタマイズできます。デフォルトでは、項目の調整可能な最小数量は 0、調整可能な最大数量は 99 です。adjustable_ には最大 999999 の値を指定できます。
Checkout では、項目が残り 1 つの場合、顧客はそれを削除できません。
項目の数量を更新するクライアント側
数量を増やすボタンが押された場合など、顧客の操作に応じて項目の数量を変更するには、updateLineItemQuantity を使用します。項目 ID と新しい数量を渡します。
完了した取引を処理するサーバー側
支払いが完了したら、確定済みの項目とその数量に対するリクエストを作成できます。顧客が項目を削除した場合、項目のレスポンスからも削除されます。完了済みの Checkout セッションを処理するイベントハンドラの作成方法については、フルフィルメントガイドをご覧ください。
メモ
イベントハンドラをテストするには、Stripe CLI をインストールし、stripe listen --forward-to localhost:4242/webhook を使用してイベントをローカルサーバーに転送します。