当客户的
– (void)paymentQueue:(SKPaymentQueue *)队列
updatedTransactions:(NSArray *)事务
被调用,transactionState是SKPaymentTransactionStatePurchased,
客户端将收据发送到我们的服务器,
我们的服务器验证它.
当服务器端验证成功时,
客户端显然调用finishTransaction,没问题.
当服务器端验证失败时,
因为苹果临时返回非json,或客户端发送无效收据,或某事,
服务器将该信息返回给客户端.
接下来,我们的客户应该怎么做?
我们应该调用finishTransaction吗?
这导致无效的交易永远活在队列中?
就像在这个问题上说的那样:iPhone in-app purchase: receipt verification
But if you find out that a receipt is invalid,you should finish the associated transaction. If not,you may have extra-transactions living forever in the transaction queue. That means that each time your app runs,paymentQueue:updatedTransaction: will be called once per transaction…
但是,如果我们完成交易,我们的宝贵的用户将收到此收据(我们未能验证),是吗?
或者验证失败的交易在一段时间内到期?
这是否记录在苹果文档中的某个地方?
我在http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html没找到任何东西