iOS 7+服务器验证了inapp购买发送许多收据

时间:2014-10-11 02:09:57

标签: ios in-app-purchase storekit

我正在尝试使用新的inapp购买API(ios 7+),当我以这种方式阅读收据时,我发现收据数据要大得多:

        NSURL *receiptURL = [[NSBundle mainBundle] appStoreReceiptURL];
        NSData *receiptData = [NSData dataWithContentsOfURL:receiptURL];

我在里面这样做:

- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

所以我注意到的是我将收据寄给了 " https://buy.itunes.apple.com/verifyReceipt&#34 ;; 我发送的数据远远大于transaction.transactionReceipt。

事实上,苹果的反应似乎在" in_app"中有几十的收据。阵列。 这是正常的吗?我已完成这些交易,但统一收据中的收据太多了。是对的吗?我的大手笔(那些购买数千个IAP的人)会发送大量收据,其中包含数千笔交易吗?

另外什么是SKReceiptRefreshRequest?

更新!我发现在实时环境中,所有耗材收据在调用finishTransaction后都会被删除。在沙盒环境中,情况并非如此,它只是保留它们,所以收据的数量可以达到数百个。

2 个答案:

答案 0 :(得分:0)

iOS7引入了许多IAP更改。其中包括: 1)收据存储在应用程序包中(是的,收据上的复数) 2)捆绑中是否存在特定收据取决于产品的类型。例如,我认为消费品的收据不会持续存在

您有哪些产品?

查找收据刷新的API。有时收据不在捆绑中,您可以刷新它。用户会收到提示输入苹果ID /密码,因此如果/当您使用它时,可能会让用户感到烦恼。

答案 1 :(得分:0)

是的,这是正常的

Apply会向您发送一堆所有收据。你必须弄清楚自己该怎么做。这是因为即使交易完成,您也可能需要收据来处理购买内容。