SetupPaymentSheetParameters constructor 
    
      
  
    
        - @JsonSerializable.new(explicitToJson: true)
 const
      
SetupPaymentSheetParameters(
{ - @Default.new(false) bool customFlow, 
- String? customerId, 
- String? primaryButtonLabel, 
- String? customerEphemeralKeySecret, 
- String? paymentIntentClientSecret, 
- String? setupIntentClientSecret, 
- String? merchantDisplayName, 
- PaymentSheetApplePay? applePay, 
- @JsonKey.new(toJson: UserInterfaceStyleKey.toJson) ThemeMode? style, 
- PaymentSheetGooglePay? googlePay, 
- @Default.new(false) bool allowsDelayedPaymentMethods, 
- PaymentSheetAppearance? appearance, 
- @JsonKey.new(name: 'defaultBillingDetails') BillingDetails? billingDetails, 
- String? returnURL, 
}) 
    
    
  Implementation
  @JsonSerializable(explicitToJson: true)
const factory SetupPaymentSheetParameters({
  /// Whether or not to use a custom flow.
  ///
  /// If this value is true, the payment sheet will allow to select a payment method
  /// and a later confirmation will be needed by calling [confirmPaymentSheetPayment]
  /// By default, false.
  @Default(false) bool customFlow,
  /// The identifier of the Stripe Customer object.
  /// See https://stripe.com/docs/api/customers/object#customer_object-id
  String? customerId,
  ///  The label to use for the primary button. If not set, Payment Sheet will display suitable default labels for payment and setup intents
  String? primaryButtonLabel,
  ///A temp key can be used for API operations that require a secret key.
  String? customerEphemeralKeySecret,
  /// Secret used for client-side retrieval using a publishable key.
  ///
  /// If this value is null make sure to add a [setupIntentClientSecret]
  String? paymentIntentClientSecret,
  /// The client secret of this SetupIntent
  ///
  /// If this value is null make sure to add a [paymentIntentClientSecret]
  String? setupIntentClientSecret,
  /// Display name of the merchant
  String? merchantDisplayName,
  /// Configuration related to Apple Pay
  /// If set, PaymentSheet displays Apple Pay as a payment option
  PaymentSheetApplePay? applePay,
  /// Style options for colors in PaymentSheet
  ///
  /// Parts can be overridden by [appearance].
  @JsonKey(toJson: UserInterfaceStyleKey.toJson) ThemeMode? style,
  /// Configuration related to Google Pay
  /// If set, PaymentSheet displays Google Pay as a payment option
  PaymentSheetGooglePay? googlePay,
  /// Flag that allows payment methods that do not move money at the send of the checkout.
  ///
  /// Defaul value is false.
  @Default(false) bool allowsDelayedPaymentMethods,
  /// Appearance of the paymentsheet.
  ///
  /// When no appearance defined it will fallback to [style] or Stripe default.
  PaymentSheetAppearance? appearance,
  /// Default billing information of the customer.
  ///
  /// Use this field to already prefill the customers billingDetails in the payment sheet.
  /// For example when you supply a country the country will be set on the payment sheet +
  /// alternative localization options. This does not set the billingDetails on the
  /// paymentIntent since the customer can change those.
  @JsonKey(name: 'defaultBillingDetails') BillingDetails? billingDetails,
  /// Return URL is required for IDEAL and few other payment methods
  String? returnURL,
}) = _SetupParameters;