取消针对应用内购买的自动续订的通知

Roh*_*aia 5 cocoa-touch objective-c in-app-purchase ios

我正在开发一款iPhone应用程序,我希望为应用内购买实施新的自动续订模式.我能够成功实现交易,甚至可以订阅应用程序,但如果用户取消自动续订订阅该怎么办?

我怎么能知道它已被取消,所以不能继续允许访问(一旦过期)?

And*_*rew 4

您可以通过向 Apple 服务器发送收据验证来查找用户订阅的到期日期。查看应用内购买编程指南中的图 1-3 。

基本上步骤是:

  1. 在设备上,获取应用内购买的交易收据。您在交易期间或通过调用 保存的一个[SKPaymentQueue restoreCompletedTransactions]
  2. 将该收据发送到您的服务器。(这比尝试直接从应用程序与 Apple 服务器进行收据验证更可取,因为这需要您将共享密钥存储在设备上。)
  3. 将收据从您的服务器发送到 Apple 的服务器,并在响应中查找名为(以格林尼治标准时间 1970 年 1 月 1 日以来的毫秒expires_date数表示)的密钥。

我使用本指南在服务器端为我提供帮助:Verifying Apple App Store Receipts For In App Purchases With PHP and cURL

无法确定用户是否打开或关闭了自动续订。Apple 不允许您访问此信息。唯一的办法就是等到到期日而不更新。