服务器端未收到IOS订阅状态网址

时间:2018-10-08 09:28:13

标签: ios itunesconnect subscription

我们正在尝试使用Apple的订阅状态网址。

我们已将服务器设置为接受我们在应用页面中提供的网址,并确保该服务器符合ATS要求。 Postman的后期测试有效。 (我们看到请求并收到了我们的测试json)

但是,续订后我们仍然没有收到来自Apple的任何通知更新(甚至没有initial_buy)。

去年看到了一些问题,但没有有效的解决方案。有人最近有这个问题并解决了吗?

2 个答案:

答案 0 :(得分:0)

我无法发表评论,在不知道您的脚本是否实际收到NOTHING或仅在$ _POST中没有收到数据的情况下,很难在这里看到这种情况。

如果是后者,这应该起作用:

$data = file_get_contents('php://input');

然后,您应该能够通过调用json_decode或对数据进行任何操作来处理数据。

答案 1 :(得分:0)

我遇到了同样的问题。我认为只要处理新的订阅费用(类似于Paypal,Stripe,Android等的工作方式),Apple都会将其称为webhook。但这是一个错误。根据此技术说明:

https://developer.apple.com/library/archive/technotes/tn2413/_index.html#//apple_ref/doc/uid/DTS40016228-CH1-SUBSCRIPTIONS-MY_SERVER_PROCESS_RARELY_RECEIVES_RENEWAL_NOTICES_WHEN_THE_AUTO_RENEWING_SUBSCRIPTION_RENEWS_

  

App Store尝试在自动续订的订阅到期前24小时向用户帐户收费。如果续订成功,则不会出现服务器到服务器的通知,因为自动续订未进入过期状态。

因此Apple仅在以下情况下通知此终结点

  • 创建了一个新的订阅(至少对我们来说是这样,但是我们有一个试用版)
  • 订阅状态从有效更改为过期,反之亦然。

因此,当客户注册时,您必须跟踪订阅收据。当订阅即将到期/已到期时,请致电Apple的收据验证端点以获取新的收据。如果收据上显示订阅已过期,则当用户重新激活其Webhook