views:

82

answers:

2

I am creating an international web application which users can subscribe to. I want subscription rates to vary based on the user's currency. If my user is in the US, they pay $19/month; if in China, they pay some other rate. So, I am thinking I could detect the user's location, and from their location, I can detect their currency (via a location to currency map table in my database). If I can't detect their currency, then I'll force them to enter it before displaying subscription rates.

Does this seem like an acceptable solution? Will this be pretty reliable? If not, can anyone think of a better solution?

+1  A: 

Seems good. Geolocation is pretty reliable, and the mapping from countries to currencies should be easy. I don't know whether such a mapping is already available somewhere, though.

Just make sure that you allow users to change the currency, in case your detection fails. Or they're trying to subscribe while they happen to be abroad, or something.

Thomas
Good point. And, they'll be providing an address when they provide billing information, so I can require that the detected/selected currency matches the address they enter. That way, someone can't lie about their currency, claim to be in Indonesia, and pay less for the service when they actually live in, say, France or the US.
Chad Johnson
+1  A: 

how to get the location of a user might be helpful

rashid
Thanks! I'll make a note of this for future reference.
Chad Johnson