为什么将 buyId 从 in_app_purchase(flutter) 传递到 androidPublisher API 总是抛出 400 错误?

问题描述 投票:0回答:1

当我在成功购买后传递 buyId 来代替 token 参数时,androidPublisher 订阅 API(例如取消订阅 api)总是抛出 400 错误。 buyId是Flutter中in_app_purchase包中PurchaseDetails类中的一个字段。错误看起来像这样:

  "error": {
    "code": 400,
    "message": "Invalid Value",
    "errors": [
      {
        "message": "Invalid Value",
        "domain": "global",
        "reason": "invalid"
      }
    ]
  }
}

经过各种其他问题后,似乎错误出在purchaseId字段中。看起来这不是特定于订阅购买的令牌。应该用什么来代替这个?

flutter in-app-purchase in-app-billing in-app-subscription
1个回答
0
投票

出现 400 错误的原因是,purchaseId 字段没有引用 API 中规定的purchaseToken(虽然不太清楚)。参考本机 Android 应用内计费中的 Purchase 类,这一点变得很清楚。

purchaseId字段指的是Purchase类的orderId字段(这不是androidPublisher API使用的)。为了在Flutter中引用Android的Purchase类的purchaseToken字段,请使用以下字段数据:

PurchaseDetails.verificationData.serverVerificationData

© www.soinside.com 2019 - 2024. All rights reserved.