我正在开发一款iPhone应用程序,我希望为应用内购买实施新的自动续订模式。我能够成功实现交易,甚至可以订阅应用程序,但如果用户取消自动续订订阅该怎么办?
我如何才能知道它已被取消,因此不能继续允许访问(一旦过期)?
答案 0 :(得分:4)
您可以通过向Apple的服务器发送收据验证来查找用户订阅的到期日期。请查看In-App Purchase Programming Guide上的图1-3。
基本上步骤是:
[SKPaymentQueue restoreCompletedTransactions]
。expires_date
的密钥(自格林威治标准时间1970年1月1日起以毫秒秒表示)。我使用本指南在服务器端帮助我:Verifying Apple App Store Receipts For In App Purchases With PHP and cURL。
无法确定用户是否已启用或关闭自动续订。 Apple不允许您访问此信息。唯一的方法是等到失效日期过去而没有续订。
答案 1 :(得分:2)
如果收据状态为21006
并且有一个名为cancellation_date
的密钥,那么它是取消,您可以在该密钥中找到新的到期日期,但如果您需要,则为格式化日期更好地解析与receipt['latest_expired_receipt_info']['cancellation_date_ms']
expires_date
检查