# Adaptive Pricing Adaptive Pricing を使用して、顧客が現地通貨で支払えるようにします。 # ホスト型ページ > This is a ホスト型ページ for when payment-ui is stripe-hosted. View the full page at https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing?payment-ui=stripe-hosted. Adaptive Pricing により、顧客は [150 カ国](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md#supported-currencies)以上で現地通貨で決済できます。Adaptive Pricing では、Stripe が機械学習を使用して最も関連性の高い取引通貨を決定し、ローカライズされた価格を自動的に計算し、すべての通貨換算を処理します。 Adaptive Pricing は以下の用途に使用します。 - 店舗に応じた現地通貨で料金を表示する - 24 時間保証の為替レートを使用してリアルタイムで価格を計算する - 現地通貨が必須である決済手段をを利用可能にする - サポート対象の通貨を提示することでスムーズに法令を遵守する #### 導入作業 Complexity: 1/5 #### 手数料 [料金とよくあるご質問](https://support.stripe.com/questions/adaptive-pricing)に記載されている情報をご覧ください。 ## ダッシュボードで Adaptive Pricing を有効にする [ダッシュボード] Payment Links では Adaptive Pricing が常に有効です。ダッシュボードの[決済設定](https://dashboard.stripe.com/settings/adaptive-pricing)で、Checkout 時の Adaptive Pricing を管理してください。 サンドボックスと本番環境で Adaptive Pricing を有効にできます。Adaptive Pricing を無効にしても、すでに換算されている Checkout Sessions や顧客の現地通貨で支払い済みの有効なサブスクリプションには影響しません。 ## 地域固有の決済手段を設定する [ダッシュボード] Adaptive Pricing では、顧客が現地通貨で支払うオプションと、顧客に最も適した支払い方法を選択できるようにすることで、現地の支払い方法の使用状況を増やすことができます。たとえば、オランダの E コマース取引の 70% で iDEAL が使用されていますが、iDEAL は EUR でのみ機能します。動的な支払い方法を使用する場合は、[支払い方法設定](https://dashboard.stripe.com/settings/payment_methods) で受け付ける支払い方法を設定できます。Adaptive Pricing では、現地通貨での表示が必要な以下の支払い方法を利用できます。 - Amazon Pay - Bancontact - BLIK - EPS - iDEAL - Link - P24 - Pix - 韓国のカード - MB WAY - Naver Pay - Kakao Pay - PAYCO - PayPal - Revolut Pay - Samsung Pay - TWINT - WeChat Pay - Klarna (EU+ イギリスのみ) - UPI > クロスボーダーサブスクリプションの場合、Adaptive Pricing はカード決済、Link、Apple Pay、Google Pay のみをサポートします。 ## イベントの送信先とレポート [サーバー側] Checkout Session オブジェクトと基になる `PaymentIntent` オブジェクトは、顧客が支払った統合通貨と金額を反映します。金額は、価格に指定した通貨です。 顧客が現地通貨で支払う場合、[checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) イベントと [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) イベントには、`presentment_amount` と `presentment_currency` を含む `presentment_details` ハッシュが含まれます。 #### JSON ```json { "id": "{{EVENT_ID}}", "object": "event", "type": "checkout.session.completed", "data": { "object": { "id": "{{SESSION_ID}}", "object": "checkout.session", "currency": "usd", "amount_total": 1000, "amount_subtotal": 1000,"presentment_details": { "presentment_amount": 1370, "presentment_currency": "cad" } } } } ``` 継続サブスクリプション請求書が現地通貨で支払われる場合、請求書に関連付けられた各 `PaymentIntent` の [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) イベントには、`presentment_amount` と `presentment_currency` を含む `presentment_details` ハッシュが含まれます。 #### JSON ```json { "id": "{{PAYMENT_INTENT_ID}}", "object": "payment_intent", "currency": "usd", "amount": 1000,"presentment_details": { "presentment_amount": 1370, "presentment_currency": "cad" } } ``` 現地通貨で継続サブスクリプションが作成されると、[customer.subscription.created](https://docs.stripe.com/api/events/types.md#event_types-customer.subscription.created) イベントには、オフセッションの決済に使用される現地通貨を反映する `presentment_currency` を含む `presentment_details` ハッシュが含まれます。 ## テスト Checkout と Payment Links の現地通貨表示をテストするには、場所形式の顧客メールで、メールのローカル部分に `+location_XX` 形式のサフィックスを含むメールアドレスを渡します。`XX` は有効[な 2 文字の ISO 国コード](https://www.nationsonline.org/oneworld/country_code_list.htm)である必要があります。 たとえば、フランスで顧客への通貨の表示をテストする場合は、`test+location_FR@example.com` のようにしてメールアドレスを渡します。 地域に応じた形式のメールアドレスで作成された、Checkout セッションまたは Payment Links の URL にアクセスすると、指定した国で顧客に表示されるのと同じ通貨が表示されます。 ### Checkout をテストする 特定の国から Checkout のシミュレーションを行うため、Checkout セッションの作成時に [customer_email](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-customer_email) として地域に応じた形式でメールアドレスを渡します。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d return_url="https://example.com/return" \ --data-urlencode customer_email="test+location_FR@example.com" ``` [Customer (顧客)](https://docs.stripe.com/api/customers/create.md) を作成して、`+location_XX` サフィックスが含まれるメールアドレスを指定することもできます。Stripe テストカードは通常どおり動作します。 ### Payment Links をテストする Payment Links の場合、`prefilled_email` [URL パラメーター](https://docs.stripe.com/payment-links/customize.md#customize-checkout-with-url-parameters)として地域に応じた形式のメールアドレスを渡して、さまざまな国の顧客に対する通貨表示をテストします。 ## 制限 Adaptive Pricing は、Payment Intents API で Elements を使用しているビジネスではご利用いただけません。 Adaptive Pricing はインドのビジネスではサポートされていません。 また、Adaptive Pricing では、[価格の通貨](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-currency)が売上処理通貨のいずれかである必要があります。価格は購入時に自動的に換算されます。これは、作成して価格 ID で参照する[価格](https://docs.stripe.com/products-prices/manage-prices.md#prices-create)と、Checkout セッションの作成時に [price_data](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-price_data) を使用して作成するインライン価格に適用されます。 プラットフォームを介して決済を処理する場合、プラットフォームの実装通貨を、その支払いのマーチャントオブレコードの売上処理通貨にする必要があります。 Adaptive Pricing は、次のような Checkout セッションには適用されません。 - 価格の [currency_options](https://docs.stripe.com/payments/checkout/localize-prices/manual-currency-prices.md) に、顧客の現地通貨がすでに定義されている価格が含まれます。たとえば、ある価格で EUR と GBP の `currency_options` が設定されている場合、Adaptive Pricing では EUR や GBP には換算されませんが、CAD や JPY などの他の通貨には引き続き換算できます。 - [capture_method](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-capture_method) は `manual` にして使用します。 - [カスタムの金額](https://docs.stripe.com/payments/checkout/pay-what-you-want.md)を使用します。 Adaptive Pricing が対応していない Checkout セッションでは、料金を設定した元の通貨で料金が提示されます。 ## サポートされている通貨 サポート対象地域の企業は、以下の市場の顧客の現地通貨に価格を自動的に換算できます。 ### 北アメリカ - AG - AW - BS - BB - BZ - BM - CA - KY - CR - DM - DO - GD - GT - HT - HN - MX - JM - PA - KN - LC - VC - TT - US ### 南米 - BR - BO - CO - CL - FK - GY - PY - PE - UY ### ヨーロッパ - AL - AD - AT - BE - BA - HR - CY - CZ - DK - EE - FI - FR - DE - GI - GR - HU - IS - IE - IT - LV - LT - LU - MT - MC - MD - ME - NL - MK - NO - PL - PT - RO - SM - RS - SK - SI - ES - SE - CH - UA - GB - VA ### アジア - AF - AM - AZ - BD - BN - KH - CN - GE - HK - IN - ID - IL - JP - KZ - KG - MO - MY - MV - MN - NP - PK - PH - QA - SA - SG - KR - LK - TW - TJ - TH - TR - AE - UZ - VN - YE ### オセアニア - AU - PF - NC - NZ - WF ### アフリカ - AO - DZ - BJ - BW - BF - BI - CM - CV - CF - TD - CI - DJ - GQ - GA - GM - GN - GW - KE - LR - MG - ML - MU - MA - MZ - NA - NE - CG - RW - SH - ST - SN - ZA - TZ - TG - UG - ZM ## 料金体系 - お客様の決済は 0% - 顧客の負担は 2 ~ 4% Adaptive Pricing の追加の Stripe 手数料はすべて顧客によって支払われるため、お客様が直接支払うことはありません。Stripe が顧客に提供する為替レートには、換算手数料が 2 ~ 4% 含まれ、それに応じて購入価格が引き上げられます。手数料は Stripe が決定しますが、これは顧客の換算率を高めるという目的で異なります。顧客が 導入通貨 で支払うことを選択した場合、この手数料は支払いませんが、お客様の銀行の為替レートと手数料が適用される場合があります。Stripe の最新の手数料については、Stripe の[料金体系ページ](https://stripe.com/pricing)をご覧ください。 ## 為替レート Stripe は市場の為替レートを使用し、手数料を適用して売上処理までのレートを保証します。 [通貨換算](https://docs.stripe.com/currencies.md)と [Adaptive Pricing 手数料](https://support.stripe.com/questions/adaptive-pricing#:~:text=Adaptive%20Pricing%20is%20a%20Checkout,latest%20Stripe%2Dprovided%20exchange%20rates)の処理方法については、これらの記事をご確認ください。 ## 返金 システムで使用している通貨のうち、で返金を行う場合、Stripe は顧客が支払いに使用した通貨に換算して返金処理します。返金には元の取引と同じ通貨換算レートが適用されるため、追加コストは発生せず、顧客は支払った金額と同額の返金を受け取ることができます。 Stripe が[返金](https://docs.stripe.com/refunds.md)の管理をサポートする方法をご紹介します。 # 埋め込み型ページ > This is a 埋め込み型ページ for when payment-ui is embedded-form. View the full page at https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing?payment-ui=embedded-form. Adaptive Pricing により、顧客は [150 カ国](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md#supported-currencies)以上で現地通貨で決済できます。Adaptive Pricing では、Stripe が機械学習を使用して最も関連性の高い取引通貨を決定し、ローカライズされた価格を自動的に計算し、すべての通貨換算を処理します。 Adaptive Pricing は以下の用途に使用します。 - 店舗に応じた現地通貨で料金を表示する - 24 時間保証の為替レートを使用してリアルタイムで価格を計算する - 現地通貨が必須である決済手段をを利用可能にする - サポート対象の通貨を提示することでスムーズに法令を遵守する #### 導入作業 Complexity: 1/5 #### 手数料 [料金とよくあるご質問](https://support.stripe.com/questions/adaptive-pricing)に記載されている情報をご覧ください。 ## ダッシュボードで Adaptive Pricing を有効にする [ダッシュボード] ダッシュボードの[決済設定](https://dashboard.stripe.com/settings/adaptive-pricing)で、決済用の Adaptive Pricing を管理します。 サンドボックスと本番環境で Adaptive Pricing を有効にできます。Adaptive Pricing を無効にしても、顧客の現地通貨ですでに換算されている Checkout Sessions や有効なサブスクリプションには影響しません。 ## 地域固有の決済手段を設定する [ダッシュボード] Adaptive Pricing では、顧客が現地通貨で支払うオプションと、顧客に最も適した支払い方法を選択できるようにすることで、現地の支払い方法の使用状況を増やすことができます。たとえば、オランダの E コマース取引の 70% で iDEAL が使用されていますが、iDEAL は EUR でのみ機能します。動的な支払い方法を使用する場合は、[支払い方法設定](https://dashboard.stripe.com/settings/payment_methods) で受け付ける支払い方法を設定できます。Adaptive Pricing では、現地通貨での表示が必要な以下の支払い方法を利用できます。 - Amazon Pay - Bancontact - BLIK - EPS - iDEAL - Link - P24 - Pix - 韓国のカード - MB WAY - Naver Pay - Kakao Pay - PAYCO - PayPal - Revolut Pay - Samsung Pay - TWINT - WeChat Pay - Klarna (EU+ イギリスのみ) - UPI > クロスボーダーサブスクリプションの場合、Adaptive Pricing はカード決済、Link、Apple Pay、Google Pay のみをサポートします。 ## イベントの送信先とレポート [サーバー側] Checkout Session オブジェクトと基になる `PaymentIntent` オブジェクトは、顧客が支払った統合通貨と金額を反映します。金額は、価格に指定した通貨です。 顧客が現地通貨で支払う場合、[checkout.session.completed](https://docs.stripe.com/api/events/types.md#event_types-checkout.session.completed) イベントと [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) イベントには、`presentment_amount` と `presentment_currency` を含む `presentment_details` ハッシュが含まれます。 #### JSON ```json { "id": "{{EVENT_ID}}", "object": "event", "type": "checkout.session.completed", "data": { "object": { "id": "{{SESSION_ID}}", "object": "checkout.session", "currency": "usd", "amount_total": 1000, "amount_subtotal": 1000,"presentment_details": { "presentment_amount": 1370, "presentment_currency": "cad" } } } } ``` 継続サブスクリプション請求書が現地通貨で支払われる場合、請求書に関連付けられた各 `PaymentIntent` の [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) イベントには、`presentment_amount` と `presentment_currency` を含む `presentment_details` ハッシュが含まれます。 #### JSON ```json { "id": "{{PAYMENT_INTENT_ID}}", "object": "payment_intent", "currency": "usd", "amount": 1000,"presentment_details": { "presentment_amount": 1370, "presentment_currency": "cad" } } ``` 現地通貨で継続サブスクリプションが作成されると、[customer.subscription.created](https://docs.stripe.com/api/events/types.md#event_types-customer.subscription.created) イベントには、オフセッションの決済に使用される現地通貨を反映する `presentment_currency` を含む `presentment_details` ハッシュが含まれます。 ## テスト 現地の通貨の提示をテストするには、メールアドレスの現地の部分に `+location_XX` 形式のサフィックスを含めた、地域に応じた形式の顧客メールアドレスを渡します。`XX` は有効な [2 文字の ISO 国コード](https://www.nationsonline.org/oneworld/country_code_list.htm)である必要があります。 例えば、フランスの顧客に対する通貨の提示をテストするには、`test+location_FR@example.com` などのメールアドレスを渡します。地域に応じた形式のメールアドレスで作成された Checkout セッションには、指定した国と同じ通貨が表示されます。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=embedded_page \ -d return_url="https://example.com/return" \ --data-urlencode customer_email="test+location_FR@example.com" ``` [Customer](https://docs.stripe.com/api/customers/create.md) を作成し、それら用に `+location_XX` サフィックスを含むメールアドレスを指定することもできます。Stripe テストカードは通常どおり機能します。 ## 制限 Adaptive Pricing は、Payment Intents API で Elements を使用しているビジネスではご利用いただけません。 Adaptive Pricing はインドのビジネスではサポートされていません。 また、Adaptive Pricing では、[価格の通貨](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-currency)が売上処理通貨のいずれかである必要があります。価格は購入時に自動的に換算されます。これは、作成して価格 ID で参照する[価格](https://docs.stripe.com/products-prices/manage-prices.md#prices-create)と、Checkout セッションの作成時に [price_data](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-price_data) を使用して作成するインライン価格に適用されます。 プラットフォームを介して決済を処理する場合、プラットフォームの実装通貨を、その支払いのマーチャントオブレコードの売上処理通貨にする必要があります。 Adaptive Pricing は、次のような Checkout セッションには適用されません。 - 価格の [currency_options](https://docs.stripe.com/payments/checkout/localize-prices/manual-currency-prices.md) に、顧客の現地通貨がすでに定義されている価格が含まれます。たとえば、ある価格で EUR と GBP の `currency_options` が設定されている場合、Adaptive Pricing では EUR や GBP には換算されませんが、CAD や JPY などの他の通貨には引き続き換算できます。 - [capture_method](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-capture_method) は `manual` にして使用します。 - [カスタムの金額](https://docs.stripe.com/payments/checkout/pay-what-you-want.md)を使用します。 Adaptive Pricing が対応していない Checkout セッションでは、料金を設定した元の通貨で料金が提示されます。 ## サポートされている通貨 サポート対象地域の企業は、以下の市場の顧客の現地通貨に価格を自動的に換算できます。 ### 北アメリカ - AG - AW - BS - BB - BZ - BM - CA - KY - CR - DM - DO - GD - GT - HT - HN - MX - JM - PA - KN - LC - VC - TT - US ### 南米 - BR - BO - CO - CL - FK - GY - PY - PE - UY ### ヨーロッパ - AL - AD - AT - BE - BA - HR - CY - CZ - DK - EE - FI - FR - DE - GI - GR - HU - IS - IE - IT - LV - LT - LU - MT - MC - MD - ME - NL - MK - NO - PL - PT - RO - SM - RS - SK - SI - ES - SE - CH - UA - GB - VA ### アジア - AF - AM - AZ - BD - BN - KH - CN - GE - HK - IN - ID - IL - JP - KZ - KG - MO - MY - MV - MN - NP - PK - PH - QA - SA - SG - KR - LK - TW - TJ - TH - TR - AE - UZ - VN - YE ### オセアニア - AU - PF - NC - NZ - WF ### アフリカ - AO - DZ - BJ - BW - BF - BI - CM - CV - CF - TD - CI - DJ - GQ - GA - GM - GN - GW - KE - LR - MG - ML - MU - MA - MZ - NA - NE - CG - RW - SH - ST - SN - ZA - TZ - TG - UG - ZM ## 料金体系 - お客様の決済は 0% - 顧客の負担は 2 ~ 4% Adaptive Pricing の追加の Stripe 手数料はすべて顧客によって支払われるため、お客様が直接支払うことはありません。Stripe が顧客に提供する為替レートには、換算手数料が 2 ~ 4% 含まれ、それに応じて購入価格が引き上げられます。手数料は Stripe が決定しますが、これは顧客の換算率を高めるという目的で異なります。顧客が 導入通貨 で支払うことを選択した場合、この手数料は支払いませんが、お客様の銀行の為替レートと手数料が適用される場合があります。Stripe の最新の手数料については、Stripe の[料金体系ページ](https://stripe.com/pricing)をご覧ください。 ## 為替レート Stripe は市場の為替レートを使用し、手数料を適用して売上処理までのレートを保証します。 [通貨換算](https://docs.stripe.com/currencies.md)と [Adaptive Pricing 手数料](https://support.stripe.com/questions/adaptive-pricing#:~:text=Adaptive%20Pricing%20is%20a%20Checkout,latest%20Stripe%2Dprovided%20exchange%20rates)の処理方法については、これらの記事をご確認ください。 ## 返金 システムで使用している通貨のうち、で返金を行う場合、Stripe は顧客が支払いに使用した通貨に換算して返金処理します。返金には元の取引と同じ通貨換算レートが適用されるため、追加コストは発生せず、顧客は支払った金額と同額の返金を受け取ることができます。 Stripe が[返金](https://docs.stripe.com/refunds.md)の管理をサポートする方法をご紹介します。 # 決済エレメント > This is a 決済エレメント for when payment-ui is embedded-components. View the full page at https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing?payment-ui=embedded-components. > Adaptive Pricing は、決済 Elements でのみサポートされています。Adaptive Pricing は Payment Intents API ではサポートされていません。 Adaptive Pricing により、顧客は [150 カ国](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md#supported-currencies)以上で現地通貨で決済できます。Adaptive Pricing では、Stripe が顧客のパブリック IP アドレスから取引通貨を推測し、ローカライズされた価格を自動的に計算し、すべての通貨換算を処理します。 Adaptive Pricing は以下の用途に使用します。 - [Currency Selector Element](https://docs.stripe.com/elements/currency-selector-element.md) を使用し、地域に応じた料金を現地通貨で表示する - 24 時間保証の為替レートを使用してリアルタイムで価格を計算する - 現地通貨が必須である決済手段をを利用可能にする - サポート対象の通貨を提示することでスムーズに法令を遵守する #### 導入作業 Complexity: 2/5 #### 手数料 [料金とよくあるご質問](https://support.stripe.com/questions/adaptive-pricing)に記載されている情報をご覧ください。 #### UI のカスタマイズ 決済ページの任意の場所に [Currency Selector Element](https://docs.stripe.com/elements/currency-selector-element.md) を配置します。 ## ダッシュボードで Adaptive Pricing を有効にする [ダッシュボード] ダッシュボードの[決済設定](https://dashboard.stripe.com/settings/adaptive-pricing)で、決済用の Adaptive Pricing を管理します。サンドボックスと本番環境で Adaptive Pricing を有効にできます。Adaptive Pricing を無効にしても、すでに変換されている Checkout Sessions には影響しません。 ## 地域に合わせた料金設定と表示形式 [クライアント側] 決済ページ全体で、選択した通貨に従って、項目、配送料、割引、税金、合計など、価格を一貫して表示することが重要です。 Adaptive Pricing で埋め込みコンポーネントを使用する場合、Adaptive Pricing が有効であれば、埋め込みコンポーネントの [Session オブジェクト](https://docs.stripe.com/js/custom_checkout/session_object)に換算後の金額を含めることができます。サイトを訪れる買い手の国の通貨と換算額がセッションに表示されるよう、システムを設計する必要があります。このワークフローの内容は、[session.total.total.amount](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-total-total-amount) などの事前設定されたフィールドに依存します。Stripe API で返される [Checkout Session](https://docs.stripe.com/api/checkout/sessions/object.md) オブジェクトの通貨は、[presentment_details](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-presentment_details) の顧客コンテキストが使用されている Stripe システムの通貨のまま維持されます。また、埋め込みコンポーネントの [Session オブジェクト](https://docs.stripe.com/js/custom_checkout/session_object)の通貨と直接一致するとは限りません。 #### HTML + JS [Session オブジェクト](https://docs.stripe.com/js/custom_checkout/session_object)は、UI で直接使用できる書式設定された通貨値を提供します。 ```javascript const { actions } = await checkout.loadActions(); const { total } = actions.getSession(); // Display the formatted amounts in your UI document.getElementById('order-total').textContent = total.total.amount; ``` #### React [useCheckout](https://docs.stripe.com/js/react_stripe_js/checkout/use_checkout) フックは、UI で直接使用できる書式設定された通貨値を提供します。 ```jsx import React from 'react'; import {useCheckout} from '@stripe/react-stripe-js/checkout'; const OrderSummary = () => { const checkoutState = useCheckout(); if (checkoutState.type === 'success') { // Display the formatted amounts in your UI return (
Total: {checkoutState.checkout.total.total.amount}
); } }; ``` ## Currency Selector Element のレンダリング [クライアント側] [Currency Selector Element](https://docs.stripe.com/elements/currency-selector-element.md) は、Adaptive Pricing の機能をサポートする埋め込み UI コンポーネントです。これは注文合計額の近くに表示されます。 > 貴社または顧客の地域に合わせて設定した料金に、適用される法律を遵守する責任は貴社が負います。Elements と Adaptive Pricing を併用する場合は Currency Selector Element をレンダリングする必要があります。貴社のビジネスに応じたアドバイスについては、貴社の法律顧問に相談することをお勧めします。 #### HTML + JS Currency Selector Element をマウントするコンテナ DOM 要素を作成します。次に、[checkout.createCurrencySelectorElement](https://docs.stripe.com/js/custom_checkout/create_currency_selector_element)を使用して Currency Selector Element のインスタンスを作成し、CSS セレクターまたはコンテナ DOM 要素を提供して[element.mount](https://docs.stripe.com/js/element/mount)を呼び出してマウントします。[currencyOptions](https://docs.stripe.com/js/custom_checkout/session_object#custom_checkout_session_object-currencyOptions) が入力されている場合のみ Currency Selector Element を作成することを決定できます。`currencyOptions`がない場合、通貨セレクターエレメントがマウントされていても、何も表示されません。 ```html
``` ```javascript const currencySelectorElement = checkout.createCurrencySelectorElement(); currencySelectorElement.mount('#currency-selector'); ``` #### React `CheckoutElementsProvider` 内に `CurrencySelectorElement` コンポーネントをマウントします。 [currencyOptions](https://docs.stripe.com/js/react_stripe_js/checkout/use_checkout#react_use_checkout-currencyOptions) が設定されているときにのみ `CurrencySelectorElement` をマウントするように選択できます。`currencyOptions` がなく、`CurrencySelectorElement` がマウントされている場合は、何も表示されません。 ```jsx import React from 'react'; import {CurrencySelectorElement} from '@stripe/react-stripe-js/checkout'; const OrderSummary = () => { return ( ); }; ``` ### デザインのベストプラクティス 決済ページ向けに、設定可能な **Currency Selector Element** を用意しています。セレクターを配置する場所を選択する際には、次のベストプラクティスに従ってください。 - 選択した通貨によって利用可能な決済手段に影響が及ぶ可能性があるため、**Currency Selector** は支払い情報を入力する場所の近く、理想としては **Payment Element** の真上に配置してください。 - 最初の時点で **Payment Element** が表示されない場合 (複数ステップのフローがあるか、ページの下部にあるため)、**通貨セレクター**を合計金額の表示の近くに配置します。 - [Express Checkout Element](https://docs.stripe.com/elements/express-checkout-element.md) を使用している場合は、Express Checkout Element の上に Currency Selector Element を配置し、顧客が請求される通貨を把握できるようにすることをお勧めします。 - これらのヒントを、すべての画面サイズのページレイアウトに適用してください。 ![Payment Element の上に配置された Currency Selector Element](https://b.stripecdn.com/docs-statics-srv/assets/adaptive-pricing-do-illustration.d74714dab5286f4a75521ba5b35b4a3c.png) > #### すべきこと > > 通貨セレクターを Payment Element の上に配置します。カードのみを受け付ける場合は、Payment Element のすぐ下に配置することもできます。 ## Adaptive Pricing の統合準備完了のマークを付ける [クライアント側] [価格のローカライズと書式設定](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md#localize-prices)を行い、[通貨セレクターを表示](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md#render-currency-selector-element)したら、決済の初期化時に [adaptivePricing.allowed](https://docs.stripe.com/js/custom_checkout/init#custom_checkout_init-options-adaptivePricing-allowed) パラメーターを設定して、Adaptive Pricing の準備完了のマークを付けます。 #### HTML + JS ```js const checkout = stripe.initCheckoutElementsSdk({ clientSecret, // Mark your integration as ready for Adaptive PricingadaptivePricing: { allowed: true } }); // Use `checkout` to build your checkout page ``` #### React ```jsx >")} options={{ clientSecret, // Mark your integration as ready for Adaptive PricingadaptivePricing: {allowed: true} }} > {/* your components here */} ``` 統合の準備完了としてマークされたら、ダッシュボードの[決済設定](https://dashboard.stripe.com/settings/adaptive-pricing)で、または[adaptive_pricing.enabled](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-adaptive_pricing-enabled)パラメーターを使用して、[Checkout Session](https://docs.stripe.com/api/checkout/sessions.md)ごとに Adaptive Pricing を管理できます。 ## 地域固有の決済手段を設定する [ダッシュボード] Adaptive Pricing では、顧客が現地通貨で支払うオプションと、顧客に最も適した支払い方法を選択できるようにすることで、現地の支払い方法の使用状況を増やすことができます。たとえば、オランダの E コマース取引の 70% で iDEAL が使用されていますが、iDEAL は EUR でのみ機能します。動的な支払い方法を使用する場合は、[支払い方法設定](https://dashboard.stripe.com/settings/payment_methods) で受け付ける支払い方法を設定できます。Adaptive Pricing では、現地通貨での表示が必要な以下の支払い方法を利用できます。 - Amazon Pay - Bancontact - BLIK - EPS - iDEAL - Link - P24 - Pix - 韓国のカード - MB WAY - Naver Pay - Kakao Pay - PAYCO - PayPal - Revolut Pay - Samsung Pay - TWINT - WeChat Pay - Klarna (EU+ イギリスのみ) - UPI > クロスボーダーサブスクリプションの場合、Adaptive Pricing はカード決済、Link、Apple Pay、Google Pay のみをサポートします。 ## テスト 現地通貨の表示をテストするには、[Stripe.js テストアシスタント](https://docs.stripe.com/sdks/stripejs-testing-assistant.md#elements-inspector)を使用して顧客の場所をシミュレーションし、さまざまな国での導入の動作を確認します。 Checkout で顧客の現地通貨を表示できるようになると、[Checkout Session (Checkout セッション)](https://docs.stripe.com/api/checkout/sessions/object.md) オブジェクトが変わります。`currency`、`payment_method_types`、`amount_total` などのフィールドに現地の通貨と価格が反映されます。 ### 顧客メールによるテスト 場所形式の顧客メールを使用して、現地通貨での表示をテストすることもできます。 現地の部分に `+location_XX` 形式のサフィックスを含めた、地域に応じた形式の顧客メールアドレスを渡します。`XX` は有効な[ 2 文字の ISO 国コード](https://www.nationsonline.org/oneworld/country_code_list.htm)である必要があります。 たとえば、フランスの顧客の通貨表示をテストするには、`test+location_FR@example.com` のようなメールを渡します。場所形式のメールで作成された決済セッションを使用して、通貨選択 Element と支払い Element が設定された決済画面を表示すると、指定された国の顧客と同じ通貨が表示されます。 Checkout Session を作成する際は、特定の国をシミュレーションするために、所在地形式のメールアドレスを [customer_email](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-customer_email) として渡します。 ```curl curl https://api.stripe.com/v1/checkout/sessions \ -u <>: \ -d "line_items[0][price]"="{{PRICE_ID}}" \ -d "line_items[0][quantity]"=1 \ -d mode=payment \ -d ui_mode=elements \ -d return_url="https://example.com/return" \ --data-urlencode customer_email="test+location_FR@example.com" ``` [Customer (顧客)](https://docs.stripe.com/api/customers/create.md) を作成して、`+location_XX` サフィックスが含まれるメールアドレスを指定することもできます。Stripe テストカードは通常どおり動作します。 ## 制限 Adaptive Pricing は、Payment Intents API で Elements を使用しているビジネスではご利用いただけません。 Adaptive Pricing はインドのビジネスではサポートされていません。 また、Adaptive Pricing では、[価格の通貨](https://docs.stripe.com/api/checkout/sessions/object.md#checkout_session_object-currency)が売上処理通貨のいずれかである必要があります。価格は購入時に自動的に換算されます。これは、作成して価格 ID で参照する[価格](https://docs.stripe.com/products-prices/manage-prices.md#prices-create)と、Checkout セッションの作成時に [price_data](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-line_items-price_data) を使用して作成するインライン価格に適用されます。 プラットフォームを介して決済を処理する場合、プラットフォームの実装通貨を、その支払いのマーチャントオブレコードの売上処理通貨にする必要があります。 Adaptive Pricing は、次のような Checkout セッションには適用されません。 - 価格の [currency_options](https://docs.stripe.com/payments/checkout/localize-prices/manual-currency-prices.md) に、顧客の現地通貨がすでに定義されている価格が含まれます。たとえば、ある価格で EUR と GBP の `currency_options` が設定されている場合、Adaptive Pricing では EUR や GBP には換算されませんが、CAD や JPY などの他の通貨には引き続き換算できます。 - [capture_method](https://docs.stripe.com/api/checkout/sessions/create.md#create_checkout_session-payment_intent_data-capture_method) は `manual` にして使用します。 - [カスタムの金額](https://docs.stripe.com/payments/checkout/pay-what-you-want.md)を使用します。 Adaptive Pricing が対応していない Checkout セッションでは、料金を設定した元の通貨で料金が提示されます。 詳細については、[サポートページ](https://support.stripe.com/questions/adaptive-pricing)をご確認ください。 ## サポートされている通貨 サポート対象地域の企業は、以下の市場の顧客の現地通貨に価格を自動的に換算できます。 ### 北アメリカ - AG - AW - BS - BB - BZ - BM - CA - KY - CR - DM - DO - GD - GT - HT - HN - MX - JM - PA - KN - LC - VC - TT - US ### 南米 - BR - BO - CO - CL - FK - GY - PY - PE - UY ### ヨーロッパ - AL - AD - AT - BE - BA - HR - CY - CZ - DK - EE - FI - FR - DE - GI - GR - HU - IS - IE - IT - LV - LT - LU - MT - MC - MD - ME - NL - MK - NO - PL - PT - RO - SM - RS - SK - SI - ES - SE - CH - UA - GB - VA ### アジア - AF - AM - AZ - BD - BN - KH - CN - GE - HK - IN - ID - IL - JP - KZ - KG - MO - MY - MV - MN - NP - PK - PH - QA - SA - SG - KR - LK - TW - TJ - TH - TR - AE - UZ - VN - YE ### オセアニア - AU - PF - NC - NZ - WF ### アフリカ - AO - DZ - BJ - BW - BF - BI - CM - CV - CF - TD - CI - DJ - GQ - GA - GM - GN - GW - KE - LR - MG - ML - MU - MA - MZ - NA - NE - CG - RW - SH - ST - SN - ZA - TZ - TG - UG - ZM ## 料金体系 - お客様の決済は 0% - 顧客の負担は 2 ~ 4% Adaptive Pricing の追加の Stripe 手数料はすべて顧客によって支払われるため、お客様が直接支払うことはありません。Stripe が顧客に提供する為替レートには、換算手数料が 2 ~ 4% 含まれ、それに応じて購入価格が引き上げられます。手数料は Stripe が決定しますが、これは顧客の換算率を高めるという目的で異なります。顧客が 導入通貨 で支払うことを選択した場合、この手数料は支払いませんが、お客様の銀行の為替レートと手数料が適用される場合があります。Stripe の最新の手数料については、Stripe の[料金体系ページ](https://stripe.com/pricing)をご覧ください。 ## 為替レート Stripe は市場の為替レートを使用し、手数料を適用して売上処理までのレートを保証します。 [通貨換算](https://docs.stripe.com/currencies.md)と [Adaptive Pricing 手数料](https://support.stripe.com/questions/adaptive-pricing#:~:text=Adaptive%20Pricing%20is%20a%20Checkout,latest%20Stripe%2Dprovided%20exchange%20rates)の処理方法については、これらの記事をご確認ください。 ## 返金 システムで使用している通貨のうち、で返金を行う場合、Stripe は顧客が支払いに使用した通貨に換算して返金処理します。返金には元の取引と同じ通貨換算レートが適用されるため、追加コストは発生せず、顧客は支払った金額と同額の返金を受け取ることができます。 Stripe が[返金](https://docs.stripe.com/refunds.md)の管理をサポートする方法をご紹介します。 # オンライン請求書ページ > This is a オンライン請求書ページ for when payment-ui is invoices. View the full page at https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing?payment-ui=invoices. Adaptive Pricing により、顧客は [150 カ国](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md#supported-currencies)以上で現地通貨で決済できます。Adaptive Pricing では、Stripe が顧客のパブリック IP アドレスから取引通貨を推測し、ローカライズされた価格を自動的に計算し、すべての通貨換算を処理します。 Adaptive Pricing は以下の用途に使用します。 - 店舗に基づいて現地通貨で料金を表示する - 24 時間保証の為替レートを使用してリアルタイムで価格を計算する - サポート対象の通貨を提示することでスムーズに法令を遵守する #### 導入作業 Complexity: 1/5 #### 手数料 [手数料](https://support.stripe.com/questions/adaptive-pricing)に関するよくあるご質問をお読みください。 ## ダッシュボードで Adaptive Pricing を有効にする [ダッシュボード] ダッシュボードの[支払い設定](https://dashboard.stripe.com/settings/adaptive-pricing)で、Checkout の Adaptive Pricing を管理します。Adaptive Pricing は、サンドボックスと本番環境で有効にできます。Adaptive Pricing を無効にすると、すでに作成されているオンライン請求書ページに影響します。 ## 地域固有の決済手段を設定する [ダッシュボード] Adaptive Pricing を導入すると、顧客が最も関連性の高い決済手段を使って現地通貨で支払うことができるため、地域固有の決済手段の利用が増える可能性があります。[請求書の設定](https://dashboard.stripe.com/settings/billing/invoice)で、または請求書を作成するときに、請求書で受け付ける決済手段を設定できます。 Adaptive Pricing では、顧客の現地通貨と請求書を発行する通貨の両方をサポートする決済手段のみが提示されます。 ## イベントの送信先とレポート [サーバー側] 請求書を送信すると、[invoice.sent](https://docs.stripe.com/api/events/types.md#event_types-invoice.sent) イベントに、請求書を送信する際の金額と通貨が表示されます。 請求書の支払いが完了したら、[invoice.payment_succeeded](https://docs.stripe.com/api/events/types.md#event_types-invoice.payment_succeeded) イベントの請求書 ID を使用して、請求書に関連付けられた支払いを取得します。 #### JSON ```json { "object": {"id": "{{INVOICE_ID}}", "object": "invoice", "amount_paid": 1000, "currency": "usd" ... } } ``` [v1/invoice_payments](https://docs.stripe.com/api/invoice-payment/list.md) API を使用する: #### curl ```bash curl --request GET \ --url https://api.stripe.com/v1/invoice_payments \ -u sk_test_123: \ --data 'expand[]=data.payment.payment_intent' \ --data limit=20 \ --data invoice='{{INVOICE_ID}}' ``` 顧客が現地通貨で支払う場合、`PaymentIntent` オブジェクトには `presentment_amount` と `presentment_currency` を含む `presentment_details` ハッシュが含まれます。 請求書が支払われると、その請求書に関連付けられている PaymentIntent ごとに [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md#event_types-payment_intent.succeeded) イベントが発生します。これらのオブジェクトには、`presentment_details` ハッシュが含まれています。 取引金額と通貨には、顧客が現地通貨で支払った金額が反映されます。 #### JSON ```json { "id": "{{PAYMENT_INTENT_ID}}", "object": "payment_intent", "currency": "usd", "amount": 1000,"presentment_details": { "presentment_amount": 1370, "presentment_currency": "cad" } } ``` ## テスト オンライン請求書ページで現地の通貨の提示をテストするには、メールアドレスの現地の部分に `+location_XX` 形式のサフィックスを含めた、地域に応じた形式の顧客メールアドレスを持つ [Customer](https://docs.stripe.com/api/customers/create.md) を作成します。`XX` は有効な [2 文字の ISO 国コード](https://www.nationsonline.org/oneworld/country_code_list.htm)である必要があります。 例えば、フランスの顧客に対する通貨の表示をテストするには、顧客を作成し、`test+location_FR@example.com` などのメールに請求書を発行します。 場所形式のメールに送信されたオンライン請求書ページの URL にアクセスすると、指定した国の現地通貨で支払うオプションが表示されます。 ![請求書作成中に場所形式のメールアドレスを使用して顧客を作成する](https://b.stripecdn.com/docs-statics-srv/assets/adaptive_pricing_hip_customer.eb3b947172844c48105619355fc3b986.png) ## 制限 Adaptive Pricing は、インドのビジネスや、カナダのプレオーソリデビットを受け付ける請求書ではサポートされていません。 請求書は、いずれかの売上処理通貨で発行する必要があります。プラットフォームでの決済を処理する場合、請求書は決済に記載されているマーチャントオブレコードの売上処理通貨で発行する必要があります 。オンライン請求書ページでは、価格は自動的に正しい金額に変換されます。 Adaptive Pricing が対応していない請求書セッションでは、引き続き請求書を発行した通貨で料金が提示されます。 ## サポートされている通貨 サポート対象地域の企業は、以下の市場の顧客の現地通貨に価格を自動的に換算できます。 ### 北アメリカ - AG - AW - BS - BB - BZ - BM - CA - KY - CR - DM - DO - GD - GT - HT - HN - MX - JM - PA - KN - LC - VC - TT - US ### 南米 - BR - BO - CO - CL - FK - GY - PY - PE - UY ### ヨーロッパ - AL - AD - AT - BE - BA - HR - CY - CZ - DK - EE - FI - FR - DE - GI - GR - HU - IS - IE - IT - LV - LT - LU - MT - MC - MD - ME - NL - MK - NO - PL - PT - RO - SM - RS - SK - SI - ES - SE - CH - UA - GB - VA ### アジア - AF - AM - AZ - BD - BN - KH - CN - GE - HK - IN - ID - IL - JP - KZ - KG - MO - MY - MV - MN - NP - PK - PH - QA - SA - SG - KR - LK - TW - TJ - TH - TR - AE - UZ - VN - YE ### オセアニア - AU - PF - NC - NZ - WF ### アフリカ - AO - DZ - BJ - BW - BF - BI - CM - CV - CF - TD - CI - DJ - GQ - GA - GM - GN - GW - KE - LR - MG - ML - MU - MA - MZ - NA - NE - CG - RW - SH - ST - SN - ZA - TZ - TG - UG - ZM ## 料金体系 - お客様の決済は 0% - 顧客の負担は 2 ~ 4% Adaptive Pricing の追加の Stripe 手数料はすべて顧客によって支払われるため、お客様が直接支払うことはありません。Stripe が顧客に提供する為替レートには、換算手数料が 2 ~ 4% 含まれ、それに応じて購入価格が引き上げられます。手数料は Stripe が決定しますが、これは顧客の換算率を高めるという目的で異なります。顧客が 請求書を発行した通貨 ## 為替レート Stripe は市場の為替レートを使用し、手数料を適用して売上処理までのレートを保証します。 [通貨換算](https://docs.stripe.com/currencies.md)と [Adaptive Pricing 手数料](https://support.stripe.com/questions/adaptive-pricing#:~:text=Adaptive%20Pricing%20is%20a%20Checkout,latest%20Stripe%2Dprovided%20exchange%20rates)の処理方法については、これらの記事をご確認ください。 ## 返金 システムで使用している通貨のうち、請求書発行時の通貨で返金を行う場合、Stripe は顧客が支払いに使用した通貨に換算して返金処理します。返金には元の取引と同じ通貨換算レートが適用されるため、追加コストは発生せず、顧客は支払った金額と同額の返金を受け取ることができます。 Stripe が[返金](https://docs.stripe.com/refunds.md)の管理をサポートする方法をご紹介します。 ## See also - [Adaptive Pricing に関するよくあるご質問](https://support.stripe.com/questions/adaptive-pricing)