Has anyone found a way to limit what payment methods are available by location?
We'd like to offer credit card payments through our provider for everyone, but allow PayPal to be used by our customers from outside the US as well (but not for domestic customers).
Is this possible?
Right now that's not possible, but I'll make sure there's a feature request for that, so the development team knows that people would want that sort of fine-tune control over access to payment gateways by location.
Your solution works if we want international users to _only_ be able to use PayPal.
We're happy to have international customers pay with their credit card. What we want to limit is the ability for _domestic_ users to pay by PayPal. In general, we don't like Paypal because the fees are so high. We're willing to compromise with international customers, since they sometime prefer paypal over paying the currency exchange fees by their credit cards. But, for domestic users, we just want to prevent them from using Paypal.
So, good idea, but not quite there for what we're looking for.
Actually this is pretty easy to setup. I've done this quite a few times. Set your gateway to decline card transactions with a billing address outside the usa. Then setup a redirect link to check out with Paypal on declined transactions.
Where do you setup the redirect? Do they get a payment denied message if you setup no international countries in your gateway?