I implemented something pretty fun today. You know how I said a while back that the whole point of the experimental storefront was to push the envelope to ridiculous lengths? In that spirit, I added realtime currency conversion to the price widgets.
This is what you see in the United States, in a region outside of my sales tax responsibility:
This is what you would see if you were another unfortunate denizen of the Republic of Texas, where digital goods are somehow considered to be “tangible personal property”:
And now for the fun of it, some other currencies (GBP, CAD, and EUR):
Okay, here’s how it works. It polls OpenExchangeRates.org for the latest exchange rates, then saves them to the database. Every hour and 30 seconds afterwards, it polls OpenExchangeRates.org for a fresh set of rates. So, the storefront updates the rates every hour, shortly after OpenExchangeRates updates their values, and in between, the buttons and catalog price strings pull the rates stored in the database and apply them to the default USD pricing.
The actual PayPal transaction will probably still display in USD–I don’t have any foreign currency to test it with, and this is something I guess we’ll need to find out after the public beta starts, but I’m pretty sure it’ll still be transacted in USD as that’s the default currency in my account. However, the storefront rates will still give you a good ballpark figure in your own currency, plus or minus a few percentage points, and that’ll save you the bother of hitting up Google for a conversion for every item on the page.
About those few percentage points of difference…well, there are actually a few different currency exchange rates. The interbank rates are what large blocks of currency are traded at by banks and financial institutions, then there are the retail rates, which are generally higher and assessed against smaller amounts of currency. Most currency converters and the newspapers generally display the interbank rates, while the retail rates are what you get zapped with when you exchange cash in another country or make an international transaction. To address that, I’m planning to add both a “quoted rates are approximate at best” disclaimer and add an extra 3.5% to the displayed total to account for PayPal’s conversion fee, which should bring the displayed total pretty close to what you’d actually end up paying in a non-USD currency.
Work on the experimental storefront will be somewhat spotty over the next few days, since there are a few things I have to do over at WorldWorks. Nothing sexy, mostly just time-critical administrative stuff, so I wanted to post this update to tide you guys over in the meantime. 🙂