住所と電話番号を収集する
1 回限りの決済フロー内で住所と電話番号を収集する方法をご紹介します。
請求先または配送先の詳細な住所を収集するには、Address Element を使用します。詳細な住所の収集は、税金の計算に使用される場合などに必要になります。Payment Element は、支払いを完了するために必要な請求先住所情報のみを収集しますが、他の請求詳細を収集するように設定することもできます。
Address Element を使用するその他の理由は次のとおりです。
Stripe は、収集した住所情報と決済手段を組み合わせて、PaymentIntent を作成します。
住所の詳細を収集するクライアント側
Address Element を使用して、クライアント側で住所の詳細を収集する準備が整いました。
住所の詳細を取得するクライアント側
change イベントをリッスンして住所の詳細を取得できます。ユーザーが Element のいずれかのフィールドを更新すると、change イベントが発生します。
Payment Element を使用したシングルページの決済フローでは、Checkout Session の 確定 時に、Address Element が自動的に配送先または請求先情報を渡します。
Address Element を設定するクライアント側
ニーズに合わせて Address Element を設定できます。
オートコンプリート
Address Element には、Google Maps API Places Library を使用する住所のオートコンプリート機能が組み込まれています。デフォルトでは、以下のいずれかの条件が満たされると、Stripe が提供する Google Maps API キーを使用したオートコンプリートが有効になります。
- Payment Element が Address Element と同じ Elements グループにマウントされた単一ページの決済フロー。
- アクティブな Link セッションで Address Element を使用する決済フロー。
住所フォームを事前入力する
updateBillingAddress または updateShippingAddress を使用して、住所を事前入力できます。
住所の詳細を検証するクライアント側
Stripe は、住所の完全性を検証して、個々の不完全な住所フィールドに「このフィールドは未入力です」などのエラーを表示するいくつかの方法を用意しています。
PaymentIntent または SetupIntent で Address Element を使用する場合は、それぞれ stripe.confirmPayment または stripe.confirmSetup を使用して Intent を完了します。検証エラーがある場合は、Address Element に表示されます。
複数ページの決済フローなど、その他のユースケースでは、Checkout Session を確定することで住所を検証できます。Checkout Session では、Address Element が自動的に検証され、検証エラーが表示されます。
オプション外観をカスタマイズするクライアント側
Address Element をページに追加した後、ページの他の部分のデザインに合わせて外観をカスタマイズできます。詳細については、Appearance API のページを参照してください。

Address Element を他の Elements とともに使用する
ページで複数の Address Elements (各モード 1 つずつ) を使用して、配送先住所と請求先住所の両方を収集できます。
配送先住所と請求先住所を両方収集する必要があり、Address Element を 1 つだけ使用する場合は、配送モードで Address Element を使用し、Payment Element を使用して必要な請求先住所の詳細のみを収集します。
Address Element を他の Element とともに使用すると、PaymentIntent または SetupIntent の確定時に一部の動作を自動で実行できます。PaymentIntent または SetupIntent の確定時に Address Element の完全性が検証され、検証エラーが発生した場合はフィールドごとにエラーが表示されます。