如何处理苹果应用内购买中transactionReceipt被弃用的问题?

4

我目前正在服务器端验证transaction.transactionReceipt作为字符串的base64编码。问题是,transaction.transactionReceipt现在已经被弃用了,而我不知道在应用内购买中要使用什么来代替它。

新文档建议使用NSData *receipt = [NSData dataWithContentsOfURL:receiptURL]; ,但文档指出这只适用于应用购买验证,而不适用于应用内购买。

在这种情况下该怎么办?


文档说明(https://developer.apple.com/Library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ReceiptFields.html#//apple_ref/doc/uid/TP40010573-CH106-SW1)指出,应用内购买将全部列在该收据中。 - borrrden
对,但如果用户每天购买独特的应用内项目,这个调用会改变吗?目前它都在交易级别上,因此可以验证每笔购买。 - locoboy
我相信每个交易的应用程序收据都会有所改变,但我尚未确认。 - borrrden
可能是已弃用的TransactionReceipt的重复问题。 - Rick
1个回答

4
正如可以在文档的其他部分中所读到的那样,收据确实包含IAP的数据。从我的经验来看,我也已经验证过这一点,因为这是我们以前的做法。基本上唯一的改变是,不再为每个IAP都有一个收据,而是只有一个涵盖了应用和所有IAP的收据。

然而,我猜测URL仍然相同,尽管我还没有验证过,但URL所包含的数据发生了变化。


1
这是否意味着收据会在每次应用内购买后更新,并包含所有先前的应用内购买? - locoboy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接