我可以完全在服务器端验证 Google Play 应用内订阅续订吗?

Posted

技术标签:

【中文标题】我可以完全在服务器端验证 Google Play 应用内订阅续订吗?【英文标题】:Can I validate Google Play in-app subscription renewals completely server-side? 【发布时间】:2015-05-26 22:59:35 【问题描述】:

当用户首次从 Google Play 商店购买订阅时,我的应用会向我的服务器发送包含包名称、订阅/产品 ID 和购买令牌的收据。然后我可以拨打Purchases.subscriptions.get API 来验证订阅。

我不清楚的是,一旦发生续订,我是否可以完全在服务器端验证订阅?文档对此非常不清楚。

据我了解,使用 V3 购买 API,应用程序需要轮询以查看订阅是否已续订,然后将新收据转发到服务器。我假设购买令牌在续订时会有所不同,这表明不可能完全在服务器端实施续订检查。

我错过了什么吗?

【问题讨论】:

嗨 - 老问题 :) 你找到解决方案了吗?我们目前正在问自己完全相同的问题。 已经有一段时间了,但如果我没记错的话,产品 ID 和原始购买令牌足以获取自动续订订阅的当前状态。 优秀。谢谢????????? 嗨!我对此解决方案有疑问。我必须致电Purchase.subscription get Api 才能知道什么订阅到期或续订?所以我必须创建一个 cronjob 任务来获取每个用户的订阅状态?我不清楚这个解决方案的工作流程。请详细说明。谢谢 【参考方案1】:

您可以使用https://developers.google.com/android-publisher/api-ref/purchases/subscriptions/get在每个固定时间间隔后检查客户端是否自动续订或续订订阅,并检查订阅的有效性以响应https://developers.google.com/android-publisher/api-ref/purchases/subscriptions#resource您得到关注并在每次firx后通知您的服务器订阅状态间隔或仅当您获得自动续订或更改到期日期时

【讨论】:

以上是关于我可以完全在服务器端验证 Google Play 应用内订阅续订吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用适用于 android 的 google play 游戏服务实现后端服务器身份验证

使用 Google Play Developer API 进行服务器端授权?

Android/Google Play:我真的需要我的 OWN 服务器来管理应用内计费订阅吗?

google recaptcha使用

Ember.js 和玩!框架身份验证最佳实践

google play支付如何用php验证订单完成的合法性