支付流程工作完全正常,但是当使用慢速测试卡时,无法再次购买消耗品。使用的插件是 in_app_purchase: ^3.0.4。\n要重现该问题:
\nawait InAppPurchase.instance.completePurchase(purchaseDetails);成功运行该购买。\n但此后,当我尝试购买该产品时,Google Play 应用内购买处理程序会抛出错误:您已经拥有该商品。\n整个过程当应用程序在此过程中未关闭时,可以成功运行。而且我也无法将该产品转换回消耗品。
\n代码片段
\npurchaseParam=PurchaseParam(productDetails:selectedProduct);\nInAppPurchase.instance.buyConsumable(purchaseParam: purchaseParam);\nRun 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);\nRun Code Online (Sandbox Code Playgroud)\nvoid 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