9
votes

i'm trying to enable in app billing. I've created In-app-products on my google play console and got my License key. When i try to purchase product. I get this image error.

enter image description here

Here is the code i use to create BillingProcessor.

bp = new BillingProcessor(this, LICENSE_KEY, MERCHANT_ID, new BillingProcessor.IBillingHandler() {
        @Override
        public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
            showToast("onProductPurchased: " + productId);
            updateTextViews();
        }
        @Override
        public void onBillingError(int errorCode, @Nullable Throwable error) {
            showToast("onBillingError: " + Integer.toString(errorCode));
        }
        @Override
        public void onBillingInitialized() {
            showToast("onBillingInitialized");
            readyToPurchase = true;
            updateTextViews();
        }
        @Override
        public void onPurchaseHistoryRestored() {
            showToast("onPurchaseHistoryRestored");
            for(String sku : bp.listOwnedProducts())
                Log.d(LOG_TAG, "Owned Managed Product: " + sku);
            for(String sku : bp.listOwnedSubscriptions())
                Log.d(LOG_TAG, "Owned Subscription: " + sku);
            updateTextViews();
        }
    });

LICENSE_KEY is my license key from google play console, and MERCHANT_ID is null.

This is how i buy items.

bp.purchase(this,PRODUCT_ID);

Where PRODUCT_ID is product1 which i use in my google play console, here is the example of my in-app products.

enter image description here

Any idea how to fix this ? There is only one stackoverflow question with DF-AA-20 problem which has no answers. And there is no information on the internet about it. I have tried to use emulator and my android phone.

5
have you tried clearing cache of Google Play Store? If you are using multiple email Id's try changing them in your phone. Capture and upload logs in your questionAmod Gokhale
@AmodGokhale I have tried, it didn't help. I only use one email. But when i tried to purchase something from lets say Subway surf it works perfectly for their in app purchase. I have tried to connect my license key with google sample project and it didn't work. I guess i did something wrong in my google play console, what could be ? If you don't have enough details from this product list what else can i provide you which could help me to solve my problem ? Thanks in advance !Miljan Rakita
Can you please upload logs in your question when transaction fails?Amod Gokhale
did you get solution for this?Kriti
@Kriti app wasnt publishMiljan Rakita

5 Answers

14
votes

DF-AA-20 means your app is not published in any way on the Play store. This is normally because either:

  • you haven't published it yet. To test In-App Billing it must be pushed to at least alpha. See the testing IAB docs for more information
  • your app or developer account has been banned/suspended for abuse
  • you make some change to your package name/applicationId, so that in your apk it doesn't match the one on Play. Developers sometimes do this with build flavors
7
votes

Oh, I had this exception when I tested buys in my product with different sku.
Check your sku!
Sku must be not CAPS! Only [a-z][0-9]!

2
votes

Just wait some time. I waited 25 minute and then product registered in google play

1
votes

It might be handy to point out that you can also get this exact error code message when you simply haven't put your products as active yet in your Google Play Console. (Even in debug they need to be active.)

0
votes

You must publish your app to playstore(not even alpha or beta publish will help).