2

突然,在沙箱中,已经有效的 IAP 的应用内购买失败并显示错误代码:

<SKPaymentQueue: 0x283f14fd0>: Payment completed with error: 
Error Domain=ASDServerErrorDomain Code=5002 "An unknown error has occurred" 
UserInfo={NSLocalizedDescription=An unknown error has occurred}

Console.app 日志显示:

UserInfo={AMSURL=https://sandbox.itunes.apple.com/WebObjects/MZFinance.woa/wa/inAppBuy?guid=1fd5f870740861ead0ea8c82542657a65d3aad90, AMSServerErrorCode=5002, NSLocalizedFailureReason=An unknown error has occurred, AMSServerAllowed=false, NSLocalizedDescription=Server Error, AMSStatusCode=200, AMSServerPayload={
    "cancel-purchase-batch" = 1;
    customerMessage = "An unknown error has occurred";
    failureType = 5002;
    "m-allowed" = 0;
    pings =     (
    );
}}

我正在使用真实设备(使用 iOS 12、iOS 14.4、iOS 14.5(beta 7))...回答这个类似的问题
我正在部署 Xcode 12.4 / Xcode 12.5 (beta 3)...回答这个类似的问题
我的代码没有更改,也没有更改应用内购买。
通过 TestFlight 进行测试时也会出现相同的错误 当我连接到区域为“美国”的沙盒帐户并通过美国使用 VPN 时,不会发生错误。

错误发生在以下组合中:

  • 环境:沙盒
  • 具有 AppStore 国家美国和其他国家的各种 Apple ID,但使用欧洲 IP 登录
  • Xcode 部署和 TestFlight
  • iOS 12、14.4、14.5
  • iPhone 6、7、X
  • 当前正在生产的相同版本
  • 曾经工作过的相同代码
  • 仅具有两个自动续订订阅(自 9 个月以来一直在生产)

在以下每种情况下都不会出现该错误:

  • 环境:生产
  • 仅出于测试目的使用新的自动续订 IAP 时
  • 使用具有美国国家和美国 IP 的 Apple-ID 登录时

这个错误是什么意思?我在哪里可以找到这方面的信息?如何解决这个问题?

任何帮助表示赞赏:)

更新

该错误不再发生。再一次,我这边没有任何变化。我与 Apple 支持人员取得了联系,但他们无法向我解释发生了什么 - 可能也是因为它在美国进行测试时有效。

由于我的两个问题都没有得到回答,我将保留这个问题。也许它可以帮助遇到类似问题的人。

4

1 回答 1

1

当我在 App Store Connect 的应用内购买下添加新订阅时,我在自动续订订阅中遇到了相同的错误代码。

  • 我添加了一个带有正确 product_id 的新订阅,现在它工作正常。
  • 必须在此格式中添加产品 ID——com.(appName).app.(subscriptionName)。
  • 我在产品 ID 中使用了“_”。也许这就是问题所在。

希望您的问题将通过此解决方案解决。

于 2021-04-22T07:02:29.387 回答