{-# 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 postPaymentMethods module StripeAPI.Operations.PostPaymentMethods 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_methods -- -- \

Creates a PaymentMethod object. Read the \Stripe.js reference\<\/a> to learn how to create PaymentMethods via Stripe.js.\<\/p> postPaymentMethods :: forall m. StripeAPI.Common.MonadHTTP m => -- | The request body to send GHC.Maybe.Maybe PostPaymentMethodsRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostPaymentMethodsResponse) postPaymentMethods body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostPaymentMethodsResponseError 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) -> PostPaymentMethodsResponse200 Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String PaymentMethod ) | GHC.Base.const GHC.Types.True (Network.HTTP.Client.Types.responseStatus response) -> PostPaymentMethodsResponseDefault 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_methods") GHC.Base.mempty body StripeAPI.Common.RequestBodyEncodingFormData) -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostPaymentMethodsRequestBody = PostPaymentMethodsRequestBody { -- | acss_debit: If this is an \`acss_debit\` PaymentMethod, this hash contains details about the ACSS Debit payment method. postPaymentMethodsRequestBodyAcssDebit :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyAcssDebit'), -- | afterpay_clearpay: If this is an \`AfterpayClearpay\` PaymentMethod, this hash contains details about the AfterpayClearpay payment method. postPaymentMethodsRequestBodyAfterpayClearpay :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | alipay: If this is an \`Alipay\` PaymentMethod, this hash contains details about the Alipay payment method. postPaymentMethodsRequestBodyAlipay :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | au_becs_debit: If this is an \`au_becs_debit\` PaymentMethod, this hash contains details about the bank account. postPaymentMethodsRequestBodyAuBecsDebit :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyAuBecsDebit'), -- | bacs_debit: If this is a \`bacs_debit\` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. postPaymentMethodsRequestBodyBacsDebit :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyBacsDebit'), -- | bancontact: If this is a \`bancontact\` PaymentMethod, this hash contains details about the Bancontact payment method. postPaymentMethodsRequestBodyBancontact :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | billing_details: Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. postPaymentMethodsRequestBodyBillingDetails :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyBillingDetails'), -- | boleto: If this is a \`boleto\` PaymentMethod, this hash contains details about the Boleto payment method. postPaymentMethodsRequestBodyBoleto :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyBoleto'), -- | card: If this is a \`card\` PaymentMethod, this hash contains the user\'s card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format \`card: {token: \"tok_visa\"}\`. When providing a card number, you must meet the requirements for [PCI compliance](https:\/\/stripe.com\/docs\/security\#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly. postPaymentMethodsRequestBodyCard :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyCard'), -- | customer: The \`Customer\` to whom the original PaymentMethod is attached. -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyCustomer :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | eps: If this is an \`eps\` PaymentMethod, this hash contains details about the EPS payment method. postPaymentMethodsRequestBodyEps :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyEps'), -- | expand: Specifies which fields in the response should be expanded. postPaymentMethodsRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | fpx: If this is an \`fpx\` PaymentMethod, this hash contains details about the FPX payment method. postPaymentMethodsRequestBodyFpx :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyFpx'), -- | giropay: If this is a \`giropay\` PaymentMethod, this hash contains details about the Giropay payment method. postPaymentMethodsRequestBodyGiropay :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | grabpay: If this is a \`grabpay\` PaymentMethod, this hash contains details about the GrabPay payment method. postPaymentMethodsRequestBodyGrabpay :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | ideal: If this is an \`ideal\` PaymentMethod, this hash contains details about the iDEAL payment method. postPaymentMethodsRequestBodyIdeal :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyIdeal'), -- | interac_present: If this is an \`interac_present\` PaymentMethod, this hash contains details about the Interac Present payment method. postPaymentMethodsRequestBodyInteracPresent :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | 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\`. postPaymentMethodsRequestBodyMetadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | oxxo: If this is an \`oxxo\` PaymentMethod, this hash contains details about the OXXO payment method. postPaymentMethodsRequestBodyOxxo :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | p24: If this is a \`p24\` PaymentMethod, this hash contains details about the P24 payment method. postPaymentMethodsRequestBodyP24 :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyP24'), -- | payment_method: The PaymentMethod to share. -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyPaymentMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | sepa_debit: If this is a \`sepa_debit\` PaymentMethod, this hash contains details about the SEPA debit bank account. postPaymentMethodsRequestBodySepaDebit :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodySepaDebit'), -- | sofort: If this is a \`sofort\` PaymentMethod, this hash contains details about the SOFORT payment method. postPaymentMethodsRequestBodySofort :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodySofort'), -- | type: The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. postPaymentMethodsRequestBodyType :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyType') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBody where toJSON obj = Data.Aeson.Types.Internal.object ("acss_debit" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAcssDebit obj : "afterpay_clearpay" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAfterpayClearpay obj : "alipay" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAlipay obj : "au_becs_debit" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAuBecsDebit obj : "bacs_debit" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBacsDebit obj : "bancontact" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBancontact obj : "billing_details" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails obj : "boleto" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBoleto obj : "card" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard obj : "customer" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCustomer obj : "eps" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyEps obj : "expand" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyExpand obj : "fpx" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyFpx obj : "giropay" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyGiropay obj : "grabpay" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyGrabpay obj : "ideal" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyIdeal obj : "interac_present" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyInteracPresent obj : "metadata" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyMetadata obj : "oxxo" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyOxxo obj : "p24" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyP24 obj : "payment_method" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyPaymentMethod obj : "sepa_debit" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodySepaDebit obj : "sofort" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodySofort obj : "type" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyType obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("acss_debit" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAcssDebit obj) GHC.Base.<> (("afterpay_clearpay" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAfterpayClearpay obj) GHC.Base.<> (("alipay" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAlipay obj) GHC.Base.<> (("au_becs_debit" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAuBecsDebit obj) GHC.Base.<> (("bacs_debit" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBacsDebit obj) GHC.Base.<> (("bancontact" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBancontact obj) GHC.Base.<> (("billing_details" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails obj) GHC.Base.<> (("boleto" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBoleto obj) GHC.Base.<> (("card" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard obj) GHC.Base.<> (("customer" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCustomer obj) GHC.Base.<> (("eps" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyEps obj) GHC.Base.<> (("expand" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyExpand obj) GHC.Base.<> (("fpx" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyFpx obj) GHC.Base.<> (("giropay" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyGiropay obj) GHC.Base.<> (("grabpay" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyGrabpay obj) GHC.Base.<> (("ideal" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyIdeal obj) GHC.Base.<> (("interac_present" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyInteracPresent obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyMetadata obj) GHC.Base.<> (("oxxo" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyOxxo obj) GHC.Base.<> (("p24" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyP24 obj) GHC.Base.<> (("payment_method" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyPaymentMethod obj) GHC.Base.<> (("sepa_debit" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodySepaDebit obj) GHC.Base.<> (("sofort" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodySofort obj) GHC.Base.<> ("type" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyType obj)))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBody" (\obj -> (((((((((((((((((((((((GHC.Base.pure PostPaymentMethodsRequestBody 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..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "expand")) 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..:? "payment_method")) 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 'PostPaymentMethodsRequestBody' with all required fields. mkPostPaymentMethodsRequestBody :: PostPaymentMethodsRequestBody mkPostPaymentMethodsRequestBody = PostPaymentMethodsRequestBody { postPaymentMethodsRequestBodyAcssDebit = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyAfterpayClearpay = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyAlipay = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyAuBecsDebit = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBacsDebit = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBancontact = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBoleto = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyCard = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyCustomer = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyEps = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyExpand = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyFpx = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyGiropay = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyGrabpay = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyIdeal = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyInteracPresent = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyMetadata = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyOxxo = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyP24 = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyPaymentMethod = GHC.Maybe.Nothing, postPaymentMethodsRequestBodySepaDebit = GHC.Maybe.Nothing, postPaymentMethodsRequestBodySofort = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyType = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.acss_debit@ in the specification. -- -- If this is an \`acss_debit\` PaymentMethod, this hash contains details about the ACSS Debit payment method. data PostPaymentMethodsRequestBodyAcssDebit' = PostPaymentMethodsRequestBodyAcssDebit' { -- | account_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyAcssDebit'AccountNumber :: Data.Text.Internal.Text, -- | institution_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyAcssDebit'InstitutionNumber :: Data.Text.Internal.Text, -- | transit_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyAcssDebit'TransitNumber :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyAcssDebit' where toJSON obj = Data.Aeson.Types.Internal.object ("account_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAcssDebit'AccountNumber obj : "institution_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAcssDebit'InstitutionNumber obj : "transit_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAcssDebit'TransitNumber obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAcssDebit'AccountNumber obj) GHC.Base.<> (("institution_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAcssDebit'InstitutionNumber obj) GHC.Base.<> ("transit_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAcssDebit'TransitNumber obj))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyAcssDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyAcssDebit'" (\obj -> ((GHC.Base.pure PostPaymentMethodsRequestBodyAcssDebit' 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 'PostPaymentMethodsRequestBodyAcssDebit'' with all required fields. mkPostPaymentMethodsRequestBodyAcssDebit' :: -- | 'postPaymentMethodsRequestBodyAcssDebit'AccountNumber' Data.Text.Internal.Text -> -- | 'postPaymentMethodsRequestBodyAcssDebit'InstitutionNumber' Data.Text.Internal.Text -> -- | 'postPaymentMethodsRequestBodyAcssDebit'TransitNumber' Data.Text.Internal.Text -> PostPaymentMethodsRequestBodyAcssDebit' mkPostPaymentMethodsRequestBodyAcssDebit' postPaymentMethodsRequestBodyAcssDebit'AccountNumber postPaymentMethodsRequestBodyAcssDebit'InstitutionNumber postPaymentMethodsRequestBodyAcssDebit'TransitNumber = PostPaymentMethodsRequestBodyAcssDebit' { postPaymentMethodsRequestBodyAcssDebit'AccountNumber = postPaymentMethodsRequestBodyAcssDebit'AccountNumber, postPaymentMethodsRequestBodyAcssDebit'InstitutionNumber = postPaymentMethodsRequestBodyAcssDebit'InstitutionNumber, postPaymentMethodsRequestBodyAcssDebit'TransitNumber = postPaymentMethodsRequestBodyAcssDebit'TransitNumber } -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.au_becs_debit@ in the specification. -- -- If this is an \`au_becs_debit\` PaymentMethod, this hash contains details about the bank account. data PostPaymentMethodsRequestBodyAuBecsDebit' = PostPaymentMethodsRequestBodyAuBecsDebit' { -- | account_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyAuBecsDebit'AccountNumber :: Data.Text.Internal.Text, -- | bsb_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyAuBecsDebit'BsbNumber :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyAuBecsDebit' where toJSON obj = Data.Aeson.Types.Internal.object ("account_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAuBecsDebit'AccountNumber obj : "bsb_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAuBecsDebit'BsbNumber obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAuBecsDebit'AccountNumber obj) GHC.Base.<> ("bsb_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyAuBecsDebit'BsbNumber obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyAuBecsDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyAuBecsDebit'" (\obj -> (GHC.Base.pure PostPaymentMethodsRequestBodyAuBecsDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "account_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "bsb_number")) -- | Create a new 'PostPaymentMethodsRequestBodyAuBecsDebit'' with all required fields. mkPostPaymentMethodsRequestBodyAuBecsDebit' :: -- | 'postPaymentMethodsRequestBodyAuBecsDebit'AccountNumber' Data.Text.Internal.Text -> -- | 'postPaymentMethodsRequestBodyAuBecsDebit'BsbNumber' Data.Text.Internal.Text -> PostPaymentMethodsRequestBodyAuBecsDebit' mkPostPaymentMethodsRequestBodyAuBecsDebit' postPaymentMethodsRequestBodyAuBecsDebit'AccountNumber postPaymentMethodsRequestBodyAuBecsDebit'BsbNumber = PostPaymentMethodsRequestBodyAuBecsDebit' { postPaymentMethodsRequestBodyAuBecsDebit'AccountNumber = postPaymentMethodsRequestBodyAuBecsDebit'AccountNumber, postPaymentMethodsRequestBodyAuBecsDebit'BsbNumber = postPaymentMethodsRequestBodyAuBecsDebit'BsbNumber } -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.bacs_debit@ in the specification. -- -- If this is a \`bacs_debit\` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account. data PostPaymentMethodsRequestBodyBacsDebit' = PostPaymentMethodsRequestBodyBacsDebit' { -- | account_number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBacsDebit'AccountNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | sort_code -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBacsDebit'SortCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyBacsDebit' where toJSON obj = Data.Aeson.Types.Internal.object ("account_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBacsDebit'AccountNumber obj : "sort_code" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBacsDebit'SortCode obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account_number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBacsDebit'AccountNumber obj) GHC.Base.<> ("sort_code" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBacsDebit'SortCode obj)) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyBacsDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyBacsDebit'" (\obj -> (GHC.Base.pure PostPaymentMethodsRequestBodyBacsDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sort_code")) -- | Create a new 'PostPaymentMethodsRequestBodyBacsDebit'' with all required fields. mkPostPaymentMethodsRequestBodyBacsDebit' :: PostPaymentMethodsRequestBodyBacsDebit' mkPostPaymentMethodsRequestBodyBacsDebit' = PostPaymentMethodsRequestBodyBacsDebit' { postPaymentMethodsRequestBodyBacsDebit'AccountNumber = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBacsDebit'SortCode = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.billing_details@ in the specification. -- -- Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods. data PostPaymentMethodsRequestBodyBillingDetails' = PostPaymentMethodsRequestBodyBillingDetails' { -- | address postPaymentMethodsRequestBodyBillingDetails'Address :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyBillingDetails'Address'Variants), -- | email postPaymentMethodsRequestBodyBillingDetails'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | name -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBillingDetails'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBillingDetails'Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyBillingDetails' where toJSON obj = Data.Aeson.Types.Internal.object ("address" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address obj : "email" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Email obj : "name" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Name obj : "phone" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Phone obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("address" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Email obj) GHC.Base.<> (("name" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Name obj) GHC.Base.<> ("phone" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Phone obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyBillingDetails' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyBillingDetails'" (\obj -> (((GHC.Base.pure PostPaymentMethodsRequestBodyBillingDetails' 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 'PostPaymentMethodsRequestBodyBillingDetails'' with all required fields. mkPostPaymentMethodsRequestBodyBillingDetails' :: PostPaymentMethodsRequestBodyBillingDetails' mkPostPaymentMethodsRequestBodyBillingDetails' = PostPaymentMethodsRequestBodyBillingDetails' { postPaymentMethodsRequestBodyBillingDetails'Address = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails'Email = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails'Name = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails'Phone = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.billing_details.properties.address.anyOf@ in the specification. data PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 = PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1City obj : "country" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Country obj : "line1" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Line1 obj : "line2" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1PostalCode obj : "state" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1" (\obj -> (((((GHC.Base.pure PostPaymentMethodsRequestBodyBillingDetails'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 'PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1' with all required fields. mkPostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 :: PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 mkPostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 = PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 { postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1City = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Country = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Line1 = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1Line2 = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1PostalCode = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyBillingDetails'Address'OneOf1State = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.billing_details.properties.address.anyOf@ in the specification. data PostPaymentMethodsRequestBodyBillingDetails'Address'Variants = -- | Represents the JSON value @""@ PostPaymentMethodsRequestBodyBillingDetails'Address'EmptyString | PostPaymentMethodsRequestBodyBillingDetails'Address'PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyBillingDetails'Address'Variants where toJSON (PostPaymentMethodsRequestBodyBillingDetails'Address'PostPaymentMethodsRequestBodyBillingDetails'Address'OneOf1 a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostPaymentMethodsRequestBodyBillingDetails'Address'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyBillingDetails'Address'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostPaymentMethodsRequestBodyBillingDetails'Address'EmptyString | GHC.Base.otherwise -> case (PostPaymentMethodsRequestBodyBillingDetails'Address'PostPaymentMethodsRequestBodyBillingDetails'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_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.boleto@ in the specification. -- -- If this is a \`boleto\` PaymentMethod, this hash contains details about the Boleto payment method. data PostPaymentMethodsRequestBodyBoleto' = PostPaymentMethodsRequestBodyBoleto' { -- | tax_id -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyBoleto'TaxId :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyBoleto' where toJSON obj = Data.Aeson.Types.Internal.object ("tax_id" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBoleto'TaxId obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("tax_id" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyBoleto'TaxId obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyBoleto' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyBoleto'" (\obj -> GHC.Base.pure PostPaymentMethodsRequestBodyBoleto' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "tax_id")) -- | Create a new 'PostPaymentMethodsRequestBodyBoleto'' with all required fields. mkPostPaymentMethodsRequestBodyBoleto' :: -- | 'postPaymentMethodsRequestBodyBoleto'TaxId' Data.Text.Internal.Text -> PostPaymentMethodsRequestBodyBoleto' mkPostPaymentMethodsRequestBodyBoleto' postPaymentMethodsRequestBodyBoleto'TaxId = PostPaymentMethodsRequestBodyBoleto' {postPaymentMethodsRequestBodyBoleto'TaxId = postPaymentMethodsRequestBodyBoleto'TaxId} -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.card.anyOf@ in the specification. -- -- If this is a \\\`card\\\` PaymentMethod, this hash contains the user\\\'s card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format \\\`card: {token: \\\"tok_visa\\\"}\\\`. When providing a card number, you must meet the requirements for [PCI compliance](https:\\\/\\\/stripe.com\\\/docs\\\/security\\\#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly. data PostPaymentMethodsRequestBodyCard' = PostPaymentMethodsRequestBodyCard' { -- | cvc -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyCard'Cvc :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | exp_month postPaymentMethodsRequestBodyCard'ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int), -- | exp_year postPaymentMethodsRequestBodyCard'ExpYear :: (GHC.Maybe.Maybe GHC.Types.Int), -- | number -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyCard'Number :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | token -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyCard'Token :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyCard' where toJSON obj = Data.Aeson.Types.Internal.object ("cvc" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'Cvc obj : "exp_month" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'ExpMonth obj : "exp_year" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'ExpYear obj : "number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'Number obj : "token" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'Token obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("cvc" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'Cvc obj) GHC.Base.<> (("exp_month" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'ExpMonth obj) GHC.Base.<> (("exp_year" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'ExpYear obj) GHC.Base.<> (("number" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'Number obj) GHC.Base.<> ("token" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyCard'Token obj))))) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyCard' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyCard'" (\obj -> ((((GHC.Base.pure PostPaymentMethodsRequestBodyCard' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exp_year")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "token")) -- | Create a new 'PostPaymentMethodsRequestBodyCard'' with all required fields. mkPostPaymentMethodsRequestBodyCard' :: PostPaymentMethodsRequestBodyCard' mkPostPaymentMethodsRequestBodyCard' = PostPaymentMethodsRequestBodyCard' { postPaymentMethodsRequestBodyCard'Cvc = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyCard'ExpMonth = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyCard'ExpYear = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyCard'Number = GHC.Maybe.Nothing, postPaymentMethodsRequestBodyCard'Token = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.eps@ in the specification. -- -- If this is an \`eps\` PaymentMethod, this hash contains details about the EPS payment method. data PostPaymentMethodsRequestBodyEps' = PostPaymentMethodsRequestBodyEps' { -- | bank -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyEps'Bank :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyEps'Bank') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyEps' where toJSON obj = Data.Aeson.Types.Internal.object ("bank" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyEps'Bank obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("bank" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyEps'Bank obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyEps' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyEps'" (\obj -> GHC.Base.pure PostPaymentMethodsRequestBodyEps' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank")) -- | Create a new 'PostPaymentMethodsRequestBodyEps'' with all required fields. mkPostPaymentMethodsRequestBodyEps' :: PostPaymentMethodsRequestBodyEps' mkPostPaymentMethodsRequestBodyEps' = PostPaymentMethodsRequestBodyEps' {postPaymentMethodsRequestBodyEps'Bank = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.eps.properties.bank@ in the specification. data PostPaymentMethodsRequestBodyEps'Bank' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentMethodsRequestBodyEps'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. PostPaymentMethodsRequestBodyEps'Bank'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"arzte_und_apotheker_bank"@ PostPaymentMethodsRequestBodyEps'Bank'EnumArzteUndApothekerBank | -- | Represents the JSON value @"austrian_anadi_bank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumAustrianAnadiBankAg | -- | Represents the JSON value @"bank_austria"@ PostPaymentMethodsRequestBodyEps'Bank'EnumBankAustria | -- | Represents the JSON value @"bankhaus_carl_spangler"@ PostPaymentMethodsRequestBodyEps'Bank'EnumBankhausCarlSpangler | -- | Represents the JSON value @"bankhaus_schelhammer_und_schattera_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumBankhausSchelhammerUndSchatteraAg | -- | Represents the JSON value @"bawag_psk_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumBawagPskAg | -- | Represents the JSON value @"bks_bank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumBksBankAg | -- | Represents the JSON value @"brull_kallmus_bank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumBrullKallmusBankAg | -- | Represents the JSON value @"btv_vier_lander_bank"@ PostPaymentMethodsRequestBodyEps'Bank'EnumBtvVierLanderBank | -- | Represents the JSON value @"capital_bank_grawe_gruppe_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumCapitalBankGraweGruppeAg | -- | Represents the JSON value @"dolomitenbank"@ PostPaymentMethodsRequestBodyEps'Bank'EnumDolomitenbank | -- | Represents the JSON value @"easybank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumEasybankAg | -- | Represents the JSON value @"erste_bank_und_sparkassen"@ PostPaymentMethodsRequestBodyEps'Bank'EnumErsteBankUndSparkassen | -- | Represents the JSON value @"hypo_alpeadriabank_international_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumHypoAlpeadriabankInternationalAg | -- | Represents the JSON value @"hypo_bank_burgenland_aktiengesellschaft"@ PostPaymentMethodsRequestBodyEps'Bank'EnumHypoBankBurgenlandAktiengesellschaft | -- | Represents the JSON value @"hypo_noe_lb_fur_niederosterreich_u_wien"@ PostPaymentMethodsRequestBodyEps'Bank'EnumHypoNoeLbFurNiederosterreichUWien | -- | Represents the JSON value @"hypo_oberosterreich_salzburg_steiermark"@ PostPaymentMethodsRequestBodyEps'Bank'EnumHypoOberosterreichSalzburgSteiermark | -- | Represents the JSON value @"hypo_tirol_bank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumHypoTirolBankAg | -- | Represents the JSON value @"hypo_vorarlberg_bank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumHypoVorarlbergBankAg | -- | Represents the JSON value @"marchfelder_bank"@ PostPaymentMethodsRequestBodyEps'Bank'EnumMarchfelderBank | -- | Represents the JSON value @"oberbank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumOberbankAg | -- | Represents the JSON value @"raiffeisen_bankengruppe_osterreich"@ PostPaymentMethodsRequestBodyEps'Bank'EnumRaiffeisenBankengruppeOsterreich | -- | Represents the JSON value @"schoellerbank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumSchoellerbankAg | -- | Represents the JSON value @"sparda_bank_wien"@ PostPaymentMethodsRequestBodyEps'Bank'EnumSpardaBankWien | -- | Represents the JSON value @"volksbank_gruppe"@ PostPaymentMethodsRequestBodyEps'Bank'EnumVolksbankGruppe | -- | Represents the JSON value @"volkskreditbank_ag"@ PostPaymentMethodsRequestBodyEps'Bank'EnumVolkskreditbankAg | -- | Represents the JSON value @"vr_bank_braunau"@ PostPaymentMethodsRequestBodyEps'Bank'EnumVrBankBraunau deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyEps'Bank' where toJSON (PostPaymentMethodsRequestBodyEps'Bank'Other val) = val toJSON (PostPaymentMethodsRequestBodyEps'Bank'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumArzteUndApothekerBank) = "arzte_und_apotheker_bank" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumAustrianAnadiBankAg) = "austrian_anadi_bank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumBankAustria) = "bank_austria" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumBankhausCarlSpangler) = "bankhaus_carl_spangler" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumBankhausSchelhammerUndSchatteraAg) = "bankhaus_schelhammer_und_schattera_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumBawagPskAg) = "bawag_psk_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumBksBankAg) = "bks_bank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumBrullKallmusBankAg) = "brull_kallmus_bank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumBtvVierLanderBank) = "btv_vier_lander_bank" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumCapitalBankGraweGruppeAg) = "capital_bank_grawe_gruppe_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumDolomitenbank) = "dolomitenbank" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumEasybankAg) = "easybank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumErsteBankUndSparkassen) = "erste_bank_und_sparkassen" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumHypoAlpeadriabankInternationalAg) = "hypo_alpeadriabank_international_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumHypoBankBurgenlandAktiengesellschaft) = "hypo_bank_burgenland_aktiengesellschaft" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumHypoNoeLbFurNiederosterreichUWien) = "hypo_noe_lb_fur_niederosterreich_u_wien" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumHypoOberosterreichSalzburgSteiermark) = "hypo_oberosterreich_salzburg_steiermark" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumHypoTirolBankAg) = "hypo_tirol_bank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumHypoVorarlbergBankAg) = "hypo_vorarlberg_bank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumMarchfelderBank) = "marchfelder_bank" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumOberbankAg) = "oberbank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumRaiffeisenBankengruppeOsterreich) = "raiffeisen_bankengruppe_osterreich" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumSchoellerbankAg) = "schoellerbank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumSpardaBankWien) = "sparda_bank_wien" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumVolksbankGruppe) = "volksbank_gruppe" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumVolkskreditbankAg) = "volkskreditbank_ag" toJSON (PostPaymentMethodsRequestBodyEps'Bank'EnumVrBankBraunau) = "vr_bank_braunau" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyEps'Bank' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "arzte_und_apotheker_bank" -> PostPaymentMethodsRequestBodyEps'Bank'EnumArzteUndApothekerBank | val GHC.Classes.== "austrian_anadi_bank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumAustrianAnadiBankAg | val GHC.Classes.== "bank_austria" -> PostPaymentMethodsRequestBodyEps'Bank'EnumBankAustria | val GHC.Classes.== "bankhaus_carl_spangler" -> PostPaymentMethodsRequestBodyEps'Bank'EnumBankhausCarlSpangler | val GHC.Classes.== "bankhaus_schelhammer_und_schattera_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumBankhausSchelhammerUndSchatteraAg | val GHC.Classes.== "bawag_psk_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumBawagPskAg | val GHC.Classes.== "bks_bank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumBksBankAg | val GHC.Classes.== "brull_kallmus_bank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumBrullKallmusBankAg | val GHC.Classes.== "btv_vier_lander_bank" -> PostPaymentMethodsRequestBodyEps'Bank'EnumBtvVierLanderBank | val GHC.Classes.== "capital_bank_grawe_gruppe_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumCapitalBankGraweGruppeAg | val GHC.Classes.== "dolomitenbank" -> PostPaymentMethodsRequestBodyEps'Bank'EnumDolomitenbank | val GHC.Classes.== "easybank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumEasybankAg | val GHC.Classes.== "erste_bank_und_sparkassen" -> PostPaymentMethodsRequestBodyEps'Bank'EnumErsteBankUndSparkassen | val GHC.Classes.== "hypo_alpeadriabank_international_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumHypoAlpeadriabankInternationalAg | val GHC.Classes.== "hypo_bank_burgenland_aktiengesellschaft" -> PostPaymentMethodsRequestBodyEps'Bank'EnumHypoBankBurgenlandAktiengesellschaft | val GHC.Classes.== "hypo_noe_lb_fur_niederosterreich_u_wien" -> PostPaymentMethodsRequestBodyEps'Bank'EnumHypoNoeLbFurNiederosterreichUWien | val GHC.Classes.== "hypo_oberosterreich_salzburg_steiermark" -> PostPaymentMethodsRequestBodyEps'Bank'EnumHypoOberosterreichSalzburgSteiermark | val GHC.Classes.== "hypo_tirol_bank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumHypoTirolBankAg | val GHC.Classes.== "hypo_vorarlberg_bank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumHypoVorarlbergBankAg | val GHC.Classes.== "marchfelder_bank" -> PostPaymentMethodsRequestBodyEps'Bank'EnumMarchfelderBank | val GHC.Classes.== "oberbank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumOberbankAg | val GHC.Classes.== "raiffeisen_bankengruppe_osterreich" -> PostPaymentMethodsRequestBodyEps'Bank'EnumRaiffeisenBankengruppeOsterreich | val GHC.Classes.== "schoellerbank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumSchoellerbankAg | val GHC.Classes.== "sparda_bank_wien" -> PostPaymentMethodsRequestBodyEps'Bank'EnumSpardaBankWien | val GHC.Classes.== "volksbank_gruppe" -> PostPaymentMethodsRequestBodyEps'Bank'EnumVolksbankGruppe | val GHC.Classes.== "volkskreditbank_ag" -> PostPaymentMethodsRequestBodyEps'Bank'EnumVolkskreditbankAg | val GHC.Classes.== "vr_bank_braunau" -> PostPaymentMethodsRequestBodyEps'Bank'EnumVrBankBraunau | GHC.Base.otherwise -> PostPaymentMethodsRequestBodyEps'Bank'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.fpx@ in the specification. -- -- If this is an \`fpx\` PaymentMethod, this hash contains details about the FPX payment method. data PostPaymentMethodsRequestBodyFpx' = PostPaymentMethodsRequestBodyFpx' { -- | bank -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyFpx'Bank :: PostPaymentMethodsRequestBodyFpx'Bank' } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyFpx' where toJSON obj = Data.Aeson.Types.Internal.object ("bank" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyFpx'Bank obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("bank" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyFpx'Bank obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyFpx' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyFpx'" (\obj -> GHC.Base.pure PostPaymentMethodsRequestBodyFpx' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "bank")) -- | Create a new 'PostPaymentMethodsRequestBodyFpx'' with all required fields. mkPostPaymentMethodsRequestBodyFpx' :: -- | 'postPaymentMethodsRequestBodyFpx'Bank' PostPaymentMethodsRequestBodyFpx'Bank' -> PostPaymentMethodsRequestBodyFpx' mkPostPaymentMethodsRequestBodyFpx' postPaymentMethodsRequestBodyFpx'Bank = PostPaymentMethodsRequestBodyFpx' {postPaymentMethodsRequestBodyFpx'Bank = postPaymentMethodsRequestBodyFpx'Bank} -- | Defines the enum schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.fpx.properties.bank@ in the specification. data PostPaymentMethodsRequestBodyFpx'Bank' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentMethodsRequestBodyFpx'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. PostPaymentMethodsRequestBodyFpx'Bank'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"affin_bank"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumAffinBank | -- | Represents the JSON value @"alliance_bank"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumAllianceBank | -- | Represents the JSON value @"ambank"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumAmbank | -- | Represents the JSON value @"bank_islam"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumBankIslam | -- | Represents the JSON value @"bank_muamalat"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumBankMuamalat | -- | Represents the JSON value @"bank_rakyat"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumBankRakyat | -- | Represents the JSON value @"bsn"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumBsn | -- | Represents the JSON value @"cimb"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumCimb | -- | Represents the JSON value @"deutsche_bank"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumDeutscheBank | -- | Represents the JSON value @"hong_leong_bank"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumHongLeongBank | -- | Represents the JSON value @"hsbc"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumHsbc | -- | Represents the JSON value @"kfh"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumKfh | -- | Represents the JSON value @"maybank2e"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumMaybank2e | -- | Represents the JSON value @"maybank2u"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumMaybank2u | -- | Represents the JSON value @"ocbc"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumOcbc | -- | Represents the JSON value @"pb_enterprise"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumPbEnterprise | -- | Represents the JSON value @"public_bank"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumPublicBank | -- | Represents the JSON value @"rhb"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumRhb | -- | Represents the JSON value @"standard_chartered"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumStandardChartered | -- | Represents the JSON value @"uob"@ PostPaymentMethodsRequestBodyFpx'Bank'EnumUob deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyFpx'Bank' where toJSON (PostPaymentMethodsRequestBodyFpx'Bank'Other val) = val toJSON (PostPaymentMethodsRequestBodyFpx'Bank'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumAffinBank) = "affin_bank" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumAllianceBank) = "alliance_bank" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumAmbank) = "ambank" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumBankIslam) = "bank_islam" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumBankMuamalat) = "bank_muamalat" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumBankRakyat) = "bank_rakyat" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumBsn) = "bsn" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumCimb) = "cimb" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumDeutscheBank) = "deutsche_bank" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumHongLeongBank) = "hong_leong_bank" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumHsbc) = "hsbc" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumKfh) = "kfh" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumMaybank2e) = "maybank2e" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumMaybank2u) = "maybank2u" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumOcbc) = "ocbc" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumPbEnterprise) = "pb_enterprise" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumPublicBank) = "public_bank" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumRhb) = "rhb" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumStandardChartered) = "standard_chartered" toJSON (PostPaymentMethodsRequestBodyFpx'Bank'EnumUob) = "uob" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyFpx'Bank' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "affin_bank" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumAffinBank | val GHC.Classes.== "alliance_bank" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumAllianceBank | val GHC.Classes.== "ambank" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumAmbank | val GHC.Classes.== "bank_islam" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumBankIslam | val GHC.Classes.== "bank_muamalat" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumBankMuamalat | val GHC.Classes.== "bank_rakyat" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumBankRakyat | val GHC.Classes.== "bsn" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumBsn | val GHC.Classes.== "cimb" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumCimb | val GHC.Classes.== "deutsche_bank" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumDeutscheBank | val GHC.Classes.== "hong_leong_bank" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumHongLeongBank | val GHC.Classes.== "hsbc" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumHsbc | val GHC.Classes.== "kfh" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumKfh | val GHC.Classes.== "maybank2e" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumMaybank2e | val GHC.Classes.== "maybank2u" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumMaybank2u | val GHC.Classes.== "ocbc" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumOcbc | val GHC.Classes.== "pb_enterprise" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumPbEnterprise | val GHC.Classes.== "public_bank" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumPublicBank | val GHC.Classes.== "rhb" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumRhb | val GHC.Classes.== "standard_chartered" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumStandardChartered | val GHC.Classes.== "uob" -> PostPaymentMethodsRequestBodyFpx'Bank'EnumUob | GHC.Base.otherwise -> PostPaymentMethodsRequestBodyFpx'Bank'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.ideal@ in the specification. -- -- If this is an \`ideal\` PaymentMethod, this hash contains details about the iDEAL payment method. data PostPaymentMethodsRequestBodyIdeal' = PostPaymentMethodsRequestBodyIdeal' { -- | bank -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyIdeal'Bank :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyIdeal'Bank') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyIdeal' where toJSON obj = Data.Aeson.Types.Internal.object ("bank" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyIdeal'Bank obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("bank" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyIdeal'Bank obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyIdeal' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyIdeal'" (\obj -> GHC.Base.pure PostPaymentMethodsRequestBodyIdeal' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank")) -- | Create a new 'PostPaymentMethodsRequestBodyIdeal'' with all required fields. mkPostPaymentMethodsRequestBodyIdeal' :: PostPaymentMethodsRequestBodyIdeal' mkPostPaymentMethodsRequestBodyIdeal' = PostPaymentMethodsRequestBodyIdeal' {postPaymentMethodsRequestBodyIdeal'Bank = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.ideal.properties.bank@ in the specification. data PostPaymentMethodsRequestBodyIdeal'Bank' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentMethodsRequestBodyIdeal'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. PostPaymentMethodsRequestBodyIdeal'Bank'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"abn_amro"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumAbnAmro | -- | Represents the JSON value @"asn_bank"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumAsnBank | -- | Represents the JSON value @"bunq"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumBunq | -- | Represents the JSON value @"handelsbanken"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumHandelsbanken | -- | Represents the JSON value @"ing"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumIng | -- | Represents the JSON value @"knab"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumKnab | -- | Represents the JSON value @"moneyou"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumMoneyou | -- | Represents the JSON value @"rabobank"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumRabobank | -- | Represents the JSON value @"regiobank"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumRegiobank | -- | Represents the JSON value @"revolut"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumRevolut | -- | Represents the JSON value @"sns_bank"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumSnsBank | -- | Represents the JSON value @"triodos_bank"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumTriodosBank | -- | Represents the JSON value @"van_lanschot"@ PostPaymentMethodsRequestBodyIdeal'Bank'EnumVanLanschot deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyIdeal'Bank' where toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'Other val) = val toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumAbnAmro) = "abn_amro" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumAsnBank) = "asn_bank" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumBunq) = "bunq" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumHandelsbanken) = "handelsbanken" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumIng) = "ing" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumKnab) = "knab" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumMoneyou) = "moneyou" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumRabobank) = "rabobank" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumRegiobank) = "regiobank" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumRevolut) = "revolut" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumSnsBank) = "sns_bank" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumTriodosBank) = "triodos_bank" toJSON (PostPaymentMethodsRequestBodyIdeal'Bank'EnumVanLanschot) = "van_lanschot" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyIdeal'Bank' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "abn_amro" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumAbnAmro | val GHC.Classes.== "asn_bank" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumAsnBank | val GHC.Classes.== "bunq" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumBunq | val GHC.Classes.== "handelsbanken" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumHandelsbanken | val GHC.Classes.== "ing" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumIng | val GHC.Classes.== "knab" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumKnab | val GHC.Classes.== "moneyou" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumMoneyou | val GHC.Classes.== "rabobank" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumRabobank | val GHC.Classes.== "regiobank" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumRegiobank | val GHC.Classes.== "revolut" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumRevolut | val GHC.Classes.== "sns_bank" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumSnsBank | val GHC.Classes.== "triodos_bank" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumTriodosBank | val GHC.Classes.== "van_lanschot" -> PostPaymentMethodsRequestBodyIdeal'Bank'EnumVanLanschot | GHC.Base.otherwise -> PostPaymentMethodsRequestBodyIdeal'Bank'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.p24@ in the specification. -- -- If this is a \`p24\` PaymentMethod, this hash contains details about the P24 payment method. data PostPaymentMethodsRequestBodyP24' = PostPaymentMethodsRequestBodyP24' { -- | bank -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodyP24'Bank :: (GHC.Maybe.Maybe PostPaymentMethodsRequestBodyP24'Bank') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyP24' where toJSON obj = Data.Aeson.Types.Internal.object ("bank" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyP24'Bank obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("bank" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodyP24'Bank obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyP24' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodyP24'" (\obj -> GHC.Base.pure PostPaymentMethodsRequestBodyP24' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank")) -- | Create a new 'PostPaymentMethodsRequestBodyP24'' with all required fields. mkPostPaymentMethodsRequestBodyP24' :: PostPaymentMethodsRequestBodyP24' mkPostPaymentMethodsRequestBodyP24' = PostPaymentMethodsRequestBodyP24' {postPaymentMethodsRequestBodyP24'Bank = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.p24.properties.bank@ in the specification. data PostPaymentMethodsRequestBodyP24'Bank' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentMethodsRequestBodyP24'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. PostPaymentMethodsRequestBodyP24'Bank'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"alior_bank"@ PostPaymentMethodsRequestBodyP24'Bank'EnumAliorBank | -- | Represents the JSON value @"bank_millennium"@ PostPaymentMethodsRequestBodyP24'Bank'EnumBankMillennium | -- | Represents the JSON value @"bank_nowy_bfg_sa"@ PostPaymentMethodsRequestBodyP24'Bank'EnumBankNowyBfgSa | -- | Represents the JSON value @"bank_pekao_sa"@ PostPaymentMethodsRequestBodyP24'Bank'EnumBankPekaoSa | -- | Represents the JSON value @"banki_spbdzielcze"@ PostPaymentMethodsRequestBodyP24'Bank'EnumBankiSpbdzielcze | -- | Represents the JSON value @"blik"@ PostPaymentMethodsRequestBodyP24'Bank'EnumBlik | -- | Represents the JSON value @"bnp_paribas"@ PostPaymentMethodsRequestBodyP24'Bank'EnumBnpParibas | -- | Represents the JSON value @"boz"@ PostPaymentMethodsRequestBodyP24'Bank'EnumBoz | -- | Represents the JSON value @"citi_handlowy"@ PostPaymentMethodsRequestBodyP24'Bank'EnumCitiHandlowy | -- | Represents the JSON value @"credit_agricole"@ PostPaymentMethodsRequestBodyP24'Bank'EnumCreditAgricole | -- | Represents the JSON value @"envelobank"@ PostPaymentMethodsRequestBodyP24'Bank'EnumEnvelobank | -- | Represents the JSON value @"etransfer_pocztowy24"@ PostPaymentMethodsRequestBodyP24'Bank'EnumEtransferPocztowy24 | -- | Represents the JSON value @"getin_bank"@ PostPaymentMethodsRequestBodyP24'Bank'EnumGetinBank | -- | Represents the JSON value @"ideabank"@ PostPaymentMethodsRequestBodyP24'Bank'EnumIdeabank | -- | Represents the JSON value @"ing"@ PostPaymentMethodsRequestBodyP24'Bank'EnumIng | -- | Represents the JSON value @"inteligo"@ PostPaymentMethodsRequestBodyP24'Bank'EnumInteligo | -- | Represents the JSON value @"mbank_mtransfer"@ PostPaymentMethodsRequestBodyP24'Bank'EnumMbankMtransfer | -- | Represents the JSON value @"nest_przelew"@ PostPaymentMethodsRequestBodyP24'Bank'EnumNestPrzelew | -- | Represents the JSON value @"noble_pay"@ PostPaymentMethodsRequestBodyP24'Bank'EnumNoblePay | -- | Represents the JSON value @"pbac_z_ipko"@ PostPaymentMethodsRequestBodyP24'Bank'EnumPbacZIpko | -- | Represents the JSON value @"plus_bank"@ PostPaymentMethodsRequestBodyP24'Bank'EnumPlusBank | -- | Represents the JSON value @"santander_przelew24"@ PostPaymentMethodsRequestBodyP24'Bank'EnumSantanderPrzelew24 | -- | Represents the JSON value @"tmobile_usbugi_bankowe"@ PostPaymentMethodsRequestBodyP24'Bank'EnumTmobileUsbugiBankowe | -- | Represents the JSON value @"toyota_bank"@ PostPaymentMethodsRequestBodyP24'Bank'EnumToyotaBank | -- | Represents the JSON value @"volkswagen_bank"@ PostPaymentMethodsRequestBodyP24'Bank'EnumVolkswagenBank deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyP24'Bank' where toJSON (PostPaymentMethodsRequestBodyP24'Bank'Other val) = val toJSON (PostPaymentMethodsRequestBodyP24'Bank'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumAliorBank) = "alior_bank" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumBankMillennium) = "bank_millennium" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumBankNowyBfgSa) = "bank_nowy_bfg_sa" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumBankPekaoSa) = "bank_pekao_sa" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumBankiSpbdzielcze) = "banki_spbdzielcze" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumBlik) = "blik" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumBnpParibas) = "bnp_paribas" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumBoz) = "boz" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumCitiHandlowy) = "citi_handlowy" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumCreditAgricole) = "credit_agricole" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumEnvelobank) = "envelobank" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumEtransferPocztowy24) = "etransfer_pocztowy24" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumGetinBank) = "getin_bank" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumIdeabank) = "ideabank" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumIng) = "ing" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumInteligo) = "inteligo" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumMbankMtransfer) = "mbank_mtransfer" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumNestPrzelew) = "nest_przelew" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumNoblePay) = "noble_pay" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumPbacZIpko) = "pbac_z_ipko" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumPlusBank) = "plus_bank" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumSantanderPrzelew24) = "santander_przelew24" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumTmobileUsbugiBankowe) = "tmobile_usbugi_bankowe" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumToyotaBank) = "toyota_bank" toJSON (PostPaymentMethodsRequestBodyP24'Bank'EnumVolkswagenBank) = "volkswagen_bank" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyP24'Bank' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "alior_bank" -> PostPaymentMethodsRequestBodyP24'Bank'EnumAliorBank | val GHC.Classes.== "bank_millennium" -> PostPaymentMethodsRequestBodyP24'Bank'EnumBankMillennium | val GHC.Classes.== "bank_nowy_bfg_sa" -> PostPaymentMethodsRequestBodyP24'Bank'EnumBankNowyBfgSa | val GHC.Classes.== "bank_pekao_sa" -> PostPaymentMethodsRequestBodyP24'Bank'EnumBankPekaoSa | val GHC.Classes.== "banki_spbdzielcze" -> PostPaymentMethodsRequestBodyP24'Bank'EnumBankiSpbdzielcze | val GHC.Classes.== "blik" -> PostPaymentMethodsRequestBodyP24'Bank'EnumBlik | val GHC.Classes.== "bnp_paribas" -> PostPaymentMethodsRequestBodyP24'Bank'EnumBnpParibas | val GHC.Classes.== "boz" -> PostPaymentMethodsRequestBodyP24'Bank'EnumBoz | val GHC.Classes.== "citi_handlowy" -> PostPaymentMethodsRequestBodyP24'Bank'EnumCitiHandlowy | val GHC.Classes.== "credit_agricole" -> PostPaymentMethodsRequestBodyP24'Bank'EnumCreditAgricole | val GHC.Classes.== "envelobank" -> PostPaymentMethodsRequestBodyP24'Bank'EnumEnvelobank | val GHC.Classes.== "etransfer_pocztowy24" -> PostPaymentMethodsRequestBodyP24'Bank'EnumEtransferPocztowy24 | val GHC.Classes.== "getin_bank" -> PostPaymentMethodsRequestBodyP24'Bank'EnumGetinBank | val GHC.Classes.== "ideabank" -> PostPaymentMethodsRequestBodyP24'Bank'EnumIdeabank | val GHC.Classes.== "ing" -> PostPaymentMethodsRequestBodyP24'Bank'EnumIng | val GHC.Classes.== "inteligo" -> PostPaymentMethodsRequestBodyP24'Bank'EnumInteligo | val GHC.Classes.== "mbank_mtransfer" -> PostPaymentMethodsRequestBodyP24'Bank'EnumMbankMtransfer | val GHC.Classes.== "nest_przelew" -> PostPaymentMethodsRequestBodyP24'Bank'EnumNestPrzelew | val GHC.Classes.== "noble_pay" -> PostPaymentMethodsRequestBodyP24'Bank'EnumNoblePay | val GHC.Classes.== "pbac_z_ipko" -> PostPaymentMethodsRequestBodyP24'Bank'EnumPbacZIpko | val GHC.Classes.== "plus_bank" -> PostPaymentMethodsRequestBodyP24'Bank'EnumPlusBank | val GHC.Classes.== "santander_przelew24" -> PostPaymentMethodsRequestBodyP24'Bank'EnumSantanderPrzelew24 | val GHC.Classes.== "tmobile_usbugi_bankowe" -> PostPaymentMethodsRequestBodyP24'Bank'EnumTmobileUsbugiBankowe | val GHC.Classes.== "toyota_bank" -> PostPaymentMethodsRequestBodyP24'Bank'EnumToyotaBank | val GHC.Classes.== "volkswagen_bank" -> PostPaymentMethodsRequestBodyP24'Bank'EnumVolkswagenBank | GHC.Base.otherwise -> PostPaymentMethodsRequestBodyP24'Bank'Other val ) -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.sepa_debit@ in the specification. -- -- If this is a \`sepa_debit\` PaymentMethod, this hash contains details about the SEPA debit bank account. data PostPaymentMethodsRequestBodySepaDebit' = PostPaymentMethodsRequestBodySepaDebit' { -- | iban -- -- Constraints: -- -- * Maximum length of 5000 postPaymentMethodsRequestBodySepaDebit'Iban :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodySepaDebit' where toJSON obj = Data.Aeson.Types.Internal.object ("iban" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodySepaDebit'Iban obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("iban" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodySepaDebit'Iban obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodySepaDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodySepaDebit'" (\obj -> GHC.Base.pure PostPaymentMethodsRequestBodySepaDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "iban")) -- | Create a new 'PostPaymentMethodsRequestBodySepaDebit'' with all required fields. mkPostPaymentMethodsRequestBodySepaDebit' :: -- | 'postPaymentMethodsRequestBodySepaDebit'Iban' Data.Text.Internal.Text -> PostPaymentMethodsRequestBodySepaDebit' mkPostPaymentMethodsRequestBodySepaDebit' postPaymentMethodsRequestBodySepaDebit'Iban = PostPaymentMethodsRequestBodySepaDebit' {postPaymentMethodsRequestBodySepaDebit'Iban = postPaymentMethodsRequestBodySepaDebit'Iban} -- | Defines the object schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.sofort@ in the specification. -- -- If this is a \`sofort\` PaymentMethod, this hash contains details about the SOFORT payment method. data PostPaymentMethodsRequestBodySofort' = PostPaymentMethodsRequestBodySofort' { -- | country postPaymentMethodsRequestBodySofort'Country :: PostPaymentMethodsRequestBodySofort'Country' } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodySofort' where toJSON obj = Data.Aeson.Types.Internal.object ("country" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodySofort'Country obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs ("country" Data.Aeson.Types.ToJSON..= postPaymentMethodsRequestBodySofort'Country obj) instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodySofort' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostPaymentMethodsRequestBodySofort'" (\obj -> GHC.Base.pure PostPaymentMethodsRequestBodySofort' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "country")) -- | Create a new 'PostPaymentMethodsRequestBodySofort'' with all required fields. mkPostPaymentMethodsRequestBodySofort' :: -- | 'postPaymentMethodsRequestBodySofort'Country' PostPaymentMethodsRequestBodySofort'Country' -> PostPaymentMethodsRequestBodySofort' mkPostPaymentMethodsRequestBodySofort' postPaymentMethodsRequestBodySofort'Country = PostPaymentMethodsRequestBodySofort' {postPaymentMethodsRequestBodySofort'Country = postPaymentMethodsRequestBodySofort'Country} -- | Defines the enum schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.sofort.properties.country@ in the specification. data PostPaymentMethodsRequestBodySofort'Country' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentMethodsRequestBodySofort'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. PostPaymentMethodsRequestBodySofort'Country'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"AT"@ PostPaymentMethodsRequestBodySofort'Country'EnumAT | -- | Represents the JSON value @"BE"@ PostPaymentMethodsRequestBodySofort'Country'EnumBE | -- | Represents the JSON value @"DE"@ PostPaymentMethodsRequestBodySofort'Country'EnumDE | -- | Represents the JSON value @"ES"@ PostPaymentMethodsRequestBodySofort'Country'EnumES | -- | Represents the JSON value @"IT"@ PostPaymentMethodsRequestBodySofort'Country'EnumIT | -- | Represents the JSON value @"NL"@ PostPaymentMethodsRequestBodySofort'Country'EnumNL deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodySofort'Country' where toJSON (PostPaymentMethodsRequestBodySofort'Country'Other val) = val toJSON (PostPaymentMethodsRequestBodySofort'Country'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentMethodsRequestBodySofort'Country'EnumAT) = "AT" toJSON (PostPaymentMethodsRequestBodySofort'Country'EnumBE) = "BE" toJSON (PostPaymentMethodsRequestBodySofort'Country'EnumDE) = "DE" toJSON (PostPaymentMethodsRequestBodySofort'Country'EnumES) = "ES" toJSON (PostPaymentMethodsRequestBodySofort'Country'EnumIT) = "IT" toJSON (PostPaymentMethodsRequestBodySofort'Country'EnumNL) = "NL" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodySofort'Country' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "AT" -> PostPaymentMethodsRequestBodySofort'Country'EnumAT | val GHC.Classes.== "BE" -> PostPaymentMethodsRequestBodySofort'Country'EnumBE | val GHC.Classes.== "DE" -> PostPaymentMethodsRequestBodySofort'Country'EnumDE | val GHC.Classes.== "ES" -> PostPaymentMethodsRequestBodySofort'Country'EnumES | val GHC.Classes.== "IT" -> PostPaymentMethodsRequestBodySofort'Country'EnumIT | val GHC.Classes.== "NL" -> PostPaymentMethodsRequestBodySofort'Country'EnumNL | GHC.Base.otherwise -> PostPaymentMethodsRequestBodySofort'Country'Other val ) -- | Defines the enum schema located at @paths.\/v1\/payment_methods.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.type@ in the specification. -- -- The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. data PostPaymentMethodsRequestBodyType' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostPaymentMethodsRequestBodyType'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. PostPaymentMethodsRequestBodyType'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"acss_debit"@ PostPaymentMethodsRequestBodyType'EnumAcssDebit | -- | Represents the JSON value @"afterpay_clearpay"@ PostPaymentMethodsRequestBodyType'EnumAfterpayClearpay | -- | Represents the JSON value @"alipay"@ PostPaymentMethodsRequestBodyType'EnumAlipay | -- | Represents the JSON value @"au_becs_debit"@ PostPaymentMethodsRequestBodyType'EnumAuBecsDebit | -- | Represents the JSON value @"bacs_debit"@ PostPaymentMethodsRequestBodyType'EnumBacsDebit | -- | Represents the JSON value @"bancontact"@ PostPaymentMethodsRequestBodyType'EnumBancontact | -- | Represents the JSON value @"boleto"@ PostPaymentMethodsRequestBodyType'EnumBoleto | -- | Represents the JSON value @"card"@ PostPaymentMethodsRequestBodyType'EnumCard | -- | Represents the JSON value @"eps"@ PostPaymentMethodsRequestBodyType'EnumEps | -- | Represents the JSON value @"fpx"@ PostPaymentMethodsRequestBodyType'EnumFpx | -- | Represents the JSON value @"giropay"@ PostPaymentMethodsRequestBodyType'EnumGiropay | -- | Represents the JSON value @"grabpay"@ PostPaymentMethodsRequestBodyType'EnumGrabpay | -- | Represents the JSON value @"ideal"@ PostPaymentMethodsRequestBodyType'EnumIdeal | -- | Represents the JSON value @"oxxo"@ PostPaymentMethodsRequestBodyType'EnumOxxo | -- | Represents the JSON value @"p24"@ PostPaymentMethodsRequestBodyType'EnumP24 | -- | Represents the JSON value @"sepa_debit"@ PostPaymentMethodsRequestBodyType'EnumSepaDebit | -- | Represents the JSON value @"sofort"@ PostPaymentMethodsRequestBodyType'EnumSofort deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostPaymentMethodsRequestBodyType' where toJSON (PostPaymentMethodsRequestBodyType'Other val) = val toJSON (PostPaymentMethodsRequestBodyType'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostPaymentMethodsRequestBodyType'EnumAcssDebit) = "acss_debit" toJSON (PostPaymentMethodsRequestBodyType'EnumAfterpayClearpay) = "afterpay_clearpay" toJSON (PostPaymentMethodsRequestBodyType'EnumAlipay) = "alipay" toJSON (PostPaymentMethodsRequestBodyType'EnumAuBecsDebit) = "au_becs_debit" toJSON (PostPaymentMethodsRequestBodyType'EnumBacsDebit) = "bacs_debit" toJSON (PostPaymentMethodsRequestBodyType'EnumBancontact) = "bancontact" toJSON (PostPaymentMethodsRequestBodyType'EnumBoleto) = "boleto" toJSON (PostPaymentMethodsRequestBodyType'EnumCard) = "card" toJSON (PostPaymentMethodsRequestBodyType'EnumEps) = "eps" toJSON (PostPaymentMethodsRequestBodyType'EnumFpx) = "fpx" toJSON (PostPaymentMethodsRequestBodyType'EnumGiropay) = "giropay" toJSON (PostPaymentMethodsRequestBodyType'EnumGrabpay) = "grabpay" toJSON (PostPaymentMethodsRequestBodyType'EnumIdeal) = "ideal" toJSON (PostPaymentMethodsRequestBodyType'EnumOxxo) = "oxxo" toJSON (PostPaymentMethodsRequestBodyType'EnumP24) = "p24" toJSON (PostPaymentMethodsRequestBodyType'EnumSepaDebit) = "sepa_debit" toJSON (PostPaymentMethodsRequestBodyType'EnumSofort) = "sofort" instance Data.Aeson.Types.FromJSON.FromJSON PostPaymentMethodsRequestBodyType' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "acss_debit" -> PostPaymentMethodsRequestBodyType'EnumAcssDebit | val GHC.Classes.== "afterpay_clearpay" -> PostPaymentMethodsRequestBodyType'EnumAfterpayClearpay | val GHC.Classes.== "alipay" -> PostPaymentMethodsRequestBodyType'EnumAlipay | val GHC.Classes.== "au_becs_debit" -> PostPaymentMethodsRequestBodyType'EnumAuBecsDebit | val GHC.Classes.== "bacs_debit" -> PostPaymentMethodsRequestBodyType'EnumBacsDebit | val GHC.Classes.== "bancontact" -> PostPaymentMethodsRequestBodyType'EnumBancontact | val GHC.Classes.== "boleto" -> PostPaymentMethodsRequestBodyType'EnumBoleto | val GHC.Classes.== "card" -> PostPaymentMethodsRequestBodyType'EnumCard | val GHC.Classes.== "eps" -> PostPaymentMethodsRequestBodyType'EnumEps | val GHC.Classes.== "fpx" -> PostPaymentMethodsRequestBodyType'EnumFpx | val GHC.Classes.== "giropay" -> PostPaymentMethodsRequestBodyType'EnumGiropay | val GHC.Classes.== "grabpay" -> PostPaymentMethodsRequestBodyType'EnumGrabpay | val GHC.Classes.== "ideal" -> PostPaymentMethodsRequestBodyType'EnumIdeal | val GHC.Classes.== "oxxo" -> PostPaymentMethodsRequestBodyType'EnumOxxo | val GHC.Classes.== "p24" -> PostPaymentMethodsRequestBodyType'EnumP24 | val GHC.Classes.== "sepa_debit" -> PostPaymentMethodsRequestBodyType'EnumSepaDebit | val GHC.Classes.== "sofort" -> PostPaymentMethodsRequestBodyType'EnumSofort | GHC.Base.otherwise -> PostPaymentMethodsRequestBodyType'Other val ) -- | Represents a response of the operation 'postPaymentMethods'. -- -- 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), 'PostPaymentMethodsResponseError' is used. data PostPaymentMethodsResponse = -- | Means either no matching case available or a parse error PostPaymentMethodsResponseError GHC.Base.String | -- | Successful response. PostPaymentMethodsResponse200 PaymentMethod | -- | Error response. PostPaymentMethodsResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)