0

我正在寻找这个线程。

据说 App Store 调用 paymentQueue 并使用transaction.transactionState==SKPaymentTransactionStateRestored.

但我没有接到那些电话。我在测试

  1. 使用sandbox过期且每 3 分钟自动更新一次的帐户/订阅;
  2. 不验证收据。

这样,我的 updatedTransaction 方法在第一次购买后永远不会被调用。

无论如何,如果我稍后恢复已完成的交易,我会得到所有收据。

有沙盒经验吗?另外,第 2 点是必需的,还是(我认为)它是可选的?

4

1 回答 1

3

状态:SKPaymentTransactionStateRestored仅当您在用户的设备上有收据并使用它进行交易时才确定。如果您没有收据,则需要致电restoreCompletedTransactions决定是否申请自动续订。

没有收据的情况是用户购买auto-renewable订阅,然后删除应用程序或在其他设备上安装应用程序。在其他情况下,您可以将收据安全地存储在设备上。

问题是检测用户购买auto-renewing订阅并需要激活内容的情况。如果没有收据,如果您触发交易,它将以 state 失败SKPaymentTransactionStateFailed。查看错误代码,您将看到SKErrorPaymentCancelled. 据我所知,这是苹果公司的一个错误。您需要为您的应用做出最佳决定来处理它:/

于 2011-06-17T22:50:57.327 回答