永远不要在Apple statusUpdateNotification上获得更新通知类型

我创建了一个由Apple webhook调用的API来处理订阅。 我在Itunes中设置了API url,由webhook调用。

根据Apple开发者网站https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnectInAppPurchase_Guide/Chapters/TestingInAppPurchases.html#//apple_ref/doc/uid/TP40013727-CH4-SW5 Testing Auto-Renewable Subscription ,在测试环境中测试自动更新订阅时,如果我选择1个月的订阅持续时间,Apple webhook将在5分钟后调用API。

但问题是,在第一次购买之后,apple webhook没有跟进我为更新潜艇而创建的API的调用。 即使我等了5分钟以上。 所以我不能从API进行任何处理来更新数据库中的用户子。

我是否需要进行一些配置以测试自动续订并使apple webhook调用API来更新子?

我们发现Apple的订阅更新webook调用相当不可靠。

根据经验:

  1. 不要指望Apple通知您续订。 通知可以任意迟到(通常在时间上留下“间隙”),或者根本不到。 我们已经保留并重试原始iTunes提供的收据,以便在订阅期结束时重新validation续订 – 到期日期将更改为续订的帐户。
  2. 也不要指望Apple通知您取消订单。 与上述相同,计算订阅持续时间,并在句点结束时重试收据(如果取消订阅,则不会更新到期日期)。

通常,这涉及将带有重试收据返回的附加事务/ in_apps映射到original_transaction_id – 并相应地更新expires_at。

希望这可以帮助!

我找不到您链接的页面,但是这个页面可能会阐明这个主题(我强调):

App Store会在自动续订订阅到期前24小时尝试向用户帐户收费。 如果续订成功,则没有服务器到服务器通知,因为自动续订订阅未进入过期状态。 但是,在少数情况下,iTunes无法续订订阅(通常与信用卡服务器存在连接问题)并且在expiration_date通过之前未续订自动续订订阅,从技术上讲,自动续订订阅已被视为已过期。 iTunes可能会继续尝试续订订阅。 如果iTunes成功,则发送RENEWAL事件。

这意味着,您不应该收到续订通知,但仅适用于订阅过期且仅续订的情况。 这也可能是沙盒更新的情况。