Our app was rejected by Amazon for not properly displaying the localized prices for our in-app purchase items. The reviewer said we were displaying the US prices, while displaying the British pound currency symbol. We are using the Apportable SDK for cross-platform development.
When using Apportable's StoreKitAmazon (TARGET_APP_STORE=amazon) in debug builds, I can only test with the Amazon SDK Tester, and my JSON file can only return one set of price values, regardless of the locale. I can't seem to be able to side-load the release build of the APK (because of the Amazon DRM) to connect to Amazon's production environment. So I can't test in a live production environment before submitting for review. Reference: Testing Your App with SDK Tester
But in using Apportable's StoreKit (TARGET_APP_STORE=google, GOOGLEIABV3=true) in release builds, I'm seeing the price/currency symbol mismatch if I set my device's locale to English (UK), on my Android device (Nexus 7, Lollipop 5.0). So this issue is appearing in the Google Play Store version too. Reference: Testing In-app Billing
But I suspect that the prices would match the locale's currency if my device was set to access the UK AppStores (Google Play Store or Amazon AppStore).
In general, is there a way to set my device to do access non-US App Stores for testing purchases? Do I have to set up a Google Account or Amazon Account outside of the US with a non-US credit card?
If anyone has suggestions on how to test this on Android or Kindle Fire devices, I would appreciate it.
BTW, our iOS version retrieves the proper prices and currency symbol for the locale by accessing the SKProduct's price and priceLocale property, and using the proper NSNumberFormatter. But the Apportable SDK's implementation of these classes doesn't appear to return the correct values. Also, on iOS, we use a Sandboxed iTunes user account to test in alternate App Stores.
Devices: Nexus 7, Lollipop 5.0; HTC One, Kit Kat 4.4.2; Apportable SDK: 1.1.23.1
Apparently, it's very easy to create a new account in the Amazon UK store at http://amazon.co.uk, and you will be able to download free apps without needing to enter billing or payment information. This will only allow a developer to test localizations for in-app purchases for apps already in the Amazon Appstore.
However, if you needed to use Amazon's Live App Testing feature with that account, you will need to enter a billing address.
I haven't tried a similar technique with a temporary Google Wallet account for the Google Play Store.
So until Google and Amazon allows developers to create sandboxed user accounts in different countries like in iOS, this is the best solution I can find.