如何确认购买应用内Google扩展程序的SKU?

时间:2016-02-18 03:57:01

标签: google-chrome-extension chrome-web-store

我已阅读并重新阅读一次性购买和应用内购买示例,我错过了将来自Google Web Store API调用的响应转换的步骤。

我已付款(在测试模式下)。但无法弄清楚如何检查用户是否实际付款。我不知道如何解压谷歌所提供的任何东西。

我只有一个SKU,因此不需要显示列表(如示例所示)。

这是一个经过轻微修改(来自Google提供的示例)的代码段,我试图获取用户购买的商品的SKU。我只是试图在警报中弹出值来反向设计正确的语法。我正在把控制台上的值写得很好。但是我得到的警告是#34;未定义。"

    function onLicenseUpdate(response) {
    console.log("onLicenseUpdate", response);
    var licenses = response.response.details;
    var count = licenses.length;
    for (var i = 0; i < count; i++) {
    var license = licenses[i];
    alert(license.sku);
    //    addLicenseDataToProduct(license);
    }
    //  statusDiv.text("");
    }

1 个答案:

答案 0 :(得分:0)

好的,JSON研究和反复试验的组合让我找到了解决方案。

其他黑客(和谷歌)的注意事项:对于想要构建但没有接受任何正式培训的人来说,扩展是一个很好的切入点。我有一个模糊的JSON概念但没有经验...如果您不知道如何处理来自简单API的回报,那么Google Web Store的说明和示例将遗漏关键步骤。

到目前为止我只有一个SKU,所以我需要特别检查数组中的第一个 - 这是零,而不是一个。

var license = licenses[0];
alert(license.sku)

以上代码正确弹出用户已购买的sku。所以现在我可以使用此调用在我的应用程序的其他位置强制执行付款。

这是我的purchase.js代码 - 从Google提供的示例中进行了轻微修改。

function CheckPurchases(){              //What license do we already have?
  console.log("google.payments.inapp.getPurchases");
//  statusDiv.text("Retreiving list of purchased products...");
  google.payments.inapp.getPurchases({
    'parameters': {env: "prod"},
    'success': onLicenseUpdate,
    'failure': onLicenseUpdateFailed
  });

}

function onPurchase(){
            alert('Made a purchase');
}

function onPurchaseFail(){
            alert('Failed to make a purchase');
}

function onLicenseUpdate(response) {
  console.log("onLicenseUpdate", response);
  var licenses = response.response.details;

    var license = licenses[0];
alert(license.sku)

  }