Как прочитать статус покупки в приложении с помощью flutter? (пакет in_app_purchase)

#flutter #in-app-purchase

#flutter #покупка в приложении

Вопрос:

Я ищу, чтобы обновить функцию покупки, если покупка подлежит возврату.

В настоящее время, если я возвращаю деньги, в плагине нет информации о возврате. Поэтому пользователь сохраняет версию pro. Как я могу прочитать состояние этого возврата, чтобы обновить функцию покупки?

Вот мой код

  void deliverProduct(PurchaseDetails purchaseDetails) async {

    Stream purchaseUpdated =
        InAppPurchaseConnection.instance.purchaseUpdatedStream;
    _subscription = purchaseUpdated.listen((purchaseDetailsList) {
      _listenToPurchaseUpdated(purchaseDetailsList);
    }, onDone: () {

      _subscription.cancel();
    }, onError: (error) {
      // handle error here.

    });

    if (purchaseDetails.productID == _kConsumableId) {
      await ConsumableStore.save(purchaseDetails.purchaseID);
      List<String> consumables = await ConsumableStore.load();
      setState(() {
        _purchasePending = false;
        _consumables = consumables;

        save_achat_deblocage();

      });
    } else {
      setState(() {
        _purchases.add(purchaseDetails);
        _purchasePending = false;
      });
    }
  }
 

Даже после возврата покупки purchaseDetails.ProductID сохраняет все предыдущие purchaseID.

Спасибо

Комментарии:

1. Для подписок я бы рекомендовал вам использовать пакет Revenuecat purchases_flutter. Это просто основано на моих усилиях, пытающихся заставить их работать с другими пакетами IAP.

2. Я сказал подписку, но это не ежемесячная покупка. Только один дубль.

3. Так что, если быть точным, это покупка расходного или непотребляемого продукта. Это не моя область опыта, но, надеюсь, другие смогут вам помочь.

4. Грэм, наконец, я тестирую revenuecat, но с пожизненной покупкой. У меня такая же трудность, когда я отменяю покупку, пользователь остается в версии Pro

5. @Nitneuq вам необходимо отозвать покупку через RevenueCat, чтобы она была обнаружена.