initializeStripe method

  1. @override
Future<void> initializeStripe({
  1. String? publishableKey,
  2. String? stripeAccountId,
  3. String? merchantIdentifier,
})
override

Initialize Stripe with the given configuration

Implementation

@override
Future<void> initializeStripe({
  String? publishableKey,
  String? stripeAccountId,
  String? merchantIdentifier,
}) async {
  if (_isInitialized) {
    print('Stripe is already initialized');
    return;
  }

  try {
    if (publishableKey == null || publishableKey.isEmpty) {
      throw Exception('Stripe publishableKey is required');
    }

    // Initialize Stripe
    Stripe.publishableKey = publishableKey;

    if (stripeAccountId != null && stripeAccountId.isNotEmpty) {
      Stripe.stripeAccountId = stripeAccountId;
    }

    if (merchantIdentifier != null && merchantIdentifier.isNotEmpty) {
      Stripe.merchantIdentifier = merchantIdentifier;
    }

    _isInitialized = true;
    print('Stripe initialized successfully');
  } catch (e) {
    throw Exception('Failed to initialize Stripe: $e');
  }
}