2014-09-05 97 views
7

我昨天购买订阅(不是Managed ProductUnmanaged Product)或测试,我退还了自己,然后取消订阅。包退和取消,当我打电话后:“你已经拥有这个项目”,但getPurchases是空的

m_billingService.getPurchases(3, m_context.getPackageName(), ITEM_TYPE_SUBS, null) 

它会回到我的购买与0购买状态(有效/ OK)。今天,当我调用相同的方法时,它什么都不返回。但是,当我尝试购买该商品时,Google Play商店会回复我已经拥有该商品。

我已经重新启动了Android设备,清除了Google Play服务缓存,并确保只有测试帐户在我的手机上激活(即我删除了我的Google开发者帐户)。

该问题之前已经被问过,但总是在产品而不是订阅的情况下。这些帖子的答案似乎是“消费”产品;订阅不会被消耗。

+0

我敢肯定,订阅保持活跃,以当用户取消其当期结束,但我不知道,当你退还它会发生什么...... – Zharf 2014-09-26 13:29:36

回答

2

当您cancel和/或refund订阅购买,订阅不会立即终止 - 它保持有效,直到其到期时间。

取而代之,您必须revoke订阅购买,以提供退款并立即终止订阅。

有关cancel,refundrevoke方法的更多信息,请参阅this section of the Google Play API Reference

4

我相当肯定你正在努力做的事情是不可能的,你试图去做。由于我不确定订阅的时间长短,因此Google可能确实仍然是订阅的所有者,因为即使您开始退款,它仍会保持活动状态。

这允许用户从购买中获得退款,但仍然可以收到该服务。这将在应用程序所有者的判断。如果您希望通过有效的投诉处理用户,但也可以让他们保持访问权限,直到您解决问题或投诉为止,这可能是一种很好的策略。它也可以帮助最大限度地减少收视率差的影响。

为了做你想要的,你需要撤销订阅,那会立即终止它。在这个调用m_billingService.getPurchases()应该正常工作之后。

Documentation

相关问题