如何在iOS App Store Sandbox中测试自动续订订阅的“续订”组件?

时间:2011-07-05 20:33:24

标签: iphone ios app-store in-app-purchase subscription

民间,

我正在尝试验证自动续订订阅是否实际在沙箱环境中续订。首先,沙盒中的自动续订订阅似乎仅在5分钟内有效。说得通。我希望如果我等了五分钟,再打一次电话

https://sandbox.itunes.apple.com/verifyReceipt

根据我的收据数据,我应该看到续订的订阅时间再过了五分钟。

不幸的是情况并非如此。我看到的只是对latest_expired_receipt_info和状态21006的回复,这意味着“此收据有效但订阅已过期”,根据the Apple docs

有人能告诉我他们是否能够端到端地测试自动续订订阅,包括此更新组件?或者我是否必须启动此应用程序并交叉我的手指,prod将如宣传的那样工作?

或者,在将数据重新发布到verifyReceipt URL之前,是否需要运行某种客户端魔术/ API调用?

有一些discussion on this topic here,但我不清楚我是否可以/应该期望能够通过发布到verifyReceipt URL或者我必须做某事完全在服务器端重新验证订阅在客户端也是如此。

谢谢!

3 个答案:

答案 0 :(得分:43)

从Apple的开发者论坛复制,对于那些不愿意转到论坛的人......

想出来(但不是感谢Apple文档):

  

1个月订阅每5分钟自动续订一次。到现在为止还挺好。他们   自动续订5次然后停止,所以25分钟后你就会得到   21006错误。但即使重新购买相同的订阅   它不会在同一测试帐户上再次自动续订,因为它有   已经自动续订了5次。所以,如果你想测试更新和你   你需要一段时间一直搞乱这些订阅   创建一个新的itunes connect测试用户。老实说,这非常烦人   如果我们可以重置整个过程会更容易   购买测试用户帐户的历史记录。同时放入所有应用程序   Xcode文档中的测试信息会更好   反对将其传播到Xcode docs / iTunes Connect doc / people上   搞清楚自己的东西

希望这有帮助。

答案 1 :(得分:6)

Apple dev论坛中的此对话可能会为发现此帖的其他人提供一些问题:https://devforums.apple.com/thread/105350?tstart=0

答案 2 :(得分:3)

@Lata Sadhwani,App开发者

  

对于测试自动续订订阅,到期时间为5分钟   在沙盒中(至少对于每月订阅,不确定是否这样   对于不同的时期是不同的)。所以在测试自动续订时   在沙盒中订阅,它应该每隔5分钟自动续订一次   知道他们工作正常。

     

但有一个问题。这些订阅仅自动续订5次   (即购买发生6次)。之后,您将收到错误消息   验证收据时。所以,如果你想在那之后进行测试,那么你   将需要使用另一个IAP测试帐户进行测试(是的,这是一个痛苦   测试,特别是如果你已经这样做了很长时间!)

     

要检查订阅是否已被取消或有效,您的   收据验证码需要解析Apple的回复   服务器,他们说你应该验证每张收据。如果   订阅已过期或已被取消,相应的错误   代码将被返回(非零状态)。如果它被更新了   用户,Apple服务器返回最新的收据。