現地通貨に自動換算する
地域的な考慮事項
Adaptive Pricing is available to businesses in the following regions:
顧客に現地通貨の価格と現地で普及している決済手段を表示すると、購入完了率と売上の向上に繋がります。
Checkout と Payment Links で Adaptive Pricing を有効にすると、顧客には現地通貨の価格とともに、元の通貨の非継続な価格が表示されます。この価格には Stripe が提供する為替レートが適用され、対応可能な決済手段も表示されます。
Adaptive Pricing を有効にする
支払いの設定で Adaptive Pricing を有効にします。Adaptive Pricing は、テスト環境と本番環境で有効にすることができます。Adaptive Pricing を無効にしても、すでに変換されている Checkout セッションに影響することはありません。
Webhook とレポート作成
Adaptive Pricing を有効にすると、Webhook の処理やレポートなど、実装の一部に影響する場合がります。実装を見直し、Webhooks と PaymentIntent オブジェクトが現地通貨に対応できることを確認してください。
- デフォルトの通貨で支払った顧客を確認するには、Checkout Session オブジェクトで currency_conversion ハッシュを使用します。
- 手数料の適用後に受け取った金額を確認するには、BalanceTransactions API を使用します。
対応可能な通貨
Merchants in supported regions can automatically convert prices to the local currencies of their customers in the following markets:
- オーストリア
- オーストラリア
- ベルギー
- ブラジル
- ブルガリア
- カナダ
- 中国
- クロアチア
- キプロス
- チェコ共和国
- デンマーク
- エストニア
- フィンランド
- フランス
- ドイツ
- ギリシャ
- 香港
- ハンガリー
- インド
- アイルランド
- イスラエル
- イタリア
- 日本
- ラトビア
- リトアニア
- ルクセンブルク
- マルタ
- メキシコ
- オランダ
- ニュージーランド
- ノルウェー
- フィリピン
- ポーランド
- ポルトガル
- ルーマニア
- サウジアラビア
- シンガポール
- スロバキア
- スロベニア
- スペイン
- スウェーデン
- スイス
- 台湾
- アラブ首長国連邦
- イギリス
- アメリカ
現地の決済手段
Checkout と Payment Links では、現地通貨と互換性がある普及率の高い決済手段が顧客に提示されます。
たとえば、オランダに所在する顧客の場合、Checkout と Payment Links では価格がユーロに換算され、 オランダで普及している決済手段 (iDEAL など) も提示されます。
受け付ける決済手段は決済手段の設定で設定できます。
制限事項
Adaptive Pricing では、価格の通貨がデフォルトの売上処理通貨 (USD、CAD、EUR、または GBP) と同じである必要があります。価格は購入時に自動的に換算されます。これは、作成され、価格 ID で参照される価格と、Checkout セッションの作成時に price_data に合わせて調整された価格に適用されます。
以下に該当する Checkout セッションには Adaptive Pricing を適用できません。
- 手動で定義した多通貨の価格が表示される場合。
subscription
モードの場合。application_fee_amount
、on_behalf_of
、transfer_data
などの Connect パラメーターを使用している場合。capture_method
はmanual
にして使用します。- 作成時に currency 値を設定している場合。
Checkout セッションが Adaptive Pricing に対応していない場合は、価格を設定した元の通貨で価格が表示されます。
為替レート
Stripe は、売上処理の際に為替レートの市場中央値を使用して適用し、Checkout セッションの期間 (最長 24 時間) のレートを保証します。その間の為替レートの変動が 2% を超えた場合、Stripe は入金の計算に変動後の為替レートを使用することがあります。
Stripe が通貨換算を処理する方法の詳細をご確認ください。
返金
Stripe は、Stripe が提供する最新の為替レートを使用して顧客が支払った通貨で返金を支払います。このため、為替レートの変化に応じて返金充当額を増減しなければならない場合があります。
返金の例
わかりやすくするため、この例では Stripe の手数料を考慮していません。次に一例を紹介します。
- Checkout を使用して 100 USD の商品を販売し、Adaptive Pricing を有効にしているアメリカのビジネスであるとします。
- カナダの顧客は、表示されたお客様の Checkout ページで 1 USD に対して 1.37 CAD の為替レートで現地通貨に換算された価格 137 CAD を確認して、購入を完了できます。
- Stripe は支払いを処理し、137 CAD を 100 USD に換算してお客様の売上処理通貨で入金します。
- その後、為替レートが 1 USD あたり 1.40 CAD に変化したときに、顧客に全額を返金します。
- Stripe はお客様のアカウントから 97.86 USD を引き落とし、1 USD あたり 1.40 CAD のレートで換算して、137 CAD の返金を送金します。
Stripe が返金の管理をサポートする方法をご紹介します。
手数料
自動換算された取引に適用される Stripe の標準取引手数料
- カードまたは決済手段の手数料
- 国際的なカードまたは決済手段の手数料 (該当する場合)
- 両替手数料
これらの手数料の詳細については、Stripe の料金体系ページをご覧ください。
Webhook とレポート作成
ユーザーが選択した通貨に応じて、Checkout Session オブジェクトと、その基盤となる PaymentIntent オブジェクトの両方が、選択された通貨と金額を反映して自動的に更新されます。ユーザーが現地通貨で支払うと、Checkout Session オブジェクトの通貨と総額は現地通貨になり、デフォルト通貨に換算したユーザーの支払い額を反映する currency_conversion
ハッシュが組み込まれます。手数料の適用後にアカウントに入金される金額については、詳細をご覧ください。
checkout.session.completed Webhook イベントには、currency_conversion
ハッシュが含まれ、このハッシュの source_currency
には amount_total
と amount_subtotal
が含まれています。金額にはソース通貨に換算した顧客の支払い額が反映されています。
{ "id":
, "object": "event", "type": "checkout.session.completed", "data": { "object": { "id":'{{EVENT_ID}}', "object": "checkout.session", "currency": "cad", "amount_total": 2055,'{{SESSION_ID}}'
テスト
Checkout、Payment Links、料金表で現地通貨での表示をテストするには、メールアドレスの地域部分に +location_XX
形式のサフィックスを含めて、顧客のメールアドレスに地域に応じた形式を設定して渡します。XX
は有効な 2 桁の ISO 国コードにする必要があります。
たとえば、フランスで顧客への通貨の表示をテストする場合は、test+location_FR@example.com
のようにしてメールアドレスを渡します。
Checkout セッション、Payment Links、または地域に応じた形式のメールアドレスで作成された料金表にアクセスすると、指定された国の顧客への表示と同じ通貨が表示されます。
Checkout
Checkout セッションの作成時に customer_email として地域に応じた形式でメールアドレスを渡します。
Customer (顧客) を作成して、+location_XX
サフィックスが含まれるメールアドレスを指定することもできます。
Checkout で顧客の現地通貨を表示できるようになると、Checkout Session (Checkout セッション) オブジェクトが変わります。currency
、payment_method_types
、amount_total
などのフィールドに現地の通貨と価格が反映されます。
Payment Links
Payment Links の場合、prefilled_email
URL パラメーターとして地域に応じた形式のメールアドレスを渡して、さまざまな国の顧客に対する通貨表示をテストします。
料金表
料金表では、customer-email 属性として地域に応じた形式のメールアドレスを渡して、さまざまな国の顧客への通貨の表示をテストします。