{-# LANGUAGE ExplicitForAll #-} {-# LANGUAGE MultiWayIf #-} -- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator. {-# LANGUAGE OverloadedStrings #-} -- | Contains the different functions to run the operation postPaymentIntentsIntent module StripeAPI.Operations.PostPaymentIntentsIntent where import qualified Control.Monad.Fail import qualified Control.Monad.Trans.Reader import qualified Data.Aeson import qualified Data.Aeson as Data.Aeson.Encoding.Internal import qualified Data.Aeson as Data.Aeson.Types import qualified Data.Aeson as Data.Aeson.Types.FromJSON import qualified Data.Aeson as Data.Aeson.Types.Internal import qualified Data.Aeson as Data.Aeson.Types.ToJSON import qualified Data.ByteString.Char8 import qualified Data.ByteString.Char8 as Data.ByteString.Internal import qualified Data.Either import qualified Data.Functor import qualified Data.Scientific import qualified Data.Text import qualified Data.Text.Internal import qualified Data.Time.Calendar as Data.Time.Calendar.Days import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime import qualified Data.Vector import qualified GHC.Base import qualified GHC.Classes import qualified GHC.Int import qualified GHC.Show import qualified GHC.Types import qualified Network.HTTP.Client import qualified Network.HTTP.Client as Network.HTTP.Client.Request import qualified Network.HTTP.Client as Network.HTTP.Client.Types import qualified Network.HTTP.Simple import qualified Network.HTTP.Types import qualified Network.HTTP.Types as Network.HTTP.Types.Status import qualified Network.HTTP.Types as Network.HTTP.Types.URI import qualified StripeAPI.Common import StripeAPI.Types import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe -- | > POST /v1/payment_intents/{intent} -- -- \

Updates properties on a PaymentIntent object without confirming.\<\/p> -- -- \

Depending on which properties you update, you may need to confirm the -- PaymentIntent again. For example, updating the \payment_method\<\/code> will -- always require you to confirm the PaymentIntent again. If you prefer to -- update and confirm at the same time, we recommend updating properties via -- the \confirm API\<\/a> instead.\<\/p> postPaymentIntentsIntent :: forall m. StripeAPI.Common.MonadHTTP m => -- | intent | Constraints: Maximum length of 5000 Data.Text.Internal.Text -> -- | The request body to send GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostPaymentIntentsIntentResponse) postPaymentIntentsIntent intent body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostPaymentIntentsIntentResponseError GHC.Base.id GHC.Base.. ( \response body -> if | (\status_1 -> Network.HTTP.Types.Status.statusCode status_1 GHC.Classes.== 200) (Network.HTTP.Client.Types.responseStatus response) -> PostPaymentIntentsIntentResponse200 Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String PaymentIntent ) | GHC.Base.const GHC.Types.True (Network.HTTP.Client.Types.responseStatus response) -> PostPaymentIntentsIntentResponseDefault Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String Error ) | GHC.Base.otherwise -> Data.Either.Left "Missing default response type" ) response_0 ) response_0 ) (StripeAPI.Common.doBodyCallWithConfigurationM (Data.Text.toUpper GHC.Base.$ Data.Text.pack "POST") (Data.Text.pack ("/v1/payment_intents/" GHC.Base.++ (Data.ByteString.Char8.unpack (Network.HTTP.Types.URI.urlEncode GHC.Types.True GHC.Base.$ (Data.ByteString.Char8.pack GHC.Base.$ StripeAPI.Common.stringifyModel intent)) GHC.Base.++ ""))) GHC.Base.mempty body StripeAPI.Common.RequestBodyEncodingFormData) -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostPaymentIntentsIntentRequestBody = PostPaymentIntentsIntentRequestBody { -- | amount: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https:\/\/stripe.com\/docs\/currencies\#zero-decimal) (e.g., 100 cents to charge \$1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is \$0.50 US or [equivalent in charge currency](https:\/\/stripe.com\/docs\/currencies\#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of \$999,999.99). postPaymentIntentsIntentRequestBodyAmount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | application_fee_amount: The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner\'s Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts). postPaymentIntentsIntentRequestBodyApplicationFeeAmount :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'Variants), -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies). postPaymentIntentsIntentRequestBodyCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | customer: ID of the Customer this PaymentIntent belongs to, if one exists. -- -- Payment methods attached to other Customers cannot be used with this PaymentIntent. -- -- If present in combination with [setup_future_usage](https:\/\/stripe.com\/docs\/api\#payment_intent_object-setup_future_usage), this PaymentIntent\'s payment method will be attached to the Customer after the PaymentIntent has been confirmed and any required actions from the user are complete. -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyCustomer :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 1000 postPaymentIntentsIntentRequestBodyDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | expand: Specifies which fields in the response should be expanded. postPaymentIntentsIntentRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`. postPaymentIntentsIntentRequestBodyMetadata :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyMetadata'Variants), -- | payment_method: ID of the payment method (a PaymentMethod, Card, or [compatible Source](https:\/\/stripe.com\/docs\/payments\/payment-methods\/transitioning\#compatibility) object) to attach to this PaymentIntent. -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | payment_method_data: If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear -- in the [payment_method](https:\/\/stripe.com\/docs\/api\/payment_intents\/object\#payment_intent_object-payment_method) -- property on the PaymentIntent. postPaymentIntentsIntentRequestBodyPaymentMethodData :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'), -- | payment_method_options: Payment-method-specific configuration for this PaymentIntent. postPaymentIntentsIntentRequestBodyPaymentMethodOptions :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'), -- | payment_method_types: The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. postPaymentIntentsIntentRequestBodyPaymentMethodTypes :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | receipt_email: Email address that the receipt for the resulting payment will be sent to. If \`receipt_email\` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https:\/\/dashboard.stripe.com\/account\/emails). postPaymentIntentsIntentRequestBodyReceiptEmail :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyReceiptEmail'Variants), -- | setup_future_usage: Indicates that you intend to make future payments with this PaymentIntent\'s payment method. -- -- Providing this parameter will [attach the payment method](https:\/\/stripe.com\/docs\/payments\/save-during-payment) to the PaymentIntent\'s Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https:\/\/stripe.com\/docs\/api\/payment_methods\/attach) to a Customer after the transaction completes. -- -- When processing card payments, Stripe also uses \`setup_future_usage\` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https:\/\/stripe.com\/docs\/strong-customer-authentication). -- -- If \`setup_future_usage\` is already set and you are performing a request using a publishable key, you may only update the value from \`on_session\` to \`off_session\`. postPaymentIntentsIntentRequestBodySetupFutureUsage :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodySetupFutureUsage'), -- | shipping: Shipping information for this PaymentIntent. postPaymentIntentsIntentRequestBodyShipping :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyShipping'Variants), -- | statement_descriptor: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. -- -- Constraints: -- -- * Maximum length of 22 postPaymentIntentsIntentRequestBodyStatementDescriptor :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | statement_descriptor_suffix: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. -- -- Constraints: -- -- * Maximum length of 22 postPaymentIntentsIntentRequestBodyStatementDescriptorSuffix :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | transfer_data: The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts). postPaymentIntentsIntentRequestBodyTransferData :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyTransferData'), -- | transfer_group: A string that identifies the resulting payment as part of a group. \`transfer_group\` may only be provided if it has not been set. See the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts) for details. postPaymentIntentsIntentRequestBodyTransferGroup :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBody where toJSON obj = Data.Aeson.Types.Internal.object ("amount" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyAmount obj : "application_fee_amount" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyApplicationFeeAmount obj : "currency" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyCurrency obj : "customer" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyCustomer obj : "description" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyDescription obj : "expand" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyExpand obj : "metadata" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyMetadata obj : "payment_method" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethod obj : "payment_method_data" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData obj : "payment_method_options" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions obj : "payment_method_types" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodTypes obj : "receipt_email" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyReceiptEmail obj : "setup_future_usage" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodySetupFutureUsage obj : "shipping" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping obj : "statement_descriptor" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyStatementDescriptor obj : "statement_descriptor_suffix" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyStatementDescriptorSuffix obj : "transfer_data" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyTransferData obj : "transfer_group" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyTransferGroup obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("amount" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyAmount obj) GHC.Base.<> (("application_fee_amount" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyApplicationFeeAmount obj) GHC.Base.<> (("currency" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyCurrency obj) GHC.Base.<> (("customer" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyCustomer obj) GHC.Base.<> (("description" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyDescription obj) GHC.Base.<> (("expand" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyExpand obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyMetadata obj) GHC.Base.<> (("payment_method" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethod obj) GHC.Base.<> (("payment_method_data" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData obj) GHC.Base.<> (("payment_method_options" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions obj) GHC.Base.<> (("payment_method_types" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodTypes obj) GHC.Base.<> (("receipt_email" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyReceiptEmail obj) GHC.Base.<> (("setup_future_usage" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodySetupFutureUsage obj) GHC.Base.<> (("shipping" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping obj) GHC.Base.<> (("statement_descriptor" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyStatementDescriptor obj) GHC.Base.<> (("statement_descriptor_suffix" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyStatementDescriptorSuffix obj) GHC.Base.<> (("transfer_data" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyTransferData obj) GHC.Base.<> ("transfer_group" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyTransferGroup obj)))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBody" (\obj -> (((((((((((((((((GHC.Base.pure PostPaymentIntentsIntentRequestBody GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "expand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_options")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_types")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_future_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor_suffix")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_group")) -- | Create a new 'PostPaymentIntentsIntentRequestBody' with all required fields. mkPostPaymentIntentsIntentRequestBody :: PostPaymentIntentsIntentRequestBody mkPostPaymentIntentsIntentRequestBody = PostPaymentIntentsIntentRequestBody { postPaymentIntentsIntentRequestBodyAmount = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyApplicationFeeAmount = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyCurrency = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyCustomer = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyDescription = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyExpand = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyMetadata = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethod = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodTypes = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyReceiptEmail = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodySetupFutureUsage = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyShipping = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyStatementDescriptor = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyStatementDescriptorSuffix = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyTransferData = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyTransferGroup = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.application_fee_amount.anyOf@ in the specification. -- -- The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner\'s Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts). data PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'EmptyString | PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'Int GHC.Types.Int deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'Variants where toJSON (PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'Int a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyApplicationFeeAmount'Int Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.metadata.anyOf@ in the specification. -- -- Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`. data PostPaymentIntentsIntentRequestBodyMetadata'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyMetadata'EmptyString | PostPaymentIntentsIntentRequestBodyMetadata'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyMetadata'Variants where toJSON (PostPaymentIntentsIntentRequestBodyMetadata'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyMetadata'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyMetadata'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyMetadata'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyMetadata'Object Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data@ in the specification. -- -- If provided, this hash will be used to create a PaymentMethod. The new PaymentMethod will appear -- in the [payment_method](https:\/\/stripe.com\/docs\/api\/payment_intents\/object\#payment_intent_object-payment_method) -- property on the PaymentIntent. data PostPaymentIntentsIntentRequestBodyPaymentMethodData' = PostPaymentIntentsIntentRequestBodyPaymentMethodData' { -- | acss_debit postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'), -- | afterpay_clearpay postPaymentIntentsIntentRequestBodyPaymentMethodData'AfterpayClearpay :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | alipay postPaymentIntentsIntentRequestBodyPaymentMethodData'Alipay :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | au_becs_debit postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'), -- | bacs_debit postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'), -- | bancontact postPaymentIntentsIntentRequestBodyPaymentMethodData'Bancontact :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | billing_details postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'), -- | boleto postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'), -- | eps postPaymentIntentsIntentRequestBodyPaymentMethodData'Eps :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'), -- | fpx postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'), -- | giropay postPaymentIntentsIntentRequestBodyPaymentMethodData'Giropay :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | grabpay postPaymentIntentsIntentRequestBodyPaymentMethodData'Grabpay :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | ideal postPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'), -- | interac_present postPaymentIntentsIntentRequestBodyPaymentMethodData'InteracPresent :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | metadata postPaymentIntentsIntentRequestBodyPaymentMethodData'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | oxxo postPaymentIntentsIntentRequestBodyPaymentMethodData'Oxxo :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | p24 postPaymentIntentsIntentRequestBodyPaymentMethodData'P24 :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'), -- | sepa_debit postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'), -- | sofort postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'), -- | type postPaymentIntentsIntentRequestBodyPaymentMethodData'Type :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type' } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData' where toJSON obj = Data.Aeson.Types.Internal.object ("acss_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit obj : "afterpay_clearpay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AfterpayClearpay obj : "alipay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Alipay obj : "au_becs_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit obj : "bacs_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit obj : "bancontact" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Bancontact obj : "billing_details" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails obj : "boleto" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto obj : "eps" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Eps obj : "fpx" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx obj : "giropay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Giropay obj : "grabpay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Grabpay obj : "ideal" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal obj : "interac_present" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'InteracPresent obj : "metadata" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Metadata obj : "oxxo" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Oxxo obj : "p24" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'P24 obj : "sepa_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit obj : "sofort" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort obj : "type" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Type obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("acss_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit obj) GHC.Base.<> (("afterpay_clearpay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AfterpayClearpay obj) GHC.Base.<> (("alipay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Alipay obj) GHC.Base.<> (("au_becs_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit obj) GHC.Base.<> (("bacs_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit obj) GHC.Base.<> (("bancontact" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Bancontact obj) GHC.Base.<> (("billing_details" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails obj) GHC.Base.<> (("boleto" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto obj) GHC.Base.<> (("eps" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Eps obj) GHC.Base.<> (("fpx" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx obj) GHC.Base.<> (("giropay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Giropay obj) GHC.Base.<> (("grabpay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Grabpay obj) GHC.Base.<> (("ideal" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal obj) GHC.Base.<> (("interac_present" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'InteracPresent obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Metadata obj) GHC.Base.<> (("oxxo" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Oxxo obj) GHC.Base.<> (("p24" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'P24 obj) GHC.Base.<> (("sepa_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit obj) GHC.Base.<> (("sofort" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort obj) GHC.Base.<> ("type" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Type obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'" (\obj -> (((((((((((((((((((GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "acss_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "afterpay_clearpay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "au_becs_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bacs_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "boleto")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fpx")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "grabpay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interac_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "oxxo")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData' :: -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'Type' PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type' -> PostPaymentIntentsIntentRequestBodyPaymentMethodData' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData' postPaymentIntentsIntentRequestBodyPaymentMethodData'Type = PostPaymentIntentsIntentRequestBodyPaymentMethodData' { postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'AfterpayClearpay = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Alipay = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Bancontact = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Eps = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Giropay = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Grabpay = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'InteracPresent = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Metadata = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Oxxo = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'P24 = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'Type = postPaymentIntentsIntentRequestBodyPaymentMethodData'Type } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.acss_debit@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' { -- | account_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'AccountNumber :: Data.Text.Internal.Text, -- | institution_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'InstitutionNumber :: Data.Text.Internal.Text, -- | transit_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'TransitNumber :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' where toJSON obj = Data.Aeson.Types.Internal.object ("account_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'AccountNumber obj : "institution_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'InstitutionNumber obj : "transit_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'TransitNumber obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'AccountNumber obj) GHC.Base.<> (("institution_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'InstitutionNumber obj) GHC.Base.<> ("transit_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'TransitNumber obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'" (\obj -> ((GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "account_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "institution_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "transit_number")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' :: -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'AccountNumber' Data.Text.Internal.Text -> -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'InstitutionNumber' Data.Text.Internal.Text -> -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'TransitNumber' Data.Text.Internal.Text -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'AccountNumber postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'InstitutionNumber postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'TransitNumber = PostPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit' { postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'AccountNumber = postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'AccountNumber, postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'InstitutionNumber = postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'InstitutionNumber, postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'TransitNumber = postPaymentIntentsIntentRequestBodyPaymentMethodData'AcssDebit'TransitNumber } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.au_becs_debit@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' { -- | account_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'AccountNumber :: Data.Text.Internal.Text, -- | bsb_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'BsbNumber :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' where toJSON obj = Data.Aeson.Types.Internal.object ("account_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'AccountNumber obj : "bsb_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'BsbNumber obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'AccountNumber obj) GHC.Base.<> ("bsb_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'BsbNumber obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'" (\obj -> (GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "account_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "bsb_number")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' :: -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'AccountNumber' Data.Text.Internal.Text -> -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'BsbNumber' Data.Text.Internal.Text -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'AccountNumber postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'BsbNumber = PostPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit' { postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'AccountNumber = postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'AccountNumber, postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'BsbNumber = postPaymentIntentsIntentRequestBodyPaymentMethodData'AuBecsDebit'BsbNumber } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.bacs_debit@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' { -- | account_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'AccountNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | sort_code -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'SortCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' where toJSON obj = Data.Aeson.Types.Internal.object ("account_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'AccountNumber obj : "sort_code" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'SortCode obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'AccountNumber obj) GHC.Base.<> ("sort_code" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'SortCode obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'" (\obj -> (GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sort_code")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit' { postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'AccountNumber = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BacsDebit'SortCode = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.billing_details@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' { -- | address postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'Variants), -- | email postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | name -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' where toJSON obj = Data.Aeson.Types.Internal.object ("address" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address obj : "email" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Email obj : "name" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Name obj : "phone" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Phone obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("address" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Email obj) GHC.Base.<> (("name" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Name obj) GHC.Base.<> ("phone" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Phone obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'" (\obj -> (((GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails' { postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Email = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Name = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Phone = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.billing_details.properties.address.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1City obj : "country" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Country obj : "line1" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1" (\obj -> (((((GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 { postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1City = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Country = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Line1 = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1Line2 = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1PostalCode = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1State = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.billing_details.properties.address.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'PostPaymentIntentsIntentRequestBodyPaymentMethodData'BillingDetails'Address'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.boleto@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' { -- | tax_id -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'TaxId :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' where toJSON obj = Data.Aeson.Types.Internal.object ("tax_id" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'TaxId obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("tax_id" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'TaxId obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "tax_id")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' :: -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'TaxId' Data.Text.Internal.Text -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'TaxId = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto' {postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'TaxId = postPaymentIntentsIntentRequestBodyPaymentMethodData'Boleto'TaxId} -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.eps@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' { -- | bank -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' where toJSON obj = Data.Aeson.Types.Internal.object ("bank" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("bank" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps' {postPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.eps.properties.bank@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"arzte_und_apotheker_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumArzteUndApothekerBank | -- | Represents the JSON value @"austrian_anadi_bank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumAustrianAnadiBankAg | -- | Represents the JSON value @"bank_austria"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankAustria | -- | Represents the JSON value @"bankhaus_carl_spangler"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankhausCarlSpangler | -- | Represents the JSON value @"bankhaus_schelhammer_und_schattera_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankhausSchelhammerUndSchatteraAg | -- | Represents the JSON value @"bawag_psk_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBawagPskAg | -- | Represents the JSON value @"bks_bank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBksBankAg | -- | Represents the JSON value @"brull_kallmus_bank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBrullKallmusBankAg | -- | Represents the JSON value @"btv_vier_lander_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBtvVierLanderBank | -- | Represents the JSON value @"capital_bank_grawe_gruppe_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumCapitalBankGraweGruppeAg | -- | Represents the JSON value @"dolomitenbank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumDolomitenbank | -- | Represents the JSON value @"easybank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumEasybankAg | -- | Represents the JSON value @"erste_bank_und_sparkassen"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumErsteBankUndSparkassen | -- | Represents the JSON value @"hypo_alpeadriabank_international_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoAlpeadriabankInternationalAg | -- | Represents the JSON value @"hypo_bank_burgenland_aktiengesellschaft"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoBankBurgenlandAktiengesellschaft | -- | Represents the JSON value @"hypo_noe_lb_fur_niederosterreich_u_wien"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoNoeLbFurNiederosterreichUWien | -- | Represents the JSON value @"hypo_oberosterreich_salzburg_steiermark"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoOberosterreichSalzburgSteiermark | -- | Represents the JSON value @"hypo_tirol_bank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoTirolBankAg | -- | Represents the JSON value @"hypo_vorarlberg_bank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoVorarlbergBankAg | -- | Represents the JSON value @"marchfelder_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumMarchfelderBank | -- | Represents the JSON value @"oberbank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumOberbankAg | -- | Represents the JSON value @"raiffeisen_bankengruppe_osterreich"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumRaiffeisenBankengruppeOsterreich | -- | Represents the JSON value @"schoellerbank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumSchoellerbankAg | -- | Represents the JSON value @"sparda_bank_wien"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumSpardaBankWien | -- | Represents the JSON value @"volksbank_gruppe"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVolksbankGruppe | -- | Represents the JSON value @"volkskreditbank_ag"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVolkskreditbankAg | -- | Represents the JSON value @"vr_bank_braunau"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVrBankBraunau deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumArzteUndApothekerBank) = "arzte_und_apotheker_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumAustrianAnadiBankAg) = "austrian_anadi_bank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankAustria) = "bank_austria" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankhausCarlSpangler) = "bankhaus_carl_spangler" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankhausSchelhammerUndSchatteraAg) = "bankhaus_schelhammer_und_schattera_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBawagPskAg) = "bawag_psk_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBksBankAg) = "bks_bank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBrullKallmusBankAg) = "brull_kallmus_bank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBtvVierLanderBank) = "btv_vier_lander_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumCapitalBankGraweGruppeAg) = "capital_bank_grawe_gruppe_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumDolomitenbank) = "dolomitenbank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumEasybankAg) = "easybank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumErsteBankUndSparkassen) = "erste_bank_und_sparkassen" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoAlpeadriabankInternationalAg) = "hypo_alpeadriabank_international_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoBankBurgenlandAktiengesellschaft) = "hypo_bank_burgenland_aktiengesellschaft" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoNoeLbFurNiederosterreichUWien) = "hypo_noe_lb_fur_niederosterreich_u_wien" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoOberosterreichSalzburgSteiermark) = "hypo_oberosterreich_salzburg_steiermark" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoTirolBankAg) = "hypo_tirol_bank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoVorarlbergBankAg) = "hypo_vorarlberg_bank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumMarchfelderBank) = "marchfelder_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumOberbankAg) = "oberbank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumRaiffeisenBankengruppeOsterreich) = "raiffeisen_bankengruppe_osterreich" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumSchoellerbankAg) = "schoellerbank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumSpardaBankWien) = "sparda_bank_wien" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVolksbankGruppe) = "volksbank_gruppe" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVolkskreditbankAg) = "volkskreditbank_ag" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVrBankBraunau) = "vr_bank_braunau" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "arzte_und_apotheker_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumArzteUndApothekerBank | val GHC.Classes.== "austrian_anadi_bank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumAustrianAnadiBankAg | val GHC.Classes.== "bank_austria" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankAustria | val GHC.Classes.== "bankhaus_carl_spangler" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankhausCarlSpangler | val GHC.Classes.== "bankhaus_schelhammer_und_schattera_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBankhausSchelhammerUndSchatteraAg | val GHC.Classes.== "bawag_psk_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBawagPskAg | val GHC.Classes.== "bks_bank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBksBankAg | val GHC.Classes.== "brull_kallmus_bank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBrullKallmusBankAg | val GHC.Classes.== "btv_vier_lander_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumBtvVierLanderBank | val GHC.Classes.== "capital_bank_grawe_gruppe_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumCapitalBankGraweGruppeAg | val GHC.Classes.== "dolomitenbank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumDolomitenbank | val GHC.Classes.== "easybank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumEasybankAg | val GHC.Classes.== "erste_bank_und_sparkassen" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumErsteBankUndSparkassen | val GHC.Classes.== "hypo_alpeadriabank_international_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoAlpeadriabankInternationalAg | val GHC.Classes.== "hypo_bank_burgenland_aktiengesellschaft" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoBankBurgenlandAktiengesellschaft | val GHC.Classes.== "hypo_noe_lb_fur_niederosterreich_u_wien" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoNoeLbFurNiederosterreichUWien | val GHC.Classes.== "hypo_oberosterreich_salzburg_steiermark" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoOberosterreichSalzburgSteiermark | val GHC.Classes.== "hypo_tirol_bank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoTirolBankAg | val GHC.Classes.== "hypo_vorarlberg_bank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumHypoVorarlbergBankAg | val GHC.Classes.== "marchfelder_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumMarchfelderBank | val GHC.Classes.== "oberbank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumOberbankAg | val GHC.Classes.== "raiffeisen_bankengruppe_osterreich" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumRaiffeisenBankengruppeOsterreich | val GHC.Classes.== "schoellerbank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumSchoellerbankAg | val GHC.Classes.== "sparda_bank_wien" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumSpardaBankWien | val GHC.Classes.== "volksbank_gruppe" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVolksbankGruppe | val GHC.Classes.== "volkskreditbank_ag" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVolkskreditbankAg | val GHC.Classes.== "vr_bank_braunau" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'EnumVrBankBraunau | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Eps'Bank'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.fpx@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' { -- | bank -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank' } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' where toJSON obj = Data.Aeson.Types.Internal.object ("bank" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("bank" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "bank")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' :: -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank' PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank' -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx' {postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank = postPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank} -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.fpx.properties.bank@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"affin_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAffinBank | -- | Represents the JSON value @"alliance_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAllianceBank | -- | Represents the JSON value @"ambank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAmbank | -- | Represents the JSON value @"bank_islam"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankIslam | -- | Represents the JSON value @"bank_muamalat"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankMuamalat | -- | Represents the JSON value @"bank_rakyat"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankRakyat | -- | Represents the JSON value @"bsn"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBsn | -- | Represents the JSON value @"cimb"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumCimb | -- | Represents the JSON value @"deutsche_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumDeutscheBank | -- | Represents the JSON value @"hong_leong_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumHongLeongBank | -- | Represents the JSON value @"hsbc"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumHsbc | -- | Represents the JSON value @"kfh"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumKfh | -- | Represents the JSON value @"maybank2e"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumMaybank2e | -- | Represents the JSON value @"maybank2u"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumMaybank2u | -- | Represents the JSON value @"ocbc"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumOcbc | -- | Represents the JSON value @"pb_enterprise"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumPbEnterprise | -- | Represents the JSON value @"public_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumPublicBank | -- | Represents the JSON value @"rhb"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumRhb | -- | Represents the JSON value @"standard_chartered"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumStandardChartered | -- | Represents the JSON value @"uob"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumUob deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAffinBank) = "affin_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAllianceBank) = "alliance_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAmbank) = "ambank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankIslam) = "bank_islam" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankMuamalat) = "bank_muamalat" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankRakyat) = "bank_rakyat" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBsn) = "bsn" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumCimb) = "cimb" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumDeutscheBank) = "deutsche_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumHongLeongBank) = "hong_leong_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumHsbc) = "hsbc" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumKfh) = "kfh" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumMaybank2e) = "maybank2e" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumMaybank2u) = "maybank2u" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumOcbc) = "ocbc" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumPbEnterprise) = "pb_enterprise" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumPublicBank) = "public_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumRhb) = "rhb" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumStandardChartered) = "standard_chartered" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumUob) = "uob" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "affin_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAffinBank | val GHC.Classes.== "alliance_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAllianceBank | val GHC.Classes.== "ambank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumAmbank | val GHC.Classes.== "bank_islam" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankIslam | val GHC.Classes.== "bank_muamalat" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankMuamalat | val GHC.Classes.== "bank_rakyat" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBankRakyat | val GHC.Classes.== "bsn" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumBsn | val GHC.Classes.== "cimb" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumCimb | val GHC.Classes.== "deutsche_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumDeutscheBank | val GHC.Classes.== "hong_leong_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumHongLeongBank | val GHC.Classes.== "hsbc" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumHsbc | val GHC.Classes.== "kfh" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumKfh | val GHC.Classes.== "maybank2e" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumMaybank2e | val GHC.Classes.== "maybank2u" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumMaybank2u | val GHC.Classes.== "ocbc" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumOcbc | val GHC.Classes.== "pb_enterprise" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumPbEnterprise | val GHC.Classes.== "public_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumPublicBank | val GHC.Classes.== "rhb" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumRhb | val GHC.Classes.== "standard_chartered" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumStandardChartered | val GHC.Classes.== "uob" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'EnumUob | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Fpx'Bank'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.ideal@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' { -- | bank -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' where toJSON obj = Data.Aeson.Types.Internal.object ("bank" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("bank" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal' {postPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.ideal.properties.bank@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"abn_amro"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumAbnAmro | -- | Represents the JSON value @"asn_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumAsnBank | -- | Represents the JSON value @"bunq"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumBunq | -- | Represents the JSON value @"handelsbanken"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumHandelsbanken | -- | Represents the JSON value @"ing"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumIng | -- | Represents the JSON value @"knab"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumKnab | -- | Represents the JSON value @"moneyou"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumMoneyou | -- | Represents the JSON value @"rabobank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRabobank | -- | Represents the JSON value @"regiobank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRegiobank | -- | Represents the JSON value @"revolut"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRevolut | -- | Represents the JSON value @"sns_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumSnsBank | -- | Represents the JSON value @"triodos_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumTriodosBank | -- | Represents the JSON value @"van_lanschot"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumVanLanschot deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumAbnAmro) = "abn_amro" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumAsnBank) = "asn_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumBunq) = "bunq" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumHandelsbanken) = "handelsbanken" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumIng) = "ing" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumKnab) = "knab" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumMoneyou) = "moneyou" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRabobank) = "rabobank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRegiobank) = "regiobank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRevolut) = "revolut" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumSnsBank) = "sns_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumTriodosBank) = "triodos_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumVanLanschot) = "van_lanschot" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "abn_amro" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumAbnAmro | val GHC.Classes.== "asn_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumAsnBank | val GHC.Classes.== "bunq" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumBunq | val GHC.Classes.== "handelsbanken" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumHandelsbanken | val GHC.Classes.== "ing" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumIng | val GHC.Classes.== "knab" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumKnab | val GHC.Classes.== "moneyou" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumMoneyou | val GHC.Classes.== "rabobank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRabobank | val GHC.Classes.== "regiobank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRegiobank | val GHC.Classes.== "revolut" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumRevolut | val GHC.Classes.== "sns_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumSnsBank | val GHC.Classes.== "triodos_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumTriodosBank | val GHC.Classes.== "van_lanschot" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'EnumVanLanschot | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Ideal'Bank'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.p24@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' { -- | bank -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' where toJSON obj = Data.Aeson.Types.Internal.object ("bank" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("bank" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24' {postPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.p24.properties.bank@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"alior_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumAliorBank | -- | Represents the JSON value @"bank_millennium"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankMillennium | -- | Represents the JSON value @"bank_nowy_bfg_sa"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankNowyBfgSa | -- | Represents the JSON value @"bank_pekao_sa"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankPekaoSa | -- | Represents the JSON value @"banki_spbdzielcze"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankiSpbdzielcze | -- | Represents the JSON value @"blik"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBlik | -- | Represents the JSON value @"bnp_paribas"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBnpParibas | -- | Represents the JSON value @"boz"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBoz | -- | Represents the JSON value @"citi_handlowy"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumCitiHandlowy | -- | Represents the JSON value @"credit_agricole"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumCreditAgricole | -- | Represents the JSON value @"envelobank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumEnvelobank | -- | Represents the JSON value @"etransfer_pocztowy24"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumEtransferPocztowy24 | -- | Represents the JSON value @"getin_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumGetinBank | -- | Represents the JSON value @"ideabank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumIdeabank | -- | Represents the JSON value @"ing"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumIng | -- | Represents the JSON value @"inteligo"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumInteligo | -- | Represents the JSON value @"mbank_mtransfer"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumMbankMtransfer | -- | Represents the JSON value @"nest_przelew"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumNestPrzelew | -- | Represents the JSON value @"noble_pay"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumNoblePay | -- | Represents the JSON value @"pbac_z_ipko"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumPbacZIpko | -- | Represents the JSON value @"plus_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumPlusBank | -- | Represents the JSON value @"santander_przelew24"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumSantanderPrzelew24 | -- | Represents the JSON value @"tmobile_usbugi_bankowe"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumTmobileUsbugiBankowe | -- | Represents the JSON value @"toyota_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumToyotaBank | -- | Represents the JSON value @"volkswagen_bank"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumVolkswagenBank deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumAliorBank) = "alior_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankMillennium) = "bank_millennium" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankNowyBfgSa) = "bank_nowy_bfg_sa" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankPekaoSa) = "bank_pekao_sa" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankiSpbdzielcze) = "banki_spbdzielcze" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBlik) = "blik" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBnpParibas) = "bnp_paribas" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBoz) = "boz" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumCitiHandlowy) = "citi_handlowy" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumCreditAgricole) = "credit_agricole" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumEnvelobank) = "envelobank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumEtransferPocztowy24) = "etransfer_pocztowy24" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumGetinBank) = "getin_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumIdeabank) = "ideabank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumIng) = "ing" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumInteligo) = "inteligo" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumMbankMtransfer) = "mbank_mtransfer" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumNestPrzelew) = "nest_przelew" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumNoblePay) = "noble_pay" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumPbacZIpko) = "pbac_z_ipko" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumPlusBank) = "plus_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumSantanderPrzelew24) = "santander_przelew24" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumTmobileUsbugiBankowe) = "tmobile_usbugi_bankowe" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumToyotaBank) = "toyota_bank" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumVolkswagenBank) = "volkswagen_bank" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "alior_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumAliorBank | val GHC.Classes.== "bank_millennium" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankMillennium | val GHC.Classes.== "bank_nowy_bfg_sa" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankNowyBfgSa | val GHC.Classes.== "bank_pekao_sa" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankPekaoSa | val GHC.Classes.== "banki_spbdzielcze" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBankiSpbdzielcze | val GHC.Classes.== "blik" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBlik | val GHC.Classes.== "bnp_paribas" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBnpParibas | val GHC.Classes.== "boz" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumBoz | val GHC.Classes.== "citi_handlowy" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumCitiHandlowy | val GHC.Classes.== "credit_agricole" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumCreditAgricole | val GHC.Classes.== "envelobank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumEnvelobank | val GHC.Classes.== "etransfer_pocztowy24" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumEtransferPocztowy24 | val GHC.Classes.== "getin_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumGetinBank | val GHC.Classes.== "ideabank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumIdeabank | val GHC.Classes.== "ing" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumIng | val GHC.Classes.== "inteligo" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumInteligo | val GHC.Classes.== "mbank_mtransfer" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumMbankMtransfer | val GHC.Classes.== "nest_przelew" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumNestPrzelew | val GHC.Classes.== "noble_pay" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumNoblePay | val GHC.Classes.== "pbac_z_ipko" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumPbacZIpko | val GHC.Classes.== "plus_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumPlusBank | val GHC.Classes.== "santander_przelew24" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumSantanderPrzelew24 | val GHC.Classes.== "tmobile_usbugi_bankowe" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumTmobileUsbugiBankowe | val GHC.Classes.== "toyota_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumToyotaBank | val GHC.Classes.== "volkswagen_bank" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'EnumVolkswagenBank | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'P24'Bank'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.sepa_debit@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' { -- | iban -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'Iban :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' where toJSON obj = Data.Aeson.Types.Internal.object ("iban" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'Iban obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("iban" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'Iban obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "iban")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' :: -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'Iban' Data.Text.Internal.Text -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'Iban = PostPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit' {postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'Iban = postPaymentIntentsIntentRequestBodyPaymentMethodData'SepaDebit'Iban} -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.sofort@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' { -- | country postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country :: PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country' } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' where toJSON obj = Data.Aeson.Types.Internal.object ("country" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("country" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "country")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' :: -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country' PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country' -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' mkPostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country = PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort' {postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country = postPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country} -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.sofort.properties.country@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"AT"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumAT | -- | Represents the JSON value @"BE"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumBE | -- | Represents the JSON value @"DE"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumDE | -- | Represents the JSON value @"ES"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumES | -- | Represents the JSON value @"IT"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumIT | -- | Represents the JSON value @"NL"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumNL deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumAT) = "AT" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumBE) = "BE" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumDE) = "DE" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumES) = "ES" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumIT) = "IT" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumNL) = "NL" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "AT" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumAT | val GHC.Classes.== "BE" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumBE | val GHC.Classes.== "DE" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumDE | val GHC.Classes.== "ES" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumES | val GHC.Classes.== "IT" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumIT | val GHC.Classes.== "NL" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'EnumNL | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Sofort'Country'Other val ) -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_data.properties.type@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"acss_debit"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAcssDebit | -- | Represents the JSON value @"afterpay_clearpay"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAfterpayClearpay | -- | Represents the JSON value @"alipay"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAlipay | -- | Represents the JSON value @"au_becs_debit"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAuBecsDebit | -- | Represents the JSON value @"bacs_debit"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBacsDebit | -- | Represents the JSON value @"bancontact"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBancontact | -- | Represents the JSON value @"boleto"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBoleto | -- | Represents the JSON value @"eps"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumEps | -- | Represents the JSON value @"fpx"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumFpx | -- | Represents the JSON value @"giropay"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumGiropay | -- | Represents the JSON value @"grabpay"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumGrabpay | -- | Represents the JSON value @"ideal"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumIdeal | -- | Represents the JSON value @"oxxo"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumOxxo | -- | Represents the JSON value @"p24"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumP24 | -- | Represents the JSON value @"sepa_debit"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumSepaDebit | -- | Represents the JSON value @"sofort"@ PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumSofort deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAcssDebit) = "acss_debit" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAfterpayClearpay) = "afterpay_clearpay" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAlipay) = "alipay" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAuBecsDebit) = "au_becs_debit" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBacsDebit) = "bacs_debit" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBancontact) = "bancontact" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBoleto) = "boleto" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumEps) = "eps" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumFpx) = "fpx" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumGiropay) = "giropay" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumGrabpay) = "grabpay" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumIdeal) = "ideal" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumOxxo) = "oxxo" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumP24) = "p24" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumSepaDebit) = "sepa_debit" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumSofort) = "sofort" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "acss_debit" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAcssDebit | val GHC.Classes.== "afterpay_clearpay" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAfterpayClearpay | val GHC.Classes.== "alipay" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAlipay | val GHC.Classes.== "au_becs_debit" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumAuBecsDebit | val GHC.Classes.== "bacs_debit" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBacsDebit | val GHC.Classes.== "bancontact" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBancontact | val GHC.Classes.== "boleto" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumBoleto | val GHC.Classes.== "eps" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumEps | val GHC.Classes.== "fpx" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumFpx | val GHC.Classes.== "giropay" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumGiropay | val GHC.Classes.== "grabpay" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumGrabpay | val GHC.Classes.== "ideal" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumIdeal | val GHC.Classes.== "oxxo" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumOxxo | val GHC.Classes.== "p24" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumP24 | val GHC.Classes.== "sepa_debit" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumSepaDebit | val GHC.Classes.== "sofort" -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'EnumSofort | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodData'Type'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options@ in the specification. -- -- Payment-method-specific configuration for this PaymentIntent. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions' = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions' { -- | acss_debit postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'Variants), -- | afterpay_clearpay postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'Variants), -- | alipay postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'Variants), -- | bancontact postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'Variants), -- | boleto postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'Variants), -- | card postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'Variants), -- | card_present postPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'Variants), -- | oxxo postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'Variants), -- | p24 postPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24 :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'Variants), -- | sepa_debit postPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'Variants), -- | sofort postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'Variants) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions' where toJSON obj = Data.Aeson.Types.Internal.object ("acss_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit obj : "afterpay_clearpay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay obj : "alipay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay obj : "bancontact" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact obj : "boleto" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto obj : "card" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card obj : "card_present" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent obj : "oxxo" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo obj : "p24" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24 obj : "sepa_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit obj : "sofort" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("acss_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit obj) GHC.Base.<> (("afterpay_clearpay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay obj) GHC.Base.<> (("alipay" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay obj) GHC.Base.<> (("bancontact" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact obj) GHC.Base.<> (("boleto" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto obj) GHC.Base.<> (("card" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card obj) GHC.Base.<> (("card_present" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent obj) GHC.Base.<> (("oxxo" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo obj) GHC.Base.<> (("p24" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24 obj) GHC.Base.<> (("sepa_debit" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit obj) GHC.Base.<> ("sofort" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort obj))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'" (\obj -> ((((((((((GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "acss_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "afterpay_clearpay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "boleto")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "oxxo")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions' :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions' mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions' = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions' { postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24 = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 { -- | mandate_options postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'), -- | verification_method postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("mandate_options" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions obj : "verification_method" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("mandate_options" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions obj) GHC.Base.<> ("verification_method" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1" (\obj -> (GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mandate_options")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verification_method")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 { postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.anyOf.properties.mandate_options@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' { -- | custom_mandate_url postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'Variants), -- | interval_description -- -- Constraints: -- -- * Maximum length of 500 postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'IntervalDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | payment_schedule postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'), -- | transaction_type postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' where toJSON obj = Data.Aeson.Types.Internal.object ("custom_mandate_url" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl obj : "interval_description" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'IntervalDescription obj : "payment_schedule" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule obj : "transaction_type" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("custom_mandate_url" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl obj) GHC.Base.<> (("interval_description" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'IntervalDescription obj) GHC.Base.<> (("payment_schedule" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule obj) GHC.Base.<> ("transaction_type" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'" (\obj -> (((GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "custom_mandate_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_schedule")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transaction_type")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions' { postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'IntervalDescription = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.anyOf.properties.mandate_options.properties.custom_mandate_url.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'Text Data.Text.Internal.Text deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'CustomMandateUrl'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.anyOf.properties.mandate_options.properties.payment_schedule@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"combined"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumCombined | -- | Represents the JSON value @"interval"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumInterval | -- | Represents the JSON value @"sporadic"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumSporadic deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumCombined) = "combined" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumInterval) = "interval" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumSporadic) = "sporadic" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "combined" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumCombined | val GHC.Classes.== "interval" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumInterval | val GHC.Classes.== "sporadic" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'EnumSporadic | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'PaymentSchedule'Other val ) -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.anyOf.properties.mandate_options.properties.transaction_type@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"business"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'EnumBusiness | -- | Represents the JSON value @"personal"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'EnumPersonal deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'EnumBusiness) = "business" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'EnumPersonal) = "personal" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "business" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'EnumBusiness | val GHC.Classes.== "personal" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'EnumPersonal | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1MandateOptions'TransactionType'Other val ) -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.anyOf.properties.verification_method@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"automatic"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumAutomatic | -- | Represents the JSON value @"instant"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumInstant | -- | Represents the JSON value @"microdeposits"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumMicrodeposits deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumAutomatic) = "automatic" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumInstant) = "instant" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumMicrodeposits) = "microdeposits" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "automatic" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumAutomatic | val GHC.Classes.== "instant" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumInstant | val GHC.Classes.== "microdeposits" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'EnumMicrodeposits | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1VerificationMethod'Other val ) -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AcssDebit'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.afterpay_clearpay.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 { -- | reference -- -- Constraints: -- -- * Maximum length of 128 postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1Reference :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("reference" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1Reference obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("reference" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1Reference obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reference")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 {postPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1Reference = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.afterpay_clearpay.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'AfterpayClearpay'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.alipay.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Alipay'Object Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.bancontact.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 { -- | preferred_language postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("preferred_language" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("preferred_language" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "preferred_language")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 {postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.bancontact.anyOf.properties.preferred_language@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"de"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumDe | -- | Represents the JSON value @"en"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumEn | -- | Represents the JSON value @"fr"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumFr | -- | Represents the JSON value @"nl"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumNl deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumDe) = "de" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumEn) = "en" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumFr) = "fr" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumNl) = "nl" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "de" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumDe | val GHC.Classes.== "en" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumEn | val GHC.Classes.== "fr" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumFr | val GHC.Classes.== "nl" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'EnumNl | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1PreferredLanguage'Other val ) -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.bancontact.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Bancontact'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.boleto.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 { -- | expires_after_days postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1ExpiresAfterDays :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("expires_after_days" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1ExpiresAfterDays obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("expires_after_days" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1ExpiresAfterDays obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "expires_after_days")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 {postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1ExpiresAfterDays = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.boleto.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Boleto'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 { -- | cvc_token -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1CvcToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | installments postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'), -- | network -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'), -- | request_three_d_secure -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("cvc_token" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1CvcToken obj : "installments" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments obj : "network" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network obj : "request_three_d_secure" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("cvc_token" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1CvcToken obj) GHC.Base.<> (("installments" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments obj) GHC.Base.<> (("network" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network obj) GHC.Base.<> ("request_three_d_secure" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1" (\obj -> (((GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_token")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "installments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "network")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "request_three_d_secure")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 { postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1CvcToken = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card.anyOf.properties.installments@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' { -- | enabled postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Enabled :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | plan postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'Variants) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' where toJSON obj = Data.Aeson.Types.Internal.object ("enabled" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Enabled obj : "plan" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("enabled" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Enabled obj) GHC.Base.<> ("plan" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'" (\obj -> (GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments' { postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Enabled = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card.anyOf.properties.installments.properties.plan.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 { -- | count postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1Count :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("count" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1Count obj : "interval" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "month" : "type" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "fixed_count" : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("count" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1Count obj) GHC.Base.<> (("interval" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "month") GHC.Base.<> ("type" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "fixed_count"))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "count")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 :: -- | 'postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1Count' GHC.Types.Int -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1Count = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 {postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1Count = postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1Count} -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card.anyOf.properties.installments.properties.plan.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Installments'Plan'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card.anyOf.properties.network@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"amex"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumAmex | -- | Represents the JSON value @"cartes_bancaires"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumCartesBancaires | -- | Represents the JSON value @"diners"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumDiners | -- | Represents the JSON value @"discover"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumDiscover | -- | Represents the JSON value @"interac"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumInterac | -- | Represents the JSON value @"jcb"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumJcb | -- | Represents the JSON value @"mastercard"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumMastercard | -- | Represents the JSON value @"unionpay"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumUnionpay | -- | Represents the JSON value @"unknown"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumUnknown | -- | Represents the JSON value @"visa"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumVisa deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumAmex) = "amex" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumCartesBancaires) = "cartes_bancaires" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumDiners) = "diners" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumDiscover) = "discover" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumInterac) = "interac" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumJcb) = "jcb" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumMastercard) = "mastercard" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumUnionpay) = "unionpay" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumUnknown) = "unknown" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumVisa) = "visa" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "amex" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumAmex | val GHC.Classes.== "cartes_bancaires" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumCartesBancaires | val GHC.Classes.== "diners" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumDiners | val GHC.Classes.== "discover" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumDiscover | val GHC.Classes.== "interac" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumInterac | val GHC.Classes.== "jcb" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumJcb | val GHC.Classes.== "mastercard" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumMastercard | val GHC.Classes.== "unionpay" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumUnionpay | val GHC.Classes.== "unknown" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumUnknown | val GHC.Classes.== "visa" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'EnumVisa | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1Network'Other val ) -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card.anyOf.properties.request_three_d_secure@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"any"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'EnumAny | -- | Represents the JSON value @"automatic"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'EnumAutomatic deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'EnumAny) = "any" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'EnumAutomatic) = "automatic" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "any" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'EnumAny | val GHC.Classes.== "automatic" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'EnumAutomatic | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1RequestThreeDSecure'Other val ) -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Card'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card_present.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'Object Data.Aeson.Types.Internal.Object deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'Object a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'CardPresent'Object Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.oxxo.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 { -- | expires_after_days postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1ExpiresAfterDays :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("expires_after_days" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1ExpiresAfterDays obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("expires_after_days" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1ExpiresAfterDays obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "expires_after_days")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 {postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1ExpiresAfterDays = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.oxxo.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Oxxo'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.p24.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 { -- | tos_shown_and_accepted postPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1TosShownAndAccepted :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("tos_shown_and_accepted" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1TosShownAndAccepted obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("tos_shown_and_accepted" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1TosShownAndAccepted obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tos_shown_and_accepted")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 {postPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1TosShownAndAccepted = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.p24.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'P24'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sepa_debit.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 { -- | mandate_options postPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1MandateOptions :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("mandate_options" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1MandateOptions obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("mandate_options" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1MandateOptions obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mandate_options")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 {postPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1MandateOptions = GHC.Maybe.Nothing} -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sepa_debit.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'SepaDebit'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sofort.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 { -- | preferred_language postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage :: (GHC.Maybe.Maybe PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("preferred_language" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("preferred_language" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "preferred_language")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 :: PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 mkPostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 = PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 {postPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sofort.anyOf.properties.preferred_language@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"de"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumDe | -- | Represents the JSON value @"en"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumEn | -- | Represents the JSON value @"es"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumEs | -- | Represents the JSON value @"fr"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumFr | -- | Represents the JSON value @"it"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumIt | -- | Represents the JSON value @"nl"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumNl | -- | Represents the JSON value @"pl"@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumPl deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage' where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumDe) = "de" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumEn) = "en" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumEs) = "es" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumFr) = "fr" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumIt) = "it" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumNl) = "nl" toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumPl) = "pl" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "de" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumDe | val GHC.Classes.== "en" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumEn | val GHC.Classes.== "es" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumEs | val GHC.Classes.== "fr" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumFr | val GHC.Classes.== "it" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumIt | val GHC.Classes.== "nl" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumNl | val GHC.Classes.== "pl" -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'EnumPl | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1PreferredLanguage'Other val ) -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sofort.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'EmptyString | PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'Variants where toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'PostPaymentIntentsIntentRequestBodyPaymentMethodOptions'Sofort'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.receipt_email.anyOf@ in the specification. -- -- Email address that the receipt for the resulting payment will be sent to. If \`receipt_email\` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https:\/\/dashboard.stripe.com\/account\/emails). data PostPaymentIntentsIntentRequestBodyReceiptEmail'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyReceiptEmail'EmptyString | PostPaymentIntentsIntentRequestBodyReceiptEmail'Text Data.Text.Internal.Text deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyReceiptEmail'Variants where toJSON (PostPaymentIntentsIntentRequestBodyReceiptEmail'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyReceiptEmail'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyReceiptEmail'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyReceiptEmail'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyReceiptEmail'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the enum schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.setup_future_usage@ in the specification. -- -- Indicates that you intend to make future payments with this PaymentIntent\'s payment method. -- -- Providing this parameter will [attach the payment method](https:\/\/stripe.com\/docs\/payments\/save-during-payment) to the PaymentIntent\'s Customer, if present, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be [attached](https:\/\/stripe.com\/docs\/api\/payment_methods\/attach) to a Customer after the transaction completes. -- -- When processing card payments, Stripe also uses \`setup_future_usage\` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as [SCA](https:\/\/stripe.com\/docs\/strong-customer-authentication). -- -- If \`setup_future_usage\` is already set and you are performing a request using a publishable key, you may only update the value from \`on_session\` to \`off_session\`. data PostPaymentIntentsIntentRequestBodySetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentIntentsIntentRequestBodySetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostPaymentIntentsIntentRequestBodySetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumEmptyString | -- | Represents the JSON value @"off_session"@ PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumOffSession | -- | Represents the JSON value @"on_session"@ PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodySetupFutureUsage' where toJSON (PostPaymentIntentsIntentRequestBodySetupFutureUsage'Other val) = val toJSON (PostPaymentIntentsIntentRequestBodySetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumEmptyString) = "" toJSON (PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumOffSession) = "off_session" toJSON (PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumOnSession) = "on_session" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodySetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "" -> PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumEmptyString | val GHC.Classes.== "off_session" -> PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumOffSession | val GHC.Classes.== "on_session" -> PostPaymentIntentsIntentRequestBodySetupFutureUsage'EnumOnSession | GHC.Base.otherwise -> PostPaymentIntentsIntentRequestBodySetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping.anyOf@ in the specification. data PostPaymentIntentsIntentRequestBodyShipping'OneOf1 = PostPaymentIntentsIntentRequestBodyShipping'OneOf1 { -- | address postPaymentIntentsIntentRequestBodyShipping'OneOf1Address :: PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address', -- | carrier -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Carrier :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | name -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Name :: Data.Text.Internal.Text, -- | phone -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | tracking_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1TrackingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyShipping'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("address" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address obj : "carrier" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Carrier obj : "name" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Name obj : "phone" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Phone obj : "tracking_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1TrackingNumber obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("address" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address obj) GHC.Base.<> (("carrier" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Carrier obj) GHC.Base.<> (("name" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Name obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Phone obj) GHC.Base.<> ("tracking_number" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1TrackingNumber obj))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyShipping'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyShipping'OneOf1" (\obj -> ((((GHC.Base.pure PostPaymentIntentsIntentRequestBodyShipping'OneOf1 GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyShipping'OneOf1' with all required fields. mkPostPaymentIntentsIntentRequestBodyShipping'OneOf1 :: -- | 'postPaymentIntentsIntentRequestBodyShipping'OneOf1Address' PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' -> -- | 'postPaymentIntentsIntentRequestBodyShipping'OneOf1Name' Data.Text.Internal.Text -> PostPaymentIntentsIntentRequestBodyShipping'OneOf1 mkPostPaymentIntentsIntentRequestBodyShipping'OneOf1 postPaymentIntentsIntentRequestBodyShipping'OneOf1Address postPaymentIntentsIntentRequestBodyShipping'OneOf1Name = PostPaymentIntentsIntentRequestBodyShipping'OneOf1 { postPaymentIntentsIntentRequestBodyShipping'OneOf1Address = postPaymentIntentsIntentRequestBodyShipping'OneOf1Address, postPaymentIntentsIntentRequestBodyShipping'OneOf1Carrier = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyShipping'OneOf1Name = postPaymentIntentsIntentRequestBodyShipping'OneOf1Name, postPaymentIntentsIntentRequestBodyShipping'OneOf1Phone = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyShipping'OneOf1TrackingNumber = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping.anyOf.properties.address@ in the specification. data PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' = PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line1 :: Data.Text.Internal.Text, -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'City obj : "country" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Country obj : "line1" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address'" (\obj -> (((((GHC.Base.pure PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address'' with all required fields. mkPostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' :: -- | 'postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line1' Data.Text.Internal.Text -> PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' mkPostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line1 = PostPaymentIntentsIntentRequestBodyShipping'OneOf1Address' { postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'City = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Country = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line1 = postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line1, postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'Line2 = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'PostalCode = GHC.Maybe.Nothing, postPaymentIntentsIntentRequestBodyShipping'OneOf1Address'State = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping.anyOf@ in the specification. -- -- Shipping information for this PaymentIntent. data PostPaymentIntentsIntentRequestBodyShipping'Variants = -- | Represents the JSON value @""@ PostPaymentIntentsIntentRequestBodyShipping'EmptyString | PostPaymentIntentsIntentRequestBodyShipping'PostPaymentIntentsIntentRequestBodyShipping'OneOf1 PostPaymentIntentsIntentRequestBodyShipping'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyShipping'Variants where toJSON (PostPaymentIntentsIntentRequestBodyShipping'PostPaymentIntentsIntentRequestBodyShipping'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentIntentsIntentRequestBodyShipping'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyShipping'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyShipping'EmptyString | GHC.Base.otherwise -> case (PostPaymentIntentsIntentRequestBodyShipping'PostPaymentIntentsIntentRequestBodyShipping'OneOf1 Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the object schema located at @paths.\/v1\/payment_intents\/{intent}.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.transfer_data@ in the specification. -- -- The parameters used to automatically create a Transfer when the payment succeeds. For more information, see the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts). data PostPaymentIntentsIntentRequestBodyTransferData' = PostPaymentIntentsIntentRequestBodyTransferData' { -- | amount postPaymentIntentsIntentRequestBodyTransferData'Amount :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentIntentsIntentRequestBodyTransferData' where toJSON obj = Data.Aeson.Types.Internal.object ("amount" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyTransferData'Amount obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("amount" Data.Aeson.Types.ToJSON..= postPaymentIntentsIntentRequestBodyTransferData'Amount obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentIntentsIntentRequestBodyTransferData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentIntentsIntentRequestBodyTransferData'" (\obj -> GHC.Base.pure PostPaymentIntentsIntentRequestBodyTransferData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) -- | Create a new 'PostPaymentIntentsIntentRequestBodyTransferData'' with all required fields. mkPostPaymentIntentsIntentRequestBodyTransferData' :: PostPaymentIntentsIntentRequestBodyTransferData' mkPostPaymentIntentsIntentRequestBodyTransferData' = PostPaymentIntentsIntentRequestBodyTransferData' {postPaymentIntentsIntentRequestBodyTransferData'Amount = GHC.Maybe.Nothing} -- | Represents a response of the operation 'postPaymentIntentsIntent'. -- -- The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), 'PostPaymentIntentsIntentResponseError' is used. data PostPaymentIntentsIntentResponse = -- | Means either no matching case available or a parse error PostPaymentIntentsIntentResponseError GHC.Base.String | -- | Successful response. PostPaymentIntentsIntentResponse200 PaymentIntent | -- | Error response. PostPaymentIntentsIntentResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)