javascript - Chrome extension in app purchase always returns PURCHASE_CANCELED, even if the purchase worked -


this question related 1 @ chrome webstore extension in app purchase internal_server_error. first posted question there in form of comment, received feedback more appropriate separate question.

like op, using buy.js , following recommended workflow in-app purchases in chrome extension. results different: when complete iap buy dialog, purchase_canceled, though bought iap. if list purchases skus through api, shows having been purchased , active. receipt chrome store.

does know how iap buy , accurate status message back?

i put test extension, , marked free in-app purchase of "sku1". here's relevant code. entire extension @ 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; 

tia!