沙箱中的订阅降级会产生SSServerErrorDomain / SKErrorDomain(代码0)错误

时间:2017-07-04 15:27:37

标签: ios storekit

降级订阅时我得到了这个。 paymentQueue:updatedTransactions:函数提供错误为Error Domain=SSServerErrorDomain Code=0 "You are all set" UserInfo={NSLocalizedDescription=You are all set}且状态为.failed的交易。

请注意,错误域为 SSServerErrorDomain 不是更常见的SKErrorDomain。似乎还有no documentation about SSServerErrorDomain

如果我再次尝试购买相同的降级计划,我会收到“您已经订阅了。”。

降级后的收据不包含新计划,这是预期的,因为降级将在下一个续订日生效。 1小时后,我再次检查收据,其中包含新的降级计划。 (沙箱每月订阅间隔为5分钟,续订约6次。)

我认为我们不能在这里做任何事情,因为它来自StoreKit。可能是Apple沙箱错误。

重现步骤:

  • 在iTunes Connect中的订阅组中设置2个不同级别的订阅(将调用计划A和B)
  • 转到应用程序,购买更高级别的计划(A),观察成功购买
  • 然后立即购买较低级别的计划(B)
  • 得到了上述错误。

版本: iOS 10.3.2(14F89),iPhone 7 plus

似乎其他人也看到了这一点:https://github.com/bizz84/SwiftyStoreKit/issues/231

我提交了一份雷达:http://www.openradar.me/radar?id=4998361958580224

问题:

  • 有没有人经历过这个?
  • 这可能只是沙盒问题吗?
  • 如果它也在制作中,我该如何解决这个问题?

更新: 我今天再次测试,它现在返回错误域SKErrorDomain code=0。 Apple,请告诉我们如何测试订阅降级!

1 个答案:

答案 0 :(得分:0)

你刚刚在paymentQueue:updatedTransactions:被调用后尝试过刷新收据吗?你收到计划B的收据了吗?