可以通过客户端应用程序(http://developer.android.com/google/play/billing/api.html#consume)轻松完成使用Google Play的应用内商品。
但是我找不到有关从后端服务器执行此使用请求的任何信息。 Purchase Status API(http://developer.android.com/google/play/billing/gp-purchase-status-api.html)旨在从后端服务器使用,但它不提供任何消耗应用内产品的方法。
有没有办法从后端服务器上使用Google Play应用内商品?
答案 0 :(得分:3)
我试图实现与您的方法类似的内容。在我们的情况下,我们的目标受众是儿童,因此我们不期望消费者是付费的人,并且父母可能会购买几个副本,每个孩子一个。因此,正常模型(每个客户一件事)并不起作用。
由于我们的服务器实际处理了许可(每个孩子),因此必须对应用程序执行任何付款(我们将其作为耗材处理),然后将令牌传递给要验证的服务器然后服务器更新许可证,下次有关孩子询问他们的许可证时,他们会认为付款已被执行。然后应用程序必须将它们标记为已消耗,即使激活不是它可以直接控制的内容。相反,似乎唯一的选择是管理所有purchaseTokens的表,并在内部将其标记为已消耗,因此应用程序必须定期询问当前(谷歌)用户的任何待处理标记是否需要消耗,以及当他们这样做时勾掉它们。作为对此的延伸,我们必须通过检查自己是否应该阻止请求(或谷歌用户支付)的孩子无法继续处理,以防他们的付款可能正在等待另一个儿童。
如果google允许服务器将耗材标记为已使用,那将会非常简单,但我还没有找到解决方案。让我们希望APIv4拥有它。
答案 1 :(得分:3)
现在至少可以使用Android Publisher V3 API进行确认,请参阅:
https://developers.google.com/android-publisher/getting_started
https://developers.google.com/android-publisher/api-ref/purchases/products/acknowledge
看起来像Consume仍然只能从客户端获得。