I have an Android app using In-App-Purchase that caters to an international audience, so I expect payments in different currencies. Of course I would like to show the items for purchase with the user's local currency, but I don't really know how.
Using the region or language of a user seems like a bad indicator, as the currency seems to depend on the region of the Market account the user is using and not on the device settings.
How can I find out which currency a user will pay in?
Thanks.
Click on the More options button in the upper left corner on the Search page. Scroll down to the Currency field and select your desired currency. Your search results will be displayed in the specified currency.
You pay them. You can be 100% certain-you can not set Apple app store or iTunes purchases to be billed on your cellular bill. All such transactions are billed directly by Apple to whatever credit card is on file with Apple.
In-app Billing is a Google Play service that provides checkout processing for in-app purchases. To use the service, your application sends a billing request for a specific in-app product.
As of IAB Version 3, the SKU details for the purchasable item include a formatted price, which includes the currency the user would pay in (the corresponding currency to their Google Play store):
Some examples of values of price
(not from a real SKU):
EDIT: I've updated the SKU details table, now including information about the price_currency_code field.
It is somewhat difficult to do as the exchange rate that the market uses to process the transaction may fluctuate between you displaying the price and the user purchasing. I daresay Google would prefer you weren't doing this as it may result in customers yelling at them/you because you said $10 and they were charged $12.
Your best bet (failing someone knowing how to do this within the framework) is to ask the user what currency they wish to pay in and then give them an approximate price (I would list it in brackets next to the supplied price like "USD$10 [approx AUD$9]"). You should be able to grab it using an exchange rate API.
It's a bit of messing around but you should only need to ask once and save the preference. If you really want to be tricky, you could use coarse location data to get their locale and initially populate the value that way.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With