5
8 Comments

Best practices for Stripe international subscriptions?

I’ve noticed that the majority of my failed transactions are from international customers.

I’m order to try and retain their business I want to equip my subscriptions to accommodate international currencies. The problem is, I don’t see a way to “automatically” accept in any supported currency.

What are best practices for Stripe subscriptions with many different currencies? Do I need to make a new product for each currency, then make a new sales page for each currency?

I know this has to be a problem someone here has solved. Any help is appreciated!

  1. 2

    Unfortunately, pricing in local currency won't reduce failed international transactions in Stripe. It may reduce friction when people are deciding whether to buy or not, but it has no bearing on whether the transaction fails or succeeds. It's not the currency that determines whether the transaction is "foreign" or not - it's the location of your company. I know this from years as a Canadian company, charging in US dollars to US customers, many of whom still had failed transactions or foreign transaction fees despite us charging in their local currency.

    Many credit cards either restrict foreign purchases entirely, or they will fail because they've flagged them as fraudulent, and the CC owner needs to respond and let them know that it's not fraud, and then the next time it will go through.

    At small scale, the best solution here is to reach out to those people manually (set a Zapier zap up to let you know when a transaction fails or similar) and ask if you can help. Sometimes a different card will help, sometimes sending a PayPal invoice manages to succeed where Stripe fails.

    Larger scale, the best solution is to have subsidiaries in countries where you do most of your business with local banking and credit card processors so that your transactions are no longer considered international, but that's likely a long way off for most of us.

    1. 2

      This is great! Thanks for the insight!

  2. 2

    The only issue I have with that in my WBE Space is with clients from India. For some reason, it is not possible to collect money from them monthly. What I normally do is to ask them to pay for one year right away

    1. 1

      It's real issue here in India. Hope so genius people will solve this issue. :)

  3. 2

    Hey @yousaiditchewie! 👋

    I can give you some insight on how I solved this problem while working at mojo where we had 15 different pricing based on the country.
    As a side note, this is a problem that first occurred to us when we reached 5M$ ARR and beyond, and it's often more trouble than worth to support multiple currencies if you don't have product market fit yet 😊

    There is no real "automatic way" of handling internationalisation, but you can provide a naive implementation quite easily.
    First of all, you need to create at least one price per country on your product page in Stripe (one product, multiple prices). See here if you don't know how to create multiple prices for your existing product.

    Once this is done, the tricky part is to display the right price based on the location of the user. The easiest way to do this is to based yourself on the ip address of the user (if server side) or on the geolocalisation API (from the browser or client side) to detect his country. Once it's done, you just have to switch over your existing prices and create a checkout session with the correct one or the default one if the country is not supported yet.

    Note that this is not particularly precise and can be easily bypassed, but for 95% of the users, it does the trick.

    Regarding the sales page, it kinda depends on the time and effort you wanna put into this. The easiest is probably just to customise the price value with the specific currency based on localisation of the user and apply it at checkout, but leave the rest of the content in English (or whatever language you write your content in).
    If you've more time and availability, you can decline the complete page in multiple languages based on the market you wanna target, so you can benefits from local SEO/ASO.

    Internationalisation is often a Serie B-C problem for startups (if we talk in terms of funding size), so as I said previously, it's really rare you encounter these kind of problems in your indiehacking journey and you shouldn't put too much time covering this too early 😉

    1. 3

      Wow this is very insightful, and really helpful. Thank you!

      I was digging through Stripe documentation, and my initial findings were leading me to the same solution you described — determining the customer’s location and presenting the proper price/currency accordingly. That’s the work I was trying to avoid with a simpler solution, so it’s really validating that I was on the right track.

      And thanks for pushing me towards product-market-fit prior to solving the internationalization issue. It’s tempting when I see potential customers bounce due to not offering subscriptions in their currency, but it does seem like the lift is quiet high for the stage of my product.

      Thanks again!

      1. 2

        We are working on internationalisation for PriceWell. Let me know if you are interested in trying out the beta Jacob.

        1. 1

          Hi Mattew, your product looks good to me. Keep growing.

Trending on Indie Hackers
How I Launched My AI Startup with a Warm Email List and Zero Marketing Budget? 31 comments Here's how we got our first 200 users 29 comments What you can learn from Marc Lou 20 comments Reaching $100k MRR Organically in 12 months 14 comments Software Developers Can Build Beautiful Software 13 comments Worst Hire - my lessons 11 comments