【发布时间】:2012-01-28 16:48:50
【问题描述】:
我希望构建一个 ios 应用程序,该应用程序将按月使用自动更新订阅。我们将使用一些每月收费的 VOIP 功能。我的问题是,当用户在 IOS 中取消订阅时,我们如何得到通知,以便我们可以通过我们的提供商取消用户的 VOIP 电话号码。
【问题讨论】:
标签: ios ios4 voip subscription auto-renewing
我希望构建一个 ios 应用程序,该应用程序将按月使用自动更新订阅。我们将使用一些每月收费的 VOIP 功能。我的问题是,当用户在 IOS 中取消订阅时,我们如何得到通知,以便我们可以通过我们的提供商取消用户的 VOIP 电话号码。
【问题讨论】:
标签: ios ios4 voip subscription auto-renewing
如上所述,您需要进行服务器端收据验证。您可以查看 Apple 的文档 here。 仅在订阅期结束时检查订阅状态是不够的,因为用户可以通过联系 Apple 退还订阅费用。您需要在服务器上获取退款。为此,您可以使用 Apple 的服务器到服务器通知。此外,还有许多其他极端情况,包括订阅升级。构建订阅验证服务器是一项复杂的任务,因此您可能需要为此使用第三方服务。
【讨论】:
另外,请不要使用 Apples IAP 文档中的以下内容:
此外,沙盒订阅最多只能自动续订 6 次。订阅自动续订 6 次后,将不再在沙盒中续订。
【讨论】:
您需要以与常规应用内购买相同的方式验证收据,但显然您将在每次订阅期到期时执行此操作。查看文档,Verifying an Auto-renewable Subscription Receipt
因此,基于此,您似乎需要设置服务器以每月检查有效订阅(cron 作业?)。如果订阅不再有效,这将允许您取消系统中的 VOIP 号码。您的应用将负责验证订阅在打开或用户尝试访问需要订阅的功能时是否仍然有效。
已更新以供评论
沙盒应该按照以下方案返回到期日期。
这是iTunes Connect Developer Guide的第164页
如果它不能以这种方式工作,您可能需要提交错误报告。
【讨论】: