android – User is not eligible for this purchase – in app billing-ThrowExceptions

Exception or error:

I’m getting

"User is not eligible for this purchase"

message from google play while trying to purchase as a test.

I’ve uploaded singed apk in google play, published the billing item(in app product), saved the apk as draft, still getting this error.

Also I was trying to purchase from test user device.

How to solve:

Edit:

The actual reason for this error:

If an unauthorized user try to purchase an item then this message
should appear.

So if the App is not published, a non test user should get this error while try to purchase.

I realized that, Google play takes time to update the changes in app store. So you can not expect the changes immediately. Rather you should wait, in my case it took average 2/3 hours.

Still there may be some unknown error, which I could not figure.

My Cases:

First I was trying to purchase from my test device still got this error, But after waiting some time I didn’t get this error. So I think the time was reason here.

Secondly I was trying from a non test device, which was an unauthorized device as the app was not published.

###

You must use, only, Test Account for Testing purposes. You can not use market account or others for purchasing your app while Testing.

From Android Docs

The synchronous response for a CHECK_BILLING_SUPPORTED request provides a Bundle with a server response code. A RESULT_OK response code indicates that in-app billing is supported; a RESULT_BILLING_UNAVAILABLE response code indicates that in-app billing is unavailable because the API version you specified is unrecognized or the user is not eligible to make in-app purchases (for example, the user resides in a country that does not allow in-app billing). A SERVER_ERROR can also be returned, indicating that there was a problem with the Google Play server.

see details here

###

This error comes when everything you done is perfect, you have used signed APK with the proper product id, but you have to note that the account that you are using might don’t have proper valid credit card details.

So whenever you want to buy any product even with test account, that account should have valid credit details.

You have to specify test account in Edit profile of your publisher account

Licensing & In-app Billing

Test Accounts box

###

There is a now an additional situation which can result in the “User is not eligible” message.

It comes down to this recent change in the licensing system:

The Licensing keys are now managed for each app individually. To see
the license key for an application, switch to the new design and go
to the Services and APIs for the application

You can no longer use the old “shared” license key when creating new apps. You must switch the Google play developer console to the “new design” and use the license key for each specific app from that app’s Services and APIs section.

If you try to use the old shared key the behavior is as follows:

  1. If app is not yet published, tester will receive “User is not
    eligible for this purchase” message.
  2. If app is published, user will go through purchase process and
    be charged for purchase, but the app will not receive a “purchase success” message.

TL;DR: Make sure you are using the new per-app license key and that you have copied it correctly.

###

I had the same issue.
I fixed it by uploading apk via “Old Design” of Developer Console.
Steps:

  1. rename application package.
  2. create release build and sign it with your developer key.
  3. upload it to the Developer Console Old Design. You will be asked about switching to the new design for getting public key. DON’T do it.
  4. Perform all next actions from Old Design.
  5. After creatind and publishing inApp content switch to the New Design and take your application security key.
  6. Put new key to your application, rebiuld and resign.
  7. Install your application to the device.
  8. Wait 2-3 hours.
    Profit.

lved it. There is some problem in the “New Design” of Developer Console. I deleted the apk and created a new app from “old design” and it worked. Price points(In-App products) got automatically added again as the app package name is exactly the same as old one I deleted.

Also make sured the new public key is used which is app specific now.

###

Make sure you fill in the @gmail.com address as a licensed test account. Other e-mail addresses associated with your Google account will NOT work.

###

For the “Unpublisched” app, enter your email account under “Account details” and “Gmail accounts with testing access” in Play Developer Console. Also one need to wait 24 hours.

###

The android:versionCode set in the Manifest must be the same as the one active in Google Play console

###

I met this problem and was bothered for one or two day.I delete the test device’s gmail and added it again. After then it works.

Leave a Reply

Your email address will not be published. Required fields are marked *