Best practices for international susbscriptions
We've seen a lot indiehackers asking about how to handle international subscriptions in their app with Stripe.
International subscription is an important matter you may want to manage if your product is available in several countries, especially with several currencies.
For those of you that are looking for a TL;DR, here it is:
- Internationalisation is often more trouble than it's worth for small companies. If you don't have product market fit, it's safer to ignore this and price in the major currency in your market ($ or € generally).
- Internationalisation is not only a matter of converting the price in another currency. It's also about understanding the related market, cultural change and cost of living in the targeted country.
For those interested in the bigger picture, here is my experience on how I solved this problem while working at mojo where we had 15 different pricing based on the country of users.
There is no real "automatic way" of handling internationalisation, but you can provide a naive implementation quite easily.
Update your payment workflow: one price per country
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.
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 geolocation API (from the browser or client side) to detect his country.
Once it's done, you have to switch over your existing prices and create a Stripe 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.
Update sales and landing pages
The second part is about creating proper landing/sales pages.
This is actually what makes the work difficult and the reason most startup wait a lot before tackling internationalisation.
The easiest way is 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).
It works fine and can be done quite easily, but doing so does not take into account country based specificity (culture, language...).
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.
It can take a lot of time because correct localisation needs proper language and culture understanding so you can use the correct terms that will trigger user conversion.
How to choose between currencies depending on countries
Should I sell my product in the currency of the country or should I keep one single currency (which one)?
If you started internationalisation, you are currently facing this problem.
For small business, $ or € is enough as worldwide business currency.
You can pick one according to the country where your customer target lives (or is susceptible to live).
The trouble to create different currency, handle the VAT, the change and the price by itself according to the living standard are too complicated.
The benefit would not be big enough in comparison to the effort. Not worth it, keep your energy to promote your business in your country instead of trying to sell it somewhere else.
If your business is growing and you can't do without different currency, take into account each specificities, especially the price by itself.
As you might know, a luxury product in low cost of living country have a different price in high cost of living countries.
Take a look on your main competitors if they are active in these countries. It can give you important information: geographical segmentation, market share, type of product, distribution channel, communication channel, etc.
If they can reach customers, you too: the cake is big enough for everyone.
Internationalisation is often a Serie B-C problem for startups (if we talk in terms of funding size), 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, but if you're willing to, here is a simple way 😉.