# Adaptive Pricing Let customers pay in their local currency with Adaptive Pricing. # Hosted Invoice Page Adaptive Pricing lets your customers pay in their local currency in more than [150 countries](https://docs.stripe.com/payments/currencies/localize-prices/adaptive-pricing.md?utm_source=d819#supported-currencies). With Adaptive Pricing, Stripe infers the presentment currency from the customer’s public IP address, then automatically calculates the localized price and handles all currency conversion. Use Adaptive Pricing to: - Display pricing in local currencies based on location - Calculate prices in real time using an exchange rate guaranteed for 24 hours - Facilitate compliance when presenting supported currencies #### Integration effort Complexity: 1/5 #### Fees Read our FAQ on [fees](https://support.stripe.com/questions/adaptive-pricing). ## Enable Adaptive Pricing in the Dashboard [Dashboard] Manage Adaptive Pricing for Hosted Invoice Pages in your [payment settings](https://dashboard.stripe.com/settings/adaptive-pricing) in the Dashboard. You can enable Adaptive Pricing in a sandbox and live mode. Disabling Adaptive Pricing affects Hosted Invoice Pages that have already been created. ## Configure local payment methods [Dashboard] Adaptive Pricing can increase the usage of local payment methods by ensuring customers have the option to pay in their local currency and with payment methods most relevant to them. You can configure which payment methods you accept for invoices in your [invoice settings](https://dashboard.stripe.com/settings/billing/invoice) or when creating an invoice. Adaptive Pricing only presents payment methods that support both the customer’s local currency and the currency that you issue the invoice in. ## Event destinations and reporting [Server-side] When you send an invoice, the [invoice.sent](https://docs.stripe.com/api/events/types.md?utm_source=d819#event_types-invoice.sent) event displays the amount and currency that you send the invoice in. After the invoice has been paid, use the invoice ID from the [invoice.payment_succeeded](https://docs.stripe.com/api/events/types.md?utm_source=d819#event_types-invoice.payment_succeeded) event to retrieve the associated payments for the invoice: #### JSON ```json { "object": {"id": "{{INVOICE_ID}}", "object": "invoice", "amount_paid": 1000, "currency": "usd" ... } } ``` Using the [v1/invoice_payments](https://docs.stripe.com/api/invoice-payment/list.md?utm_source=d819) 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}}' ``` If a customer pays in their local currency, the `PaymentIntent` object contains a `presentment_details` hash that includes the `presentment_amount` and `presentment_currency`. When an invoice is paid, there are [payment_intent.succeeded](https://docs.stripe.com/api/events/types.md?utm_source=d819#event_types-payment_intent.succeeded) events for each PaymentIntent associated with the invoice. These objects contain the `presentment_details` hash. The presentment amount and currency reflect what your customer paid in the local currency. #### JSON ```json { "id": "{{PAYMENT_INTENT_ID}}", "object": "payment_intent", "currency": "usd", "amount": 1000,"presentment_details": { "presentment_amount": 1370, "presentment_currency": "cad" } } ``` ## Testing To test local currency presentment on Hosted Invoice Page, create a [Customer](https://docs.stripe.com/api/customers/create.md?utm_source=d819) with a location-formatted customer email that includes a suffix in a `+location_XX` format in the local part of the email. `XX` must be a valid [two-letter ISO country code](https://www.nationsonline.org/oneworld/country_code_list.htm). For example, to test currency presentment for a customer in France, create a customer and issue an invoice to an email like `test+location_FR@example.com`. When you visit the URL for the Hosted Invoice Page sent to a location-formatted email, you see the option to pay in the local currency of the specified country. ![Creating a customer with a location-formatted email during invoice creation](https://b.stripecdn.com/docs-statics-srv/assets/adaptive_pricing_hip_customer.eb3b947172844c48105619355fc3b986.png) ## Restrictions Adaptive Pricing isn’t supported for Indian businesses or for invoices that accept Canadian pre-authorized debit. You must issue invoices in one of your settlement currencies. If you process payments through a platform, we require the invoice to be issued in the settlement currency of the merchant of record on the charge. On the Hosted Invoice Page, prices automatically convert to the correct amount. Invoices that aren’t supported by Adaptive Pricing continue to present prices in the currency that you issue the invoice in. ## Supported currencies Businesses in supported regions can automatically convert prices to the local currencies of their customers in the following markets: ### North America - AG - AW - BS - BB - BZ - BM - CA - KY - CR - DM - DO - GD - GT - HT - HN - MX - JM - PA - KN - LC - VC - TT - US ### South America - BR - BO - CO - CL - FK - GY - PY - PE - UY ### Europe - 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 ### Asia - 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 ### Oceania - AU - PF - NC - NZ - WF ### Africa - 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 ## Pricing - You pay 0% - Your customers pay 2–4% You don’t directly pay any additional Stripe fees for Adaptive Pricing, as all such fees are paid for by your customers. The Stripe-provided exchange rate you present to your customers includes a 2–4% conversion fee, increasing their purchase price by a corresponding amount. Stripe determines the fee, which varies for the purposes of increasing customer conversion. Your customer doesn’t pay this fee if they choose to pay in the currency you issued your invoice in, but their bank’s exchange rate and fees might apply. For detailed information about current Stripe fees, see our [pricing page](https://stripe.com/pricing). ## Exchange rate Stripe uses the mid-market exchange rate and applies a fee to guarantee the rate through settlement. Learn more about how Stripe handles [currency conversions](https://docs.stripe.com/currencies.md?utm_source=d819) and [Adaptive Pricing fees](https://support.stripe.com/questions/adaptive-pricing#:~:text=Adaptive%20Pricing%20is%20a%20Checkout,latest%20Stripe%2Dprovided%20exchange%20rates). ## Refunds You can issue a refund in the currency you issued your invoice in, and Stripe refunds your customer in the currency they used to make the payment. The refund uses the same exchange rate as the original transaction, so there are no extra costs for you, and your customer gets back the exact amount they paid. Learn more about how Stripe helps you manage [refunds](https://docs.stripe.com/refunds.md?utm_source=d819). ## See also - [Adaptive Pricing FAQ](https://support.stripe.com/questions/adaptive-pricing)