坚持交易收据

时间:2014-02-19 09:47:54

标签: ios security in-app-purchase

每当用户想要下载内容时,不是在购买后立即为我的非消耗品提供内容,而是按需提供。服务器也有收据验证例程,因此我需要将收据保存到以后显示给服务器以进行验证和内容下载。

我知道对于iOS 7.0我不需要存储收据,因为我的iAP购买收据位于应用收据本身,这不难解析并获取该信息。

但是对于iOS 6.1或更早版本,我可以在NSUserDefaults中保存来自事务的收据,所以稍后当我需要从自托管服务器下载某些内容时,我可以使用该收据来验证服务器上的特定下载(然后服务器会将它发送给苹果)?存储收据是合法,安全和通用的做法吗?

1 个答案:

答案 0 :(得分:2)

我很确定您已经浏览了以下链接

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/Restoring.html#//apple_ref/doc/uid/TP40008267-CH8-SW9

除此之外,我相信保存交易数据没有问题。至于在NSUserDefaults中保存它,我可以想到一个问题:如果用户删除并重新安装应用程序,或购买新手机,该数据将不会存储在设备上。因此,在您的自托管服务器中以某种方式保存收据会更好。对于iOS7之前的设备,链接提到了这种技术:

“如果您需要支持早于iOS 7的iOS版本,但应用收据不可用,请改为恢复已完成的交易。”