自动续订订阅在测试模式下自动续订时是否会发送SKPaymentTransactionStatePurchased / Restored事务?

时间:2011-05-27 08:39:33

标签: iphone in-app-purchase subscription

我期待this线程。

声明App Store调用paymentQueue并使用transaction.transactionState==SKPaymentTransactionStateRestored发布交易。

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

  1. 使用sandbox个帐户/订阅,过期并每3分钟自动续订一次;
  2. 不验证收据。
  3. 这样,我的updatedTransaction方法在第一次购买后永远不会被调用。

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

    有关沙箱的任何经验吗?另外,需要点2)或(我认为)这是可选的吗?

1 个答案:

答案 0 :(得分:3)

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

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

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