buySubscription method

Future<void> buySubscription(
  1. ProductDetails productDetails,
  2. Map<String, PurchaseDetails> purchases
)

Buy subscription/product

Implementation

Future<void> buySubscription(ProductDetails productDetails, Map<String, PurchaseDetails> purchases) async {
  if (Platform.isIOS) await clearTransactions();

  PurchaseParam purchaseParam;

  if (Platform.isAndroid) {
    final oldSubscription = purchases[productDetails.id] as GooglePlayPurchaseDetails?;
    purchaseParam = GooglePlayPurchaseParam(
      productDetails: productDetails,
      changeSubscriptionParam: oldSubscription != null ? ChangeSubscriptionParam(oldPurchaseDetails: oldSubscription) : null,
    );
  } else {
    purchaseParam = PurchaseParam(productDetails: productDetails);
  }

  _connection.buyConsumable(purchaseParam: purchaseParam).catchError(handleError);
}