Skip to main content
Question

Help Needed: The device or user is not allowed to make the purchase.


Forum|alt.badge.img+3

I understand that this same question has been asked and answered many time and I want to assure you that having battled with this for over a month now, I have read all the other posts but nothing works. I asked a friend to try subscribing and it worked but for whatever reason, not a single user has been able to subscribe to my app for over 2 months now.

I don’t beleive this is parental control because the age limit of my app is just 4 and the error is coming from users all around the world.

For added context, I started experiencing this shortly after introducing a weekly subscription plan and upgrading react native to 0.78, and integrating a ota-update package that lets me push updates without going through the review pipeline (I am not pushing any changes that go against Play Policies. Just minor changes). It’s been months now with zero successful subscriptions.

 

I haven’t also had any new subscribers from ios in all this time but I haven’t seen attempts from ios users. For some reason, my app is just not getting any more downloads on ios but that’s another story.

 

This is the complete error log

{
  "nativeStackAndroid": [],
  "userInfo": {
    "underlyingErrorMessage": "Error when fetching products - DebugMessage: Billing Unavailable. ErrorCode: 3.",
    "readableErrorCode": "PurchaseNotAllowedError",
    "readable_error_code": "PurchaseNotAllowedError",
    "message": "The device or user is not allowed to make the purchase.",
    "code": 3
  },
  "code": "3"
}

For some users, I saw this error and my app has network permission set

{
  "nativeStackAndroid": [],
  "userInfo": {
    "underlyingErrorMessage": "Unable to resolve host \"api.revenuecat.com\": No address associated with hostname",
    "readableErrorCode": "NetworkError",
    "readable_error_code": "NetworkError",
    "message": "Error performing request.",
    "code": 10
  },
  "code": "10"
}

For others, I get this

{
  "nativeStackAndroid": [],
  "userInfo": {
    "underlyingErrorMessage": "unexpected end of stream on com.android.okhttp.Address@abe97f5d",
    "readable_error_code": "NetworkError",
    "readableErrorCode": "NetworkError",
    "message": "Error performing request.",
    "code": 10
  },
  "code": "10"
}

 

I really need help figuring this out

3 replies

chris_perriam
RevenueCat Staff
Forum|alt.badge.img
  • RevenueCat Staff
  • 18 replies
  • April 30, 2025

Hi ​@azerty, here are the steps I’d recommend taking next:

  • Test subscription purchases by publishing your app to an Internal Test Track and installing it via the Play Store. Ensure that you can successfully purchase all your subscription products and no errors are being logged.
  • If possible, try pushing an OTA update change to your Internal Test Track release. Check whether the incoming OTA change breaks the subscription purchase flow.
  • Try publishing your app to Production without the OTA functionality and observe whether purchases are successful.

Hope this helps! Let us know what you find.


Forum|alt.badge.img+3
  • Author
  • New Member
  • 3 replies
  • May 9, 2025

I tested and it worked but I keep seeing the error from users. I’ve checked Play Console and no countries are restricted.

{"nativeStackAndroid":[],"userInfo":{"underlyingErrorMessage":"Error when fetching products - DebugMessage: Billing Unavailable. ErrorCode: 3.","readableErrorCode":"PurchaseNotAllowedError","readable_error_code":"PurchaseNotAllowedError","message":"The device or user is not allowed to make the purchase.","code":3},"code":"3"}

I see some users trying up to 42 times to make a purchase to no avail. This is really worrying. I don’t know what else to do to debug this. I have deleted and reconfigured revenueCat products on the dashboard (except those that already had subscriptions, which can’t be deleted).

 

I recently changed the trial period from 3 days to 7 days on Play and Appstoreconnect.

const canPurchase = await Purchases.canMakePayments()returns true, always for all users who visit the paywall.

What could I possibly be missing?


chris_perriam
RevenueCat Staff
Forum|alt.badge.img

@azerty the information I have available is quite limited, but it appears that your app may be making duplicate actions. I’m seeing records of multiple calls to fetch products in quick succession from the same device sessions.

Are you able to try making a Production purchase in your app using a Google Play account on a device which has never purchased anything from your app in the past?


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings