20

我正在尝试使用测试帐户测试我的应用内购买。我第一次尝试购买应用内自动更新订阅时,一切顺利,没有错误,交易按预期完成,交易状态更新为“SKPaymentTransactionStatePurchased”。但是,当我测试用户尝试再次购买订阅的场景时,我不断收到上述错误。即使商店工具包框架显示一个对话框,说明用户已订阅,我的观察者仍会在状态(SKPaymentTransactionStateFailed)中看到交易失败。

storekit 文档清楚地说明“如果用户尝试购买他们已经购买的非消耗性产品或可续订的订阅,您的应用程序会收到该项目的常规交易,而不是恢复交易。但是,不会再次向用户收取该产品的费用.您的应用程序应以与原始交易相同的方式对待这些交易”。就我而言,当我再次购买时,交易状态一直显示为“失败”。

有任何想法吗?这是在沙盒测试环境中。

4

3 回答 3

5

这是预期的行为。您仍然会收到一笔交易,它只是将其标记为失败状态,因为它并不代表新的成功购买。重新购买他们已经订阅的订阅(大概是为了在全新安装后恢复购买)不是您应该鼓励用户进行的旅程,他们应该被引导到恢复购买功能。

可以说,您可能希望每次都询问您失败的购买,以查看这是否是用户试图做的,但是您必须做很多事情来尝试区分哪些是真正的失败,哪些是真正的失败是错误的恢复。但我想说拥有一个大的“恢复”按钮并引导人们这样做要容易得多。

于 2013-02-20T11:50:48.577 回答
3

如果您从应用商店应用程序中注销,当您再次购买时,它似乎可以正常工作。但是,如果您的用户尝试两次购买相同的产品,问题仍然存在。

于 2011-06-28T23:03:53.240 回答
2

当沙盒服务器关闭和/或损坏时,我得到了这个。检查苹果的开发者论坛,看看是否有其他人得到同样的东西。

[需要开发者登录] http://devforums.apple.com/community/ios/integration/storekit

于 2011-03-07T21:38:54.197 回答