So I need to integrate Android Pay into an application I'm working on. This option within the app will be for US users only however I am in the UK and am having great difficulty trying to test my implementation. I'm using a sandbox Stripe account atm as the payment processor.
Once I press the "Pay with Android Pay" button I get a popup "To make purchases using Android Pay, please set up your cards in the Android Pay app". Now the Android Pay app isn't available outside the US so I've sideloaded it, however once I try to add a card it crashes. After a quick Google it seems like this crash is the apps way of saying it's not supported outside the US.. (Great UX btw)
I've also tried adding one of the cards found here, https://developers.google.com/android-pay/test-flows, to my Google Account however they don't show up in the Android Pay app.
I'm at a bit of loss trying to test this, it seems very much like Google has overlooked the fact developers outside the US would like to implement this in their apps for their US customers.
Does anyone have any ideas about how I can test this?
(Btw I'm testing on a stock, unrooted Nexus 5 running Marshmallow. I've also tried to spoof my location to no avail.)
EDIT: Spoke to Android Pay support who informed me there is no mechanism to test outside of the US. They said it checks your IP address to determine location which is why GPS spoofing doesn't work but it also seems proxies don't work either so unless anyone has hacked a way around this it looks like when they say US only they mean US only - Including development :|
Follow these steps to convert Android pay into testable environment
- Install Android Pay apk from apkmirror website. Make sure you use correct apk variant. http://www.apkmirror.com/apk/google-inc/android-pay/
or
You can use TunnelBear(Change VPN) App to download Android Pay App in India https://play.google.com/store/apps/details?id=com.tunnelbear.android
Turn on Sandbox Mode by executing following commands from command prompt:
adb shell cd /sdcard/Download; rm -f android_pay_env_override_*; touch android_pay_env_override_sandbox;
Restart the phone
Launch the Android Pay app and add following test credit card details:
Card Number: 4622 9431 2999 9943 Expiry: 12/17 CVV: 125
Enter other details like address and proceed.
Card is added successfully.
Use ENVIRONMENT_SANDBOX to integrate and test Android Pay in your app.
Revert from Sandbox to Production by executing following commands from command prompt:
adb shell cd /sdcard/Download; rm -f android_pay_env_override_*;
Restart phone
- Use ENVIRONMENT_PRODUCTION or ENVIRONMENT_TEST to integrate and test Android Pay in your app
I had similar issues to what you describe, but I managed to get it working from Canada. One of the changes I had to make was to use WalletConstants.ENVIRONMENT_TEST
instead of the deprecated WalletConstants.ENVIRONMENT_STAGING
(the latter was mentioned in almost all tutorials and examples). I also had misconfigured the PaymentMethodTokenizationParameters
on the MaskedWalletRequest
.
If you are still having issues with your implementation please post the code and I can take a look.
来源:https://stackoverflow.com/questions/34020432/android-pay-testing-from-outside-us