用于AutoRenewable订阅的定期付款的iOS Webhook / Notification

时间:2018-01-21 21:28:19

标签: ios

在处理定期付款并延长订阅时,是否有iOS发送自动续订订阅的通知?这是RENEWAL webhook应该被解释为什么?

4 个答案:

答案 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客户支持取消订阅。检查取消日期以了解订阅取消的日期和时间。

  • 续订已过期订阅的自动续订成功。检查订阅到期日期以确定下一个续订日期和时间。
  • INTERACTIVE_RENEWAL 客户通过使用应用的界面或在应用商店的帐户设置中以交互方式续订订阅。服务立即可用。
  • DID_CHANGE_RENEWAL_PREFERENCE 客户更改了在下次订阅续订时生效的计划。目前的有效计划不受影响。

所以回答你的问题:是的,成功续订意味着Apple收到了您的用户付款(并且您也将获得付款)。

但是,发送到iOS但仅发送到服务器。您需要在Apple上注册一个URL,然后在这些URL上发布这些通知。然后,您的服务器和iOS应用程序实例必须通过您的Web API进行通信,以通知应用程序。

答案 3 :(得分:0)

您可以使用以下步骤设置服务器到服务器通知:

  • 登录 App Store Connect 并选择您的应用。
  • 导航到“应用信息”部分。
  • 将 API-URL 粘贴到“App Store 服务器通知的 URL”字段中。
  • 点击页面顶部的“保存”。

enter image description here