Skip to main content
Question

Android: CanMakePayments false positive? Could it be enhanced to be more descriptive?

  • February 10, 2026
  • 1 reply
  • 4 views

Forum|alt.badge.img

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.

1 reply

alejandra-wetsch
RevenueCat Staff
Forum|alt.badge.img+6

Hey ​@alexrocket

Thank you for reaching out and providing details about your setup and your user’s setup!

To provide additional details, the canMakePayments method uses the Google Billing Library to understand if a user is eligible to make purchases. Whatever the Billing Library returns, we return to you. 

In this case (without logs to confirm), it seems the lack of a payment method could have triggered the Billing Library to return an error indicating the user cannot make purchases. Another thing that could have triggered this behavior is caching of the result on the Billing Library side, which would explain why, after reinstalling the app, she got the green light to make purchases.

To prevent false negatives like this, I would recommend letting users go directly to the Paywall without checking the canMakePayments method so that Billing Library can return the exact issue in those cases, and the Paywall will show an alert with the specific error.

Having said that, if you experience this issue again and can share debug logs, that would be great! That way, we can better understand the reasons behind the data returned by this method.