There's a vast payments ecosystem beyond Stripe that lets you avoid this. With companies like Spreedly to provide almost-Stripe-quality APIs and PCI-compliant card vaulting at only a flat cost, and a massive amount of "merchant account providers" a quick Google away that can hook into Authorize.net and then into Spreedly, you can end up at 1.75% or less depending on your industry, and the flexibility to dynamically r…
Wow, Stripe is the best developer experience? When I integrated a few months ago their documentation was so confusing I ended up giving up and not using it at all, relying on using a library for laborious guess and check, and watching the JSON responses. I suspect my product can still be purchased for free if you use that EU security feature because nothing could help me figure out when I need to use it or how to do…
So,
if(IsInEurope(Customer.Country) || IpAnalyzer.IsInEurope(visitor.Ip))
{
//Enable something
}
Should do it. But fallback method should be implemented, took me 3 minutes of reading documentation + googling.
Between all those tax regulation differences, I think this one is mostly straightforward for handling global payments.
Ps. Don't forget to encrypt your actual data, I think you will be amazed at what needs to happen for selling in EU ;)