PricingDocsBlog
Dashboard

Make your pricing work worldwide

Launch country-based offers on any website without rebuilding your checkout.

Try Evendeals free

14-day Pro trial

Table of contents

  • What Stripe does, and what it doesn't
  • Set it up by hand
  • Get the code to checkout
  • Decide what happens at renewal
  • Keep the code from spreading
  • Or let Evendeals run it
  • Test before you share it
Zahidul Islam - Author at Evendeals
Zahidul Islam

Co-Founder, Evendeals

Oct 22, 2026

· 6 min read

How to add regional pricing to Stripe Checkout

You sell with Stripe. Your $49 course gets visits from India and Brazil, but almost no sales from there. You'd happily sell it for less in those places. So you open the Stripe dashboard and look for a "price by country" setting.

There isn't one. Stripe can show prices in local currency, and it has solid coupons. But nothing in Stripe decides that India gets 40% off and Germany doesn't. You build that from a few parts.

The short version

Create one coupon per country group, put a promotion code on each, and turn on promotion codes in your checkout. Then show each visitor only the code for their country. Stripe enforces the discount. Your site decides who sees it.

What Stripe does, and what it doesn't

Start with the feature most people find first. Adaptive Pricing lets customers pay in their local currency in more than 150 countries. It converts your price at Stripe's rate, and the customer pays a 2 to 4% conversion fee on top. A $49 course still costs the equivalent of $49 in India. Just in rupees.

Manual currency prices go one step further. You can set a different amount for each currency. That helps when a currency maps to one country. It breaks down when it doesn't: dozens of countries pay in USD or EUR, and they don't all need the same price.

Stripe featureWhat it changesKnows the buyer's country?
Adaptive PricingCurrency, at the same price levelYes, for currency only
Manual currency pricesPrice per currencyNo, per currency
Coupons and promotion codesThe amount the buyer paysNo

So the lower price has to come from a coupon. And since coupons don't check location, the country part has to happen before checkout. If you want the longer version of this difference, see regional pricing vs currency conversion.

Three pieces make a country discount work in Stripe

  1. 1

    A coupon per country group

    For example 40% off, limited to the products you choose.

  2. 2

    A promotion code on top

    The code a buyer types or receives, with optional limits and an expiry.

  3. 3

    Show the code by location

    Your site shows each visitor the code for their country, or nothing.

Stripe applies the code. Deciding who sees it happens on your site, before checkout.

Set it up by hand

First, group countries by how much you want to discount. Three or four groups is plenty to start. Our guide to choosing PPP discount percentages walks through picking the numbers.

Next, create a coupon for each group in the Stripe dashboard. Choose percent off or a fixed amount. Use applies_to to limit it to the products that should get the discount, so a code for your course doesn't also discount your coaching package.

Then add a promotion code to each coupon. That's the text a buyer enters, likeINDIA40. Promotion codes can carry their own limits: a maximum number of redemptions, an expiry date, or first-time customers only. Stripe's discounts guide lists every option.

Last, make sure checkout accepts codes. Stripe Checkout only shows the code field when the session has allow_promotion_codes turned on. Payment Links have their own "allow promotion codes" setting.

Get the code to checkout

Asking buyers to copy a code works, but every extra step loses a few people. Two ways to skip it:

  • Payment Links: add ?prefilled_promo_code=INDIA40 to the link. Promotion codes must be enabled on that link, and the code can only use letters and numbers.
  • Checkout Sessions: if your server creates the session, pass the promotion code in discounts. Your server then needs to know which code this visitor should get.

Either way, the buyer still sees the discount line in Stripe's checkout before paying. No surprises.

Decide what happens at renewal

For subscriptions, the coupon's duration matters more than the percentage. Stripe offers three options: once, for a set number of months, or forever.

"Once" means a buyer in Brazil pays the regional price for the first month, then your full price. That can feel like a bait and switch if you didn't say so. "Forever" keeps the regional price on every renewal. Pick one on purpose and write it in your offer. Our post on regional pricing at renewal covers the tradeoffs.

Keep the code from spreading

A code shown only to visitors in India still works for anyone who types it. Stripe doesn't check where the buyer is. Once a code lands on a coupon site, people from anywhere can use it.

The fixes are boring and they work. Limit each code to the right products. Cap redemptions. Replace codes on a schedule, so an old one stops working. Our guide to reducing coupon abuse goes deeper.

Or let Evendeals run it

Doing this by hand for 100+ countries is a lot of bookkeeping. Evendeals connects to Stripe through Stripe's own sign-in, so there are no API keys to copy. Then:

  • You set a discount for each country group, as a percentage or a fixed amount.
  • Evendeals creates the coupons and promotion codes in your Stripe account, limited to the products you pick.
  • A banner on your site shows each visitor the code for their country.
  • On paid plans, codes rotate by time, redemptions, or views, so a leaked code expires.

Your existing Stripe coupons stay untouched. Evendeals marks its own with a recognizable prefix.

Test before you share it

Run one full purchase in Stripe test mode for each country group. Check that the right code shows, checkout accepts it, the total matches, and the receipt is right. For subscriptions, check the second invoice too. That's where duration mistakes show up.

Want the shortcut? Connect Stripe to Evendeals and set your first country group in a few minutes.

Older articleHow to review your first month of regional pricing

Make your pricing work worldwide

Launch country-based offers on any website without rebuilding your checkout.

Try Evendeals free

14-day Pro trial

Footer

Boost your sales by showing personalized discount banners and popups based on your customers location. Increase conversion rates by up to 30%.

X
Evendeals - Featured on Startup Fame

Product

  • How It Works
  • Use Cases
  • Pricing
  • Documentation
  • WordPress Plugin
  • Glossary
  • Global Price Index
  • Regional Pricing Calculator
  • Course Pricing Calculator
  • llms.txt
  • Affiliate
  • ParityDeals Alternative
  • Safe Screen Share

Support

  • Contact
  • Roadmap
  • Change Log
  • Request a Feature
  • System Status

Integrations

  • Any Website
  • Stripe
  • Lemon Squeezy
  • Dodo Payments
  • Creem
  • Polar
  • WooCommerce
  • FastSpring
  • Thinkific

Guides

  • WordPress
  • Webflow
  • Squarespace
  • Wix
  • Framer
  • Carrd
  • Teachable
  • Kajabi
  • Podia
  • LearnWorlds
  • EzyCourse
  • Circle
  • Heartbeat
  • Stan Store
  • Gumroad
  • Shopify
  • Elementor
  • Divi
  • Next.js

Legal

  • Privacy
  • Terms
  • Refund policy

© 2026 Evendeals. All rights reserved.