As you expand internationally, you’ll want to look at supporting currencies and payment methods that are relevant to the regions you are targeting. While this may not be an immediate concern when you are primarily operating in your home market, there are things you can do to future proof your service to easily enable this later on.
The first and most important thing you can do is to use a payment processor that operates internationally, and that supports a variety of currencies and payment methods.
Stripe in particular stands out in this regard. They support the currencies and payment methods in the regions that are most likely to matter to you as you expand.
By doing so, adding currencies and payment methods largely becomes a matter of making minor changes to the API calls your app makes to process payments.
Just as you shouldn’t hard code English copy in your app, you shouldn’t hard code pricing. Move this into a database or configuration file such as the example below.
{
"USD.Basic" : 4.99,
"USD.Pro" : 9,99,
"EUR.Basic" : 5.99,
"EUR.Pro", : 10.99
}
This will make it easy for you to configure pricing by region. For example, users in Latin America generally expect lower pricing for SaaS products. You’ll often see significantly better conversion and lower churn if you give users in the region an effective 30% discount compared to US pricing. You’ll need to add some additional regional logic so that only users in Mexico, can for example, get discounted pricing in pesos.
Depending on where you are seeing international demand, you may need to support other payment methods besides major credit cards. These can include direct bank transfer (ACH or similar), wire transfer, Venmo, mobile payments and country specific services. Operators like Stripe generally support most of these, where as country specific processors may not support methods used outside of their main territory.