首页 文章

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

提问于
浏览
0

我当时正在寻找this线程 .

据说App Store调用paymentQueue并使用 transaction.transactionState==SKPaymentTransactionStateRestored 发布交易 .

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

  • sandbox 帐户/订阅,过期并每3分钟自动续订一次;

  • 没有验证收据 .

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

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

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

1 回答

  • 3

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

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

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

相关问题