We have a user who gets false for “canMakePayments()”, and we want to be able to tell the user why. Their device is a Realme Note 60x. They are in Spain. We tried creating a spanish Google account and use VPN and other ways to try to force google play to be in Spain. We also tried Google Billing Lab - with all our tests we got canMakePayments true. She is added to license testing in Google Play and Spain is targeted with its own EUR price, so the Google Play setup looks correct. She has only one Google account tied to that device, so it’s not account mismatch.
She did not have any payment methods added - which I thought would be why she is getting false for canMakePayments(), but our fresh new account doesn’t have any either and we get a true.
What is weird that after she added a payment method AND installed a new version of the app (payment flow, library version unchanged, the only addition was some extra logging) - it started working for her.
This leads me to believe that canMakePayments was a false negative, and it should have gone through to show the Google Play billing bottomsheet where the user can add a payment.
Should we just skip checking this and let Google Play’s billing do some error correcting and get the paymenterror from RevCat upon trying to make a purchase to avoid hard-gating users with canMakePayments?
Disclaimer - we have not been able to test iOS and web yet (they are not ready with development), so we don’t know if this would have appeared there as well.
Question
Android: CanMakePayments false positive? Could it be enhanced to be more descriptive?
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
