iTunes In App 购买收据会过期吗?

Do iTunes In App Purchase Receipts Expire?

我有一个订阅 SaaS Web 应用程序,我现在正在为其构建一个 iOS 应用程序。根据 Apple 的指南,我正在为通过 iOS 应用程序注册的用户实现订阅功能作为 IAP。

IAP 是自动续订订阅。

当用户注册并完成 IAP 后,我能否将 IAP 收据存储在我的网络应用程序用户数据库中,并随时检查它以确定用户的自动续订订阅是否仍然有效?这似乎可行,但我不确定收据是否在用户自动续订订阅的整个生命周期内保持不变,或者它是否过期并以任何方式发生变化。

所以总结一下,这些收据过期了,或者我可以检查它以确定用户的订阅在未来是否仍然有效?

应用内购买收据不会过期 - 也就是说,您可以在任何给定时间对照 Apple 的服务器检查它们以验证订阅。

我找不到与此相关的任何文档,但我已经 运行 应用程序内购买应用程序三年多了,我没有遇到任何问题。这也是有道理的:没有理由使收据无效。在某种程度上,它构成了交易历史的一部分。

我能找到的最接近的东西是 https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateRemotely.html 处的 return 代码 - 观察如何没有 "invalid receipt" 的代码(21003 是因为在 Apple 的数据库)。在您的情况下,您想检查 21006,因为它告诉您收据有效但订阅已过期。