Development issue/problem:

This is the first time I’ve dealt with internal invoicing in Android
1) I use the API v3
2) I downloaded the alpha version of my application to test it.

3) I have created a subscription product

4) This is my code to subscribe to the product.

mSubscribeButton.setOnClickListener(new OnClickListener() {)

@General invalid
opClisk(View v) {


PendingIntentBundle = mService.getBuyIntent(3, getPackageName(), my_product_id, sub, bGoa+V7g/yqDXvKRq+JTFn4uQZbPiQJo4pf9RzJ) ;
PendingIntent = subscriptionIntentBundle.getParcelable(BUY_INTENT) ;

if (subscriptionIntentBundle.getInt(RESPONSE_CODE) == 0) {

startIntentSenderForResult(pendingIntent.getIntentSender(), 4002, new Intent(), Integer.valueOf(0), Integer.valueOf(0);} else {Toast.makeText(MainActivity.this, error code: + subscriptionIntentBundle.getInt(RESPONSE_CODE), Toast.LENGTH_SHORT).show();}} catch (RemoteException e) {e.printStackTrace();} catch (SendIntentException e) {e.printStackTrace();})

5) I get the following error

Can somebody help us?

How can I solve this problem?

Solution 1:

I already have the same problem. Go to the Google Developer Console and make sure your application is MANDATORIAL for each version (alpha, beta or prod). Then, the purchase of the in-app

Solution 2:

I have the same problem with the awful message:

Authentication is required. You need to sign in to your Google Account.

I’ve had two problems:

  1. I tried to buy a product in my code with the identifier com.argonnetech.wordswriting.noads, but in the application, the product configured in the Google Play Developer Console (GPD) was simply called noads.
  2. After I changed the name of the product in the application in the GPD console, I had to put it into active mode.

It worked. The error message is misleading, it is better if the type of error is not present in the application element.

Solution 3:

Android developers testing a purchase account built into the application should follow these tests.


// Base64EncodedPublicKey check

Publicly available static end String base64EncodedPublicKey = MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCg +
KCAQEAhNe2XQ70DceAwE6uyYYYYGK1dIBbZcPdlER/9EEzylr6RDU6tnGj0Tk7kceN03GKvRf/ucT+ERLL3O +
aHR22PXRXLZ17NZ81x6oS2vGmLyXBnjrU/I+asl8cNuLGySaoCdXPAV+A9g6OG13dk+KY9i0O1roGpFH +
fsAFyKCgSqR0PMJZ1bS+wFFBYf3M4IxgBcxuZKDmR+MztCgm5N4zc6wFZn3mXeDoTg15mWDU3sZO +
WeRwFeynhV+FCYdDp8DpAkLk1b5IiXYFQ53wxCh/GxiKqBB6uQMmAixFjAcZV1QWfcBABae9vxiV5 +

And bought an item with a key, like this one.



public static end string ITEM_PURCHASED = android.test.purchased ;

And start setting this code to initialize the IabHelper class to purchase
in the application,

IabHelper helper = new IabHelper (this, Constants.base64EncodedPublicKey);
helper.startSetup(new IabHelper.OnIabSetupFinishedListener() {
public void onIabSetupFinished(IabResult result) {
if((! result.isSuccess())) {
Log.d(#InAppStartSetup#, internal billing configuration failed: + result);
} other {
Log.d(#InAppStartSetup#, internal billing configuration successful.);

And finally, I took the time to make this coded pen here,

helper.launchPurchaseFlow(YOUR_ACTIVITY, Constants.ITEM_PURCHASED,
YOUR_REQUEST_CODE, mPurchase FinishedListener, ) ;

Thanks, guys…

Solution 4:

The documentation on seems outdated.

If you want to test the application’s internal billing without making it public, you need to create a Google group and add an alphabetical list of testers. See here:


From mid 2015 this will no longer be necessary. They have new testing capabilities in the Google Game Developers Console.

Solution No 5:

Most of the above solutions work, but for those who still have this problem, try this:

  • In Android Studio, sign your application with the license key (this creates a signed file app-release.apk ).
  • Then ENSURE that you install on your physical device using the installation path adb/to/your/app-release.apk (NOT via Alpha/Beta).


Solution No 6:

In my case, the versionCode, versionName and applicationId were not synchronized with the current version of the application on the developer’s console. I modified this in the build.gradle file. They were different because I rewrote the application in Eclipse’s android studio. After that the invoicing was triggered in the application.

Solution No 7:

This is what works for me:

  • Download a preliminary version of the application in alpha or beta with version code.
  • Log in to your device with an account that has an active subscription.
  • Install a signed application on your device with the same version as the alpha/beta version.

Good luck!

in-app purchase android free,android get subscription expiration date,google play in-app purchase fee,android in-app billing v3 library,in-app purchase android tutorial androidhive,android in-app billing subscription sample,querypurchasehistoryasync,android in-app billing tutorial,onbillingservicedisconnected,queryskudetailsasync returns empty list,google play in-app purchase error,in-app purchase android tutorial,google play balance not showing in game,can't make in app purchases iphone,payment unsuccessful google play,play store password open,1 tap buy google play not working,1 tap buy meaning,google pay fingerprint authentication,google play refund forum,how to see google account password in mobile,revenuecat android github,subscriptions 101,android app licensing tutorial,in-app purchase subscription tutorial android,in-app purchase android tutorial 2020,in-app purchase android example github,in-app purchase in android programmatically,android in-app purchase server verification,in-app purchase not working android,how to enable in-app purchases android,device restriction settings android,brawl stars in-app purchases,wrong google play balance,google defaults to wrong account,wrong google account,pokemon go change google play account,google pay wrong payment,how to buy in-app purchases on google play,android in-app billing subscription sample github,restore in-app purchase android programmatically,google play billing library

You May Also Like

iOS 14 Beta is Coming for Testing, Changes in Wallpapers and App Library

Apple’s iOS 14 is coming to developers for testing. This is the…

adb command for getting ip address assigned by operator –

Development issue/problem: I need to retrieve the IP address assigned by the…

Lenovo IdeaPad L340 Gaming Laptop Review & Price

Lenovo IdeaPad L340 Gaming Laptop UNITED STATES 1+ Monetary valuation 8.7/10 Technical…

Ryan Gondokusumo, Founder And CEO Of Sribu And Sribulancer- The Largest Freelancing Platform In Indonesia To Address The Problem Of Human Resources

Bookmark(0) Please log in to addto your favorites. No bill yet? Log…