Chrome-Erweiterung beim App-Kauf gibt immer PURCHASE_CANCELED zurück, auch wenn der Kauf erfolgreich war

Diese Frage bezieht sich auf die beiChrome Webstore-Erweiterung beim App-Kauf INTERNAL_SERVER_ERROR. Ich habe meine Frage dort zuerst in Form eines Kommentars gepostet, aber die Rückmeldung erhalten, dass dies als separate Frage angemessener ist.

Wie das OP verwende ich buy.js und folge dem empfohlenen Workflow für In-App-Käufe in der Chrome-Erweiterung. Meine Ergebnisse sind jedoch etwas anders: Wenn ich den IAP-Kaufdialog vervollständige, erhalte ich ein PURCHASE_CANCELED zurück, obwohl ich den IAP gekauft habe. Wenn ich dann die gekauften SKUs über die API aufführe, wird angezeigt, dass sie gekauft und aktiv sind. Ich erhalte auch eine Quittung aus dem Chrome Store.

Weiß jemand, wie man IAP kauft und eine genaue Statusmeldung zurückerhält?

Ich habe eine Testerweiterung zusammengestellt und sie mit einem In-App-Kauf von "sku1" als kostenlos markiert. Hier ist der entsprechende Code. Die gesamte Erweiterung ist bis zuhttps: //github.com/so-codemonkey/testIAP/tree/maste.

var testiap = (function() {
  return {
    onload: function () {

        var logResults = function( results ) {
                var str = 'Result: ' + JSON.stringify(results);
                console.log(str);
                $('<p>' + str + '</p>').appendTo('#log');
        };

        $(document).on("click","#getskus", function() {
                var str = "getting skus";
                console.log(str);
                $('<p>' + str + '</p>').appendTo('#log');
                google.payments.inapp.getSkuDetails({
                                'parameters': {'env': 'prod'},
                                'success': logResults,
                                'failure': logResults
                                });
        });

        $(document).on("click","#buysku1", function() {
                var str = "buying sku1";
                console.log(str);
                $('<p>' + str + '</p>').appendTo('#log');
                google.payments.inapp.buy({
                                'parameters': {'env': 'prod'},
                                'sku': 'sku1',
                                'success': logResults,
                                'failure': logResults
                                });
        });             

        $(document).on("click","#getpurchases", function() {
                var str = "getting purchased skus";
                console.log(str);
                $('<p>' + str + '</p>').appendTo('#log');
                google.payments.inapp.getPurchases({
                                'parameters': {'env': 'prod'},
                                'success': logResults,
                                'failure': logResults
                                });
        });

        $(document).on("click","#consumesku1", function() {
                var str = "consuming sku1";
                console.log(str);
                $('<p>' + str + '</p>').appendTo('#log');
                google.payments.inapp.consumePurchase({
                                'parameters': {'env': 'prod'},
                                'sku': 'sku1',
                                'success': logResults,
                                'failure': logResults
                                });
        });             

   }
  }
})();
window.onload = testiap.onload;

TIA!

Antworten auf die Frage(0)

Ihre Antwort auf die Frage