android 有没有办法从后端服务器消费Google Play应用内产品?

1mrurvl1  于 2023-03-16  发布在  Android
关注(0)|答案(3)|浏览(336)

消费Google Play应用内产品可以很容易地从客户端应用程序完成(http://developer.android.com/google/play/billing/api.html#consume)。
但是,我找不到任何关于从后端服务器执行此消费请求的信息。购买状态API(http://developer.android.com/google/play/billing/gp-purchase-status-api.html)旨在从后端服务器使用,但它不提供任何消费应用内商品的方法。
有没有办法从后端服务器消费Google Play应用内产品?

ocebsuys

ocebsuys1#

现在至少可以使用Android Publisher V3 API进行确认,请参阅:
https://developers.google.com/android-publisher/getting_started
https://developers.google.com/android-publisher/api-ref/purchases/products/acknowledge
看起来消耗仍然只能从客户端进行。

fjaof16o

fjaof16o2#

我正在尝试实施一些听起来与你的方法相似的东西。在我们的案例中,我们的目标受众是儿童,因此我们不希望消费者是付款人,父母可能会购买几份,每个孩子一份。因此正常的模式(每个消费者一份)不起作用。
作为许可(每个孩子)实际上是由我们的服务器处理,任何付款(我们将其作为消耗品处理),必须在应用上进行操作,然后令牌传递到服务器进行验证,然后服务器更新许可证,下次相关儿童询问其许可证时,他们会感觉到付款已被操作。然后应用必须将其标记为已消耗,尽管激活不是它可以直接控制的事情。相反,似乎唯一的选择是管理所有purchaseToken的表,并在内部将它们标记为已使用,因此应用程序必须定期询问是否有任何令牌挂起(谷歌)用户,需要消费,并勾选他们时,他们这样做。作为一个扩展,我们必须过于复杂的支付过程,检查自己,如果孩子要求(或者正在付款的谷歌用户)应该被阻止继续,以防他们有另一个孩子的付款悬而未决。
如果谷歌允许服务器将消耗品标记为已使用,那就简单多了,但我还没有找到解决方案,希望APIv4能做到。

wfypjpf4

wfypjpf43#

Android Publisher V3 API的purchases.products.consume可以消费应用内项目的购买。
https://developers.google.com/android-publisher/api-ref/rest/v3/purchases.products/consume

POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:consume

相关问题