处理Chrome扩展程序中应用订阅的取消

时间:2017-10-29 16:05:56

标签: google-chrome-extension in-app-purchase

我开发了Chrome扩展程序,我正在尝试使用google.payments.inapp API集成应用程序内订阅,但是在测试时我发现如果用户取消应用程序内订阅,则API的状态显示ACTIVE而不是CANCELED 。以下是我用来获取用户购买的应用内订阅的代码

google.payments.inapp.getPurchases({
    'parameters': {env: "prod"},
    'success': ami_onLicenseUpdate,
    'failure': ami_onLicenseUpdateFailed
});

即使用户已取消订阅,我也会收到以下成功回复

{"response":{"details":[{"kind":"chromewebstore#payment","itemId":"xxxxxxxxx","sku":"xxxxxx_01","createdTime":"1509281736005","state":"ACTIVE"},{"kind":"chromewebstore#payment","itemId":"xxxxxxx","sku":"xxxxxxx_02","createdTime":"1508736958450","state":"ACTIVE"}]}}

我如何知道用户是否已取消订阅?

2 个答案:

答案 0 :(得分:1)

经过一些研究和测试后,我发现如果用户处于订阅试用期并且用户取消订阅,Google付款API会将订阅作为有效订阅,一旦试用期结束,它将不会返回任何与许可相关的信息。 api响应中的订阅。通过这种方式,我们可以识别用户是否有有效订阅。

答案 1 :(得分:0)

对于那些使用订阅的人,请注意。
来自Chrome网上应用店小组:

  

取消后,用户仍可以访问您的商品,直到下一个计费周期开始,并且扩展期在订阅期(每月或每年)结束后应停止工作。因此,在取消开始之后,API仍会以“活动”的形式返回。