Расширение Chrome при покупке приложения всегда возвращает PURCHASE_CANCELED, даже если покупка сработала

Этот вопрос связан с вопросом наРасширение интернет-магазина Chrome при покупке приложения INTERNAL_SERVER_ERROR, Сначала я разместил там свой вопрос в форме комментария, но получил ответ, что это более уместно в качестве отдельного вопроса.

Как и OP, я использую buy.js и придерживаюсь рекомендуемого рабочего процесса для покупок в приложении в расширении Chrome. Но мои результаты несколько иные: когда я завершаю диалог покупки IAP, я получаю PURCHASE_CANCELED, даже если я купил IAP. Если я затем перечисляю SKU покупок через API, он обнаруживается как купленный и активный. Я также получаю квитанцию ​​из магазина Chrome.

Кто-нибудь знает, как сделать покупку IAP и получить точное сообщение о статусе обратно?

Я собрал тестовое расширение и отметил его как бесплатное, купив в приложении «sku1». Вот соответствующий код. Все расширение наhttps://github.com/so-codemonkey/testIAP/tree/master.

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;

ТИА!

Ответы на вопрос(0)

Ваш ответ на вопрос