在处理定期付款并延长订阅时,是否有iOS发送自动续订订阅的通知?这是RENEWAL webhook应该被解释为什么?
答案 0 :(得分:6)
我与一位Apple代表交谈,他们说Apple只发送初次购买的通知。必须像正常交易一样轮询后续续订。
RENEWAL实际上是在“服务失效并通过Apple的结算重试产品恢复”时发送的。
这是真正的答案,它在Apple的文档中找不到。我希望这有助于其他人。
答案 1 :(得分:1)
是的,根据文档,RENEWAL是在自动续订过期订阅后发送的(请注意,这与INTERACTIVE_RENEWAL不同,因为RENEWAL由自动续订订阅到期而非用户操作自动触发)。 p>
但是,Sandbox环境略有不同(参见"测试环境"在documentation中):
自动续订订阅的行为在测试环境和生产环境之间有所不同。
在测试环境中,订阅续订发生在 加速率和自动续订订阅最多续订 每天六次。这使您可以测试应用程序处理的方式 订阅续订,订阅失效和订阅历史记录 这包括差距。请参阅测试中的自动可续订订阅 iTunes应用程序内购买配置指南了解 测试的订阅持续时间。
由于加速到期和续订率,a 订阅可以在系统尝试续订之前到期 订阅,在订阅期内留下一小段失误。这样 由于各种原因,生产中也可能出现失误 确保您的应用正确处理它们。
因此,对于您拥有的每个产品,它只会在Sandbox中每天自动续订六次。之后,您将停止接收Apple的RENEWAL通知。
答案 2 :(得分:0)
这是the documentation所说的:
状态更新通知
statusUpdateNotification是服务器到服务器通知服务 用于自动续订订阅。通知指定状态 发送通知时的订阅。
要在处理活动时获取最新信息,请使用您的应用 应该通过App Store验证最新收据。建议 您使用状态更新通知服务以及收据 验证以验证用户的当前订阅状态和 为他们提供服务。请参阅“收据验证编程指南” 有关收据验证的信息。
要接收状态更新通知,请配置订阅 iTunes Connect中应用的状态网址。 App Store将提供 JSON对象通过HTTP POST到您的服务器进行密钥订阅 表6-3中列出的事件。您的服务器负责解析, 解释并回复所有statusUpdateNotification帖子。
然后继续下面列出通知的条件:
INITIAL_BUY 首次购买订阅。将latest_receipt作为令牌存储在您的服务器上,以便随时通过App Store验证用户的订阅状态。
取消 Apple客户支持取消订阅。检查取消日期以了解订阅取消的日期和时间。
所以回答你的问题:是的,成功续订意味着Apple收到了您的用户付款(并且您也将获得付款)。
但是,不发送到iOS但仅发送到服务器。您需要在Apple上注册一个URL,然后在这些URL上发布这些通知。然后,您的服务器和iOS应用程序实例必须通过您的Web API进行通信,以通知应用程序。
答案 3 :(得分:0)