住所の入力をリッスンする
イベントリスナーを使用して、カスタマイズされた方法で使用できるように住所を収集します。
住所 Element を使用すると、顧客から国内および国外の配送先住所や請求先住所を収集できます。
住所の詳細を収集するクライアント側
住所 Element を使用して、クライアントに関する住所の詳細を収集する準備が整いました。
住所の詳細を取得するクライアント側
change イベントをリッスンして、住所の詳細を取得できます。Element のいずれかのフィールドをユーザーが更新すると、change
イベントが発生します。
あるいは、getValue を使用できます。
const handleNextStep = async () => { const addressElement = elements.getElement('address'); const {complete, value} = await addressElement.getValue(); if (complete) { // Allow user to proceed to the next step // Optionally, use value to store the address details } };
Payment Element を使用したシングルページの決済フローでは、PaymentIntent
または SetupIntent
の確定時に、住所 Element が自動的に配送先または請求先情報を渡します。
複数ページの決済フローでは、次のステップに移動する前に、手動で PaymentIntent を更新するか Customer オブジェクトを更新し、change
イベントや getValue
メソッドで受け取った住所の詳細を設定できます。
Address Element を設定するクライアント側
ニーズに合わせて住所 Element を設定できます。
オートコンプリート
住所 Element には、Google Maps API Places Library を使用する住所のオートコンプリート機能が組み込まれています。デフォルトでは、以下のいずれかの条件が満たされると、Stripe が提供する Google Maps API キーを使用したオートコンプリートが有効になります。
- Payment Element が住所 Element と同じ Elements グループにマウントされているシングルページの決済フロー。
- 有効な Link セッションで住所 Element を使用する決済フロー。
その他すべてのシナリオでAddress Element のオートコンプリートを有効にするには、mode
を google_
に設定して autocomplete (オートコンプリート) オプションを使用します。apiKey
に、Place API の使用を許可するように設定された、お客様独自の Google Maps API キーを設定します。この Google Maps API キーは、Stripe が提供する Google Maps API キーを利用できない場合にのみ使用されます。
注
CSP をデプロイし、独自の Google Maps API キーを使用したオートコンプリートを有効にする場合は、connect-src
および script-src
ディレクティブに https://maps.
を含めます。最新の CSP 要件については、Google Maps API 公式ガイドをご覧ください。
住所フォームを事前入力する
Address Element は、defaultValues を受け付けます。これにより、ページの読み込み時に住所フォームに事前入力できます。すべての値が事前入力された Address Element は、次のように表示されます。
その他のオプション
オプションの詳細なリストについては、Stripe.js をご覧ください。
住所の詳細を検証するクライアント側
Stripe は、住所の完全性を検証して、個々の不完全な住所フィールドに「フィールドが未入力です」などのエラーを表示するいくつかの方法を用意しています。
Payment Intent や Setup Intent とともに Address Element を使用している場合は、それぞれ stripe.confirmPayment または stripe.confirmSetup を使用して支払いを完了すると、検証エラーがある場合に Address Element に表示されます。
複数ページの決済フローなど、その他のユースケースでは、getValue を使用して検証エラーを Address Element に表示します。