Checkout で顧客の電話番号を収集する
配送や請求のために電話番号を収集する必要がある場合は、Checkout で電話番号収集を有効にできます。電話番号は取引に必要な場合のみ収集します。電話番号の収集は、payment
および subscription
のモードセッションのすべてで有効にできます (setup
モードでは、電話番号の収集はサポートされていません)。このガイドでは、すでに Checkout が導入されていることを前提としています。まだ導入されていない場合は、ガイドをご覧ください。
電話番号の収集を有効にする
電話番号の収集を有効にするには、Checkout セッションを作成する際に、phone_number_collection[enabled]
を true
に設定します。
注
上記のコードサンプルは、payment
モードで電話番号の収集が有効化されたセッションを作成します。subscription
モードで電話番号の収集を有効にするには、subscription
モードのセッション作成リクエストで、緑でハイライトされたものと同じ変更を行います。
電話番号の収集が有効になっている場合、Checkout は、支払いフォームに「必須の」電話番号フィールドを追加します。配送先住所を収集する場合には、住所フィールドの下に電話番号フィールドが表示されます。それ以外の場合には、Checkout はメールアドレスの入力フィールドの下に電話番号のフィールドを表示します。顧客は 1 回のセッションで電話番号を 1 件のみ入力できます。
セッション後
セッション後の Customer オブジェクト、または Checkout Session オブジェクトから顧客の電話番号を取得できます。
- Customer (顧客): Checkout は、収集された電話番号を、Customer オブジェクトの
phone
プロパティーに保存します。これは、API で Customer オブジェクトを直接取得してプログラムでアクセスするか、Webhook でcustomer.created
イベントをリッスンして取得できます。また、顧客の電話番号をダッシュボードで表示することもできます。
- Checkout Session (Checkout セッション): 顧客の電話番号は、Checkout Session オブジェクトの
customer_details
ハッシュのcustomer_details.phone
にも保存されます。Checkout セッションが成功すると毎回、Stripe は、Checkout セッションオブジェクト (および電話番号) が含まれたcheckout.session.completed
イベントを送信します。これは、Webhook でリッスンできます。
既存の顧客の電話番号を収集する
phone
プロパティーが入力された既存の Customer (顧客) を Checkout Session (Checkout セッション) に渡すと、電話番号フィールドが事前入力されます。
顧客が電話番号を更新すると、この更新された値が Customer (顧客) オブジェクトの phone
プロパティーに保持され、以前に保存された電話番号が上書きされます。
カスタマーポータルを使用した電話番号の更新
カスタマーポータルでは、顧客が各自のアカウントを管理できます (電話番号の更新など)。