SKPaymentQueue 交易失败,沙箱中的 ASDServerErrorDomain Code=5002

时间:2021-04-12 12:55:53

标签: ios swift in-app-purchase storekit skpaymenttransaction

突然在沙盒中应用内购买已经生产的 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(测试版 7))...回答this similar question
我正在使用 Xcode 12.4 / Xcode 12.5 (beta 3) 进行部署……来回答这个 similar question
我没有更改我的代码,也没有更改应用内购买。
通过 TestFlight 测试时也会出现同样的错误 当我使用区域为“美国”的沙箱帐户连接并通过美国使用 VPN 时,不会发生该错误。

以下组合会发生错误:

  • 环境:沙盒
  • 具有 AppStore 国家/地区美国和其他国家/地区的各种 Apple ID,但使用欧洲 IP 登录
  • Xcode 部署和 TestFlight
  • iOS 12、14.4、14.5
  • iPhone 6、7、X
  • 当前正在生产的相同版本
  • 运行一次的相同代码
  • 只有两个自动续订订阅(自 9 个月开始生产)

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

  • 环境:生产
  • 仅出于测试目的而使用新的自动更新 IAP 时
  • 使用带有美国国家/地区和美国 IP 的 Apple-ID 登录时

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

感谢任何帮助:)

更新

错误不再发生。我这边也没有任何变化。我联系了 Apple 支持,但他们无法向我解释发生了什么 - 可能也是因为它在美国测试时正常工作。

因为我的问题都没有得到回答,所以我将这个问题保持开放。也许它可以帮助遇到类似问题的人。

1 个答案:

答案 0 :(得分:1)

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

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

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

相关问题