web-dev-qa-db-fra.com

Erreur d'achat intégré lors de la récupération d'informations du serveur [DF-AA-20]

j'essaie d'activer la facturation par application. J'ai créé des produits In-App sur ma console Google Play et obtenu ma clé de licence. Quand j'essaie d'acheter un produit. Je reçois cette erreur d'image.

 enter image description here

Voici le code que j'utilise pour créer 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 est la clé de licence de Google Play Console et MERCHANT_ID est null.

C'est comme ça que j'achète des objets. 

bp.purchase(this,PRODUCT_ID);

Où PRODUCT_ID est product1 que j'utilise dans ma console de jeu google, voici l'exemple de mes produits in-app.

 enter image description here

Une idée comment résoudre ce problème? Il n'y a qu'une seule question de stackoverflow avec le problème DF-AA-20 qui n'a pas de réponse. Et il n'y a aucune information sur Internet à ce sujet. J'ai essayé d'utiliser l'émulateur et mon téléphone Android.

8
Miljan Rakita

DF-AA-20 signifie que votre application n'est publiée d'aucune façon sur le Play Store. C'est normalement parce que:

  • vous ne l'avez pas encore publié. Pour tester la facturation intégrée, vous devez au moins l'alpha. Voir les tests IAB docs Pour plus d'informations
  • votre compte d'application ou de développeur a été interdit/suspendu pour abus
  • vous apportez des modifications à votre nom de package/applicationId, de sorte que votre apk ne corresponde pas à celui de Play. Les développeurs le font parfois avec des saveurs de construction
12
Nick Fortescue

Oh, j'ai eu cette exception lorsque j'ai testé l'achat de mon produit avec un sku différent. 
Vérifiez votre sku! 
Sku doit être pas CAPS! Seulement [a-z] [0-9]!

5
xoxol_89

Il peut être utile de signaler que vous pouvez également obtenir ce message de code d'erreur exact lorsque vous n'avez pas encore placé vos produits aussi actifs dans votre console Google Play. (Même en débogage, ils doivent être actifs.)

1
Saffron Streams

Vous devez publier votre application sur le PlayStore (même les publications alpha ou bêta ne pourront vous aider).

0
Asim

Attends un peu. J'ai attendu 25 minutes, puis le produit a été enregistré sur Google Play

0
Dyno Cris