小编Anu*_*hav的帖子

在 android、flutter 中面临应用内购买消耗品的问题

支付流程工作完全正常,但是当使用慢速测试卡时,无法再次购买消耗品。使用的插件是 in_app_purchase: ^3.0.4。\n要重现该问题:

\n
    \n
  1. 购买带有“慢速测试卡,几分钟后批准”选项的产品。
  2. \n
  3. 一旦启动,然后关闭应用程序。
  4. \n
  5. 打开应用程序。购买流将被触发并await InAppPurchase.instance.completePurchase(purchaseDetails);成功运行该购买。\n但此后,当我尝试购买该产品时,Google Play 应用内购买处理程序会抛出错误:您已经拥有该商品。\n整个过程当应用程序在此过程中未关闭时,可以成功运行。
  6. \n
\n

而且我也无法将该产品转换回消耗品。

\n

代码片段

\n
purchaseParam=PurchaseParam(productDetails:selectedProduct);\nInAppPurchase.instance.buyConsumable(purchaseParam: purchaseParam);\n
Run Code Online (Sandbox Code Playgroud)\n
_subscription = purchaseUpdated.listen((purchaseDetailsList) {\n      log("initiating purchase stream");\n      p_purchaseList = purchaseDetailsList;\n      listenToPurchaseUpdated(purchaseDetailsList);\n    }, onDone: () {\n      log("done..");\n      _subscription.cancel();\n    }, onError: (error) {\n      log("error in payment is = $error");\n    }, \n);\n
Run Code Online (Sandbox Code Playgroud)\n
void listenToPurchaseUpdated(List<PurchaseDetails> purchaseDetailsList) async {\n  log("listening to purchases 1 ");\n  purchaseDetailsList.forEach((PurchaseDetails purchaseDetails) async {\n    if (purchaseDetails.status == PurchaseStatus.pending) {\n    } else {\n …
Run Code Online (Sandbox Code Playgroud)

android in-app-purchase google-play flutter flutter-in-app-purchase

5
推荐指数
0
解决办法
1143
查看次数