{-# 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 types generated from the schema ApiErrors module StripeAPI.Types.ApiErrors where import qualified Control.Monad.Fail 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.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 GHC.Base import qualified GHC.Classes import qualified GHC.Int import qualified GHC.Show import qualified GHC.Types import qualified StripeAPI.Common import StripeAPI.TypeAlias import {-# SOURCE #-} StripeAPI.Types.Account import {-# SOURCE #-} StripeAPI.Types.Address import {-# SOURCE #-} StripeAPI.Types.BankAccount import {-# SOURCE #-} StripeAPI.Types.Card import {-# SOURCE #-} StripeAPI.Types.Customer import {-# SOURCE #-} StripeAPI.Types.DeletedCustomer import {-# SOURCE #-} StripeAPI.Types.PaymentIntent import {-# SOURCE #-} StripeAPI.Types.PaymentMethod import {-# SOURCE #-} StripeAPI.Types.Recipient import {-# SOURCE #-} StripeAPI.Types.SetupIntent import {-# SOURCE #-} StripeAPI.Types.Source import {-# SOURCE #-} StripeAPI.Types.SourceCodeVerificationFlow import {-# SOURCE #-} StripeAPI.Types.SourceOrder import {-# SOURCE #-} StripeAPI.Types.SourceOwner import {-# SOURCE #-} StripeAPI.Types.SourceReceiverFlow import {-# SOURCE #-} StripeAPI.Types.SourceRedirectFlow import {-# SOURCE #-} StripeAPI.Types.SourceTypeAchCreditTransfer import {-# SOURCE #-} StripeAPI.Types.SourceTypeAchDebit import {-# SOURCE #-} StripeAPI.Types.SourceTypeAcssDebit import {-# SOURCE #-} StripeAPI.Types.SourceTypeAlipay import {-# SOURCE #-} StripeAPI.Types.SourceTypeAuBecsDebit import {-# SOURCE #-} StripeAPI.Types.SourceTypeBancontact import {-# SOURCE #-} StripeAPI.Types.SourceTypeCard import {-# SOURCE #-} StripeAPI.Types.SourceTypeCardPresent import {-# SOURCE #-} StripeAPI.Types.SourceTypeEps import {-# SOURCE #-} StripeAPI.Types.SourceTypeGiropay import {-# SOURCE #-} StripeAPI.Types.SourceTypeIdeal import {-# SOURCE #-} StripeAPI.Types.SourceTypeKlarna import {-# SOURCE #-} StripeAPI.Types.SourceTypeMultibanco import {-# SOURCE #-} StripeAPI.Types.SourceTypeP24 import {-# SOURCE #-} StripeAPI.Types.SourceTypeSepaDebit import {-# SOURCE #-} StripeAPI.Types.SourceTypeSofort import {-# SOURCE #-} StripeAPI.Types.SourceTypeThreeDSecure import {-# SOURCE #-} StripeAPI.Types.SourceTypeWechat import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe -- | Defines the object schema located at @components.schemas.api_errors@ in the specification. data ApiErrors = ApiErrors { -- | charge: For card errors, the ID of the failed charge. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsCharge :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | code: For some errors that could be handled programmatically, a short string indicating the [error code](https:\/\/stripe.com\/docs\/error-codes) reported. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | decline_code: For card errors resulting from a card issuer decline, a short string indicating the [card issuer\'s reason for the decline](https:\/\/stripe.com\/docs\/declines\#issuer-declines) if they provide one. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsDeclineCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | doc_url: A URL to more information about the [error code](https:\/\/stripe.com\/docs\/error-codes) reported. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsDocUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | message: A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. -- -- Constraints: -- -- * Maximum length of 40000 apiErrorsMessage :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | param: If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsParam :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | payment_intent: A PaymentIntent guides you through the process of collecting a payment from your customer. -- We recommend that you create exactly one PaymentIntent for each order or -- customer session in your system. You can reference the PaymentIntent later to -- see the history of payment attempts for a particular session. -- -- A PaymentIntent transitions through -- [multiple statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) -- throughout its lifetime as it interfaces with Stripe.js to perform -- authentication flows and ultimately creates at most one successful charge. -- -- Related guide: [Payment Intents API](https:\/\/stripe.com\/docs\/payments\/payment-intents). apiErrorsPaymentIntent :: (GHC.Maybe.Maybe PaymentIntent), -- | payment_method: PaymentMethod objects represent your customer\'s payment instruments. -- They can be used with [PaymentIntents](https:\/\/stripe.com\/docs\/payments\/payment-intents) to collect payments or saved to -- Customer objects to store instrument details for future payments. -- -- Related guides: [Payment Methods](https:\/\/stripe.com\/docs\/payments\/payment-methods) and [More Payment Scenarios](https:\/\/stripe.com\/docs\/payments\/more-payment-scenarios). apiErrorsPaymentMethod :: (GHC.Maybe.Maybe PaymentMethod), -- | payment_method_type: If the error is specific to the type of payment method, the payment method type that had a problem. This field is only populated for invoice-related errors. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsPaymentMethodType :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | setup_intent: A SetupIntent guides you through the process of setting up and saving a customer\'s payment credentials for future payments. -- For example, you could use a SetupIntent to set up and save your customer\'s card without immediately collecting a payment. -- Later, you can use [PaymentIntents](https:\/\/stripe.com\/docs\/api\#payment_intents) to drive the payment flow. -- -- Create a SetupIntent as soon as you\'re ready to collect your customer\'s payment credentials. -- Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid. -- The SetupIntent then transitions through multiple [statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) as it guides -- you through the setup process. -- -- Successful SetupIntents result in payment credentials that are optimized for future payments. -- For example, cardholders in [certain regions](\/guides\/strong-customer-authentication) may need to be run through -- [Strong Customer Authentication](https:\/\/stripe.com\/docs\/strong-customer-authentication) at the time of payment method collection -- in order to streamline later [off-session payments](https:\/\/stripe.com\/docs\/payments\/setup-intents). -- If the SetupIntent is used with a [Customer](https:\/\/stripe.com\/docs\/api\#setup_intent_object-customer), upon success, -- it will automatically attach the resulting payment method to that Customer. -- We recommend using SetupIntents or [setup_future_usage](https:\/\/stripe.com\/docs\/api\#payment_intent_object-setup_future_usage) on -- PaymentIntents to save payment methods in order to prevent saving invalid or unoptimized payment methods. -- -- By using SetupIntents, you ensure that your customers experience the minimum set of required friction, -- even as regulations change over time. -- -- Related guide: [Setup Intents API](https:\/\/stripe.com\/docs\/payments\/setup-intents). apiErrorsSetupIntent :: (GHC.Maybe.Maybe SetupIntent), -- | source: The source object for errors returned on a request involving a source. apiErrorsSource :: (GHC.Maybe.Maybe ApiErrorsSource'), -- | type: The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\` apiErrorsType :: ApiErrorsType' } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrors where toJSON obj = Data.Aeson.Types.Internal.object ("charge" Data.Aeson.Types.ToJSON..= apiErrorsCharge obj : "code" Data.Aeson.Types.ToJSON..= apiErrorsCode obj : "decline_code" Data.Aeson.Types.ToJSON..= apiErrorsDeclineCode obj : "doc_url" Data.Aeson.Types.ToJSON..= apiErrorsDocUrl obj : "message" Data.Aeson.Types.ToJSON..= apiErrorsMessage obj : "param" Data.Aeson.Types.ToJSON..= apiErrorsParam obj : "payment_intent" Data.Aeson.Types.ToJSON..= apiErrorsPaymentIntent obj : "payment_method" Data.Aeson.Types.ToJSON..= apiErrorsPaymentMethod obj : "payment_method_type" Data.Aeson.Types.ToJSON..= apiErrorsPaymentMethodType obj : "setup_intent" Data.Aeson.Types.ToJSON..= apiErrorsSetupIntent obj : "source" Data.Aeson.Types.ToJSON..= apiErrorsSource obj : "type" Data.Aeson.Types.ToJSON..= apiErrorsType obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("charge" Data.Aeson.Types.ToJSON..= apiErrorsCharge obj) GHC.Base.<> (("code" Data.Aeson.Types.ToJSON..= apiErrorsCode obj) GHC.Base.<> (("decline_code" Data.Aeson.Types.ToJSON..= apiErrorsDeclineCode obj) GHC.Base.<> (("doc_url" Data.Aeson.Types.ToJSON..= apiErrorsDocUrl obj) GHC.Base.<> (("message" Data.Aeson.Types.ToJSON..= apiErrorsMessage obj) GHC.Base.<> (("param" Data.Aeson.Types.ToJSON..= apiErrorsParam obj) GHC.Base.<> (("payment_intent" Data.Aeson.Types.ToJSON..= apiErrorsPaymentIntent obj) GHC.Base.<> (("payment_method" Data.Aeson.Types.ToJSON..= apiErrorsPaymentMethod obj) GHC.Base.<> (("payment_method_type" Data.Aeson.Types.ToJSON..= apiErrorsPaymentMethodType obj) GHC.Base.<> (("setup_intent" Data.Aeson.Types.ToJSON..= apiErrorsSetupIntent obj) GHC.Base.<> (("source" Data.Aeson.Types.ToJSON..= apiErrorsSource obj) GHC.Base.<> ("type" Data.Aeson.Types.ToJSON..= apiErrorsType obj)))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrors where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrors" (\obj -> (((((((((((GHC.Base.pure ApiErrors GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "decline_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "doc_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "param")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Create a new 'ApiErrors' with all required fields. mkApiErrors :: -- | 'apiErrorsType' ApiErrorsType' -> ApiErrors mkApiErrors apiErrorsType = ApiErrors { apiErrorsCharge = GHC.Maybe.Nothing, apiErrorsCode = GHC.Maybe.Nothing, apiErrorsDeclineCode = GHC.Maybe.Nothing, apiErrorsDocUrl = GHC.Maybe.Nothing, apiErrorsMessage = GHC.Maybe.Nothing, apiErrorsParam = GHC.Maybe.Nothing, apiErrorsPaymentIntent = GHC.Maybe.Nothing, apiErrorsPaymentMethod = GHC.Maybe.Nothing, apiErrorsPaymentMethodType = GHC.Maybe.Nothing, apiErrorsSetupIntent = GHC.Maybe.Nothing, apiErrorsSource = GHC.Maybe.Nothing, apiErrorsType = apiErrorsType } -- | Defines the object schema located at @components.schemas.api_errors.properties.source.anyOf@ in the specification. -- -- The source object for errors returned on a request involving a source. data ApiErrorsSource' = ApiErrorsSource' { -- | account: The ID of the account that the bank account is associated with. apiErrorsSource'Account :: (GHC.Maybe.Maybe ApiErrorsSource'Account'Variants), -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AccountHolderName :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AccountHolderType :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | ach_credit_transfer apiErrorsSource'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer), -- | ach_debit apiErrorsSource'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit), -- | acss_debit apiErrorsSource'AcssDebit :: (GHC.Maybe.Maybe SourceTypeAcssDebit), -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AddressCity :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AddressCountry :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AddressLine1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AddressLine1Check :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AddressLine2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AddressState :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AddressZip :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'AddressZipCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | alipay apiErrorsSource'Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay), -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for \`single_use\` sources. apiErrorsSource'Amount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | au_becs_debit apiErrorsSource'AuBecsDebit :: (GHC.Maybe.Maybe SourceTypeAuBecsDebit), -- | available_payout_methods: A set of available payout methods for this bank account. Only values from this set should be passed as the \`method\` when creating a payout. apiErrorsSource'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([ApiErrorsSource'AvailablePayoutMethods'])), -- | bancontact apiErrorsSource'Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact), -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'BankName :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Brand :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | card apiErrorsSource'Card :: (GHC.Maybe.Maybe SourceTypeCard), -- | card_present apiErrorsSource'CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent), -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'ClientSecret :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | code_verification: apiErrorsSource'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow), -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. apiErrorsSource'Created :: (GHC.Maybe.Maybe GHC.Types.Int), -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. apiErrorsSource'Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | customer: The ID of the customer that the bank account is associated with. apiErrorsSource'Customer :: (GHC.Maybe.Maybe ApiErrorsSource'Customer'Variants), -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. A result of unchecked indicates that CVC was provided but hasn\'t been checked yet. Checks are typically performed when attaching a card to a Customer object, or when creating a charge. For more details, see [Check if a card is valid without a charge](https:\/\/support.stripe.com\/questions\/check-if-a-card-is-valid-without-a-charge). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'CvcCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | default_for_currency: Whether this bank account is the default external account for its currency. apiErrorsSource'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'DynamicLast4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | eps apiErrorsSource'Eps :: (GHC.Maybe.Maybe SourceTypeEps), -- | exp_month: Two-digit number representing the card\'s expiration month. apiErrorsSource'ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int), -- | exp_year: Four-digit number representing the card\'s expiration year. apiErrorsSource'ExpYear :: (GHC.Maybe.Maybe GHC.Types.Int), -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Fingerprint :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Flow :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Funding :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | giropay apiErrorsSource'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay), -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | ideal apiErrorsSource'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal), -- | klarna apiErrorsSource'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna), -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Last4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. apiErrorsSource'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | 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. apiErrorsSource'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | multibanco apiErrorsSource'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco), -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | object: String representing the object\'s type. Objects of the same type share the same value. apiErrorsSource'Object :: (GHC.Maybe.Maybe ApiErrorsSource'Object'), -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types. apiErrorsSource'Owner :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'), -- | p24 apiErrorsSource'P24 :: (GHC.Maybe.Maybe SourceTypeP24), -- | receiver: apiErrorsSource'Receiver :: (GHC.Maybe.Maybe SourceReceiverFlow), -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. apiErrorsSource'Recipient :: (GHC.Maybe.Maybe ApiErrorsSource'Recipient'Variants), -- | redirect: apiErrorsSource'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow), -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'RoutingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | sepa_debit apiErrorsSource'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit), -- | sofort apiErrorsSource'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort), -- | source_order: apiErrorsSource'SourceOrder :: (GHC.Maybe.Maybe SourceOrder), -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'StatementDescriptor :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Status :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | three_d_secure apiErrorsSource'ThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure), -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'TokenizationMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. apiErrorsSource'Type :: (GHC.Maybe.Maybe ApiErrorsSource'Type'), -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Usage :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | wechat apiErrorsSource'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource' where toJSON obj = Data.Aeson.Types.Internal.object ("account" Data.Aeson.Types.ToJSON..= apiErrorsSource'Account obj : "account_holder_name" Data.Aeson.Types.ToJSON..= apiErrorsSource'AccountHolderName obj : "account_holder_type" Data.Aeson.Types.ToJSON..= apiErrorsSource'AccountHolderType obj : "ach_credit_transfer" Data.Aeson.Types.ToJSON..= apiErrorsSource'AchCreditTransfer obj : "ach_debit" Data.Aeson.Types.ToJSON..= apiErrorsSource'AchDebit obj : "acss_debit" Data.Aeson.Types.ToJSON..= apiErrorsSource'AcssDebit obj : "address_city" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressCity obj : "address_country" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressCountry obj : "address_line1" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressLine1 obj : "address_line1_check" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressLine1Check obj : "address_line2" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressLine2 obj : "address_state" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressState obj : "address_zip" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressZip obj : "address_zip_check" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressZipCheck obj : "alipay" Data.Aeson.Types.ToJSON..= apiErrorsSource'Alipay obj : "amount" Data.Aeson.Types.ToJSON..= apiErrorsSource'Amount obj : "au_becs_debit" Data.Aeson.Types.ToJSON..= apiErrorsSource'AuBecsDebit obj : "available_payout_methods" Data.Aeson.Types.ToJSON..= apiErrorsSource'AvailablePayoutMethods obj : "bancontact" Data.Aeson.Types.ToJSON..= apiErrorsSource'Bancontact obj : "bank_name" Data.Aeson.Types.ToJSON..= apiErrorsSource'BankName obj : "brand" Data.Aeson.Types.ToJSON..= apiErrorsSource'Brand obj : "card" Data.Aeson.Types.ToJSON..= apiErrorsSource'Card obj : "card_present" Data.Aeson.Types.ToJSON..= apiErrorsSource'CardPresent obj : "client_secret" Data.Aeson.Types.ToJSON..= apiErrorsSource'ClientSecret obj : "code_verification" Data.Aeson.Types.ToJSON..= apiErrorsSource'CodeVerification obj : "country" Data.Aeson.Types.ToJSON..= apiErrorsSource'Country obj : "created" Data.Aeson.Types.ToJSON..= apiErrorsSource'Created obj : "currency" Data.Aeson.Types.ToJSON..= apiErrorsSource'Currency obj : "customer" Data.Aeson.Types.ToJSON..= apiErrorsSource'Customer obj : "cvc_check" Data.Aeson.Types.ToJSON..= apiErrorsSource'CvcCheck obj : "default_for_currency" Data.Aeson.Types.ToJSON..= apiErrorsSource'DefaultForCurrency obj : "dynamic_last4" Data.Aeson.Types.ToJSON..= apiErrorsSource'DynamicLast4 obj : "eps" Data.Aeson.Types.ToJSON..= apiErrorsSource'Eps obj : "exp_month" Data.Aeson.Types.ToJSON..= apiErrorsSource'ExpMonth obj : "exp_year" Data.Aeson.Types.ToJSON..= apiErrorsSource'ExpYear obj : "fingerprint" Data.Aeson.Types.ToJSON..= apiErrorsSource'Fingerprint obj : "flow" Data.Aeson.Types.ToJSON..= apiErrorsSource'Flow obj : "funding" Data.Aeson.Types.ToJSON..= apiErrorsSource'Funding obj : "giropay" Data.Aeson.Types.ToJSON..= apiErrorsSource'Giropay obj : "id" Data.Aeson.Types.ToJSON..= apiErrorsSource'Id obj : "ideal" Data.Aeson.Types.ToJSON..= apiErrorsSource'Ideal obj : "klarna" Data.Aeson.Types.ToJSON..= apiErrorsSource'Klarna obj : "last4" Data.Aeson.Types.ToJSON..= apiErrorsSource'Last4 obj : "livemode" Data.Aeson.Types.ToJSON..= apiErrorsSource'Livemode obj : "metadata" Data.Aeson.Types.ToJSON..= apiErrorsSource'Metadata obj : "multibanco" Data.Aeson.Types.ToJSON..= apiErrorsSource'Multibanco obj : "name" Data.Aeson.Types.ToJSON..= apiErrorsSource'Name obj : "object" Data.Aeson.Types.ToJSON..= apiErrorsSource'Object obj : "owner" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner obj : "p24" Data.Aeson.Types.ToJSON..= apiErrorsSource'P24 obj : "receiver" Data.Aeson.Types.ToJSON..= apiErrorsSource'Receiver obj : "recipient" Data.Aeson.Types.ToJSON..= apiErrorsSource'Recipient obj : "redirect" Data.Aeson.Types.ToJSON..= apiErrorsSource'Redirect obj : "routing_number" Data.Aeson.Types.ToJSON..= apiErrorsSource'RoutingNumber obj : "sepa_debit" Data.Aeson.Types.ToJSON..= apiErrorsSource'SepaDebit obj : "sofort" Data.Aeson.Types.ToJSON..= apiErrorsSource'Sofort obj : "source_order" Data.Aeson.Types.ToJSON..= apiErrorsSource'SourceOrder obj : "statement_descriptor" Data.Aeson.Types.ToJSON..= apiErrorsSource'StatementDescriptor obj : "status" Data.Aeson.Types.ToJSON..= apiErrorsSource'Status obj : "three_d_secure" Data.Aeson.Types.ToJSON..= apiErrorsSource'ThreeDSecure obj : "tokenization_method" Data.Aeson.Types.ToJSON..= apiErrorsSource'TokenizationMethod obj : "type" Data.Aeson.Types.ToJSON..= apiErrorsSource'Type obj : "usage" Data.Aeson.Types.ToJSON..= apiErrorsSource'Usage obj : "wechat" Data.Aeson.Types.ToJSON..= apiErrorsSource'Wechat obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("account" Data.Aeson.Types.ToJSON..= apiErrorsSource'Account obj) GHC.Base.<> (("account_holder_name" Data.Aeson.Types.ToJSON..= apiErrorsSource'AccountHolderName obj) GHC.Base.<> (("account_holder_type" Data.Aeson.Types.ToJSON..= apiErrorsSource'AccountHolderType obj) GHC.Base.<> (("ach_credit_transfer" Data.Aeson.Types.ToJSON..= apiErrorsSource'AchCreditTransfer obj) GHC.Base.<> (("ach_debit" Data.Aeson.Types.ToJSON..= apiErrorsSource'AchDebit obj) GHC.Base.<> (("acss_debit" Data.Aeson.Types.ToJSON..= apiErrorsSource'AcssDebit obj) GHC.Base.<> (("address_city" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressCity obj) GHC.Base.<> (("address_country" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressCountry obj) GHC.Base.<> (("address_line1" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressLine1 obj) GHC.Base.<> (("address_line1_check" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressLine1Check obj) GHC.Base.<> (("address_line2" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressLine2 obj) GHC.Base.<> (("address_state" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressState obj) GHC.Base.<> (("address_zip" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressZip obj) GHC.Base.<> (("address_zip_check" Data.Aeson.Types.ToJSON..= apiErrorsSource'AddressZipCheck obj) GHC.Base.<> (("alipay" Data.Aeson.Types.ToJSON..= apiErrorsSource'Alipay obj) GHC.Base.<> (("amount" Data.Aeson.Types.ToJSON..= apiErrorsSource'Amount obj) GHC.Base.<> (("au_becs_debit" Data.Aeson.Types.ToJSON..= apiErrorsSource'AuBecsDebit obj) GHC.Base.<> (("available_payout_methods" Data.Aeson.Types.ToJSON..= apiErrorsSource'AvailablePayoutMethods obj) GHC.Base.<> (("bancontact" Data.Aeson.Types.ToJSON..= apiErrorsSource'Bancontact obj) GHC.Base.<> (("bank_name" Data.Aeson.Types.ToJSON..= apiErrorsSource'BankName obj) GHC.Base.<> (("brand" Data.Aeson.Types.ToJSON..= apiErrorsSource'Brand obj) GHC.Base.<> (("card" Data.Aeson.Types.ToJSON..= apiErrorsSource'Card obj) GHC.Base.<> (("card_present" Data.Aeson.Types.ToJSON..= apiErrorsSource'CardPresent obj) GHC.Base.<> (("client_secret" Data.Aeson.Types.ToJSON..= apiErrorsSource'ClientSecret obj) GHC.Base.<> (("code_verification" Data.Aeson.Types.ToJSON..= apiErrorsSource'CodeVerification obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= apiErrorsSource'Country obj) GHC.Base.<> (("created" Data.Aeson.Types.ToJSON..= apiErrorsSource'Created obj) GHC.Base.<> (("currency" Data.Aeson.Types.ToJSON..= apiErrorsSource'Currency obj) GHC.Base.<> (("customer" Data.Aeson.Types.ToJSON..= apiErrorsSource'Customer obj) GHC.Base.<> (("cvc_check" Data.Aeson.Types.ToJSON..= apiErrorsSource'CvcCheck obj) GHC.Base.<> (("default_for_currency" Data.Aeson.Types.ToJSON..= apiErrorsSource'DefaultForCurrency obj) GHC.Base.<> (("dynamic_last4" Data.Aeson.Types.ToJSON..= apiErrorsSource'DynamicLast4 obj) GHC.Base.<> (("eps" Data.Aeson.Types.ToJSON..= apiErrorsSource'Eps obj) GHC.Base.<> (("exp_month" Data.Aeson.Types.ToJSON..= apiErrorsSource'ExpMonth obj) GHC.Base.<> (("exp_year" Data.Aeson.Types.ToJSON..= apiErrorsSource'ExpYear obj) GHC.Base.<> (("fingerprint" Data.Aeson.Types.ToJSON..= apiErrorsSource'Fingerprint obj) GHC.Base.<> (("flow" Data.Aeson.Types.ToJSON..= apiErrorsSource'Flow obj) GHC.Base.<> (("funding" Data.Aeson.Types.ToJSON..= apiErrorsSource'Funding obj) GHC.Base.<> (("giropay" Data.Aeson.Types.ToJSON..= apiErrorsSource'Giropay obj) GHC.Base.<> (("id" Data.Aeson.Types.ToJSON..= apiErrorsSource'Id obj) GHC.Base.<> (("ideal" Data.Aeson.Types.ToJSON..= apiErrorsSource'Ideal obj) GHC.Base.<> (("klarna" Data.Aeson.Types.ToJSON..= apiErrorsSource'Klarna obj) GHC.Base.<> (("last4" Data.Aeson.Types.ToJSON..= apiErrorsSource'Last4 obj) GHC.Base.<> (("livemode" Data.Aeson.Types.ToJSON..= apiErrorsSource'Livemode obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= apiErrorsSource'Metadata obj) GHC.Base.<> (("multibanco" Data.Aeson.Types.ToJSON..= apiErrorsSource'Multibanco obj) GHC.Base.<> (("name" Data.Aeson.Types.ToJSON..= apiErrorsSource'Name obj) GHC.Base.<> (("object" Data.Aeson.Types.ToJSON..= apiErrorsSource'Object obj) GHC.Base.<> (("owner" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner obj) GHC.Base.<> (("p24" Data.Aeson.Types.ToJSON..= apiErrorsSource'P24 obj) GHC.Base.<> (("receiver" Data.Aeson.Types.ToJSON..= apiErrorsSource'Receiver obj) GHC.Base.<> (("recipient" Data.Aeson.Types.ToJSON..= apiErrorsSource'Recipient obj) GHC.Base.<> (("redirect" Data.Aeson.Types.ToJSON..= apiErrorsSource'Redirect obj) GHC.Base.<> (("routing_number" Data.Aeson.Types.ToJSON..= apiErrorsSource'RoutingNumber obj) GHC.Base.<> (("sepa_debit" Data.Aeson.Types.ToJSON..= apiErrorsSource'SepaDebit obj) GHC.Base.<> (("sofort" Data.Aeson.Types.ToJSON..= apiErrorsSource'Sofort obj) GHC.Base.<> (("source_order" Data.Aeson.Types.ToJSON..= apiErrorsSource'SourceOrder obj) GHC.Base.<> (("statement_descriptor" Data.Aeson.Types.ToJSON..= apiErrorsSource'StatementDescriptor obj) GHC.Base.<> (("status" Data.Aeson.Types.ToJSON..= apiErrorsSource'Status obj) GHC.Base.<> (("three_d_secure" Data.Aeson.Types.ToJSON..= apiErrorsSource'ThreeDSecure obj) GHC.Base.<> (("tokenization_method" Data.Aeson.Types.ToJSON..= apiErrorsSource'TokenizationMethod obj) GHC.Base.<> (("type" Data.Aeson.Types.ToJSON..= apiErrorsSource'Type obj) GHC.Base.<> (("usage" Data.Aeson.Types.ToJSON..= apiErrorsSource'Usage obj) GHC.Base.<> ("wechat" Data.Aeson.Types.ToJSON..= apiErrorsSource'Wechat obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'" (\obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure ApiErrorsSource' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "acss_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "au_becs_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Create a new 'ApiErrorsSource'' with all required fields. mkApiErrorsSource' :: ApiErrorsSource' mkApiErrorsSource' = ApiErrorsSource' { apiErrorsSource'Account = GHC.Maybe.Nothing, apiErrorsSource'AccountHolderName = GHC.Maybe.Nothing, apiErrorsSource'AccountHolderType = GHC.Maybe.Nothing, apiErrorsSource'AchCreditTransfer = GHC.Maybe.Nothing, apiErrorsSource'AchDebit = GHC.Maybe.Nothing, apiErrorsSource'AcssDebit = GHC.Maybe.Nothing, apiErrorsSource'AddressCity = GHC.Maybe.Nothing, apiErrorsSource'AddressCountry = GHC.Maybe.Nothing, apiErrorsSource'AddressLine1 = GHC.Maybe.Nothing, apiErrorsSource'AddressLine1Check = GHC.Maybe.Nothing, apiErrorsSource'AddressLine2 = GHC.Maybe.Nothing, apiErrorsSource'AddressState = GHC.Maybe.Nothing, apiErrorsSource'AddressZip = GHC.Maybe.Nothing, apiErrorsSource'AddressZipCheck = GHC.Maybe.Nothing, apiErrorsSource'Alipay = GHC.Maybe.Nothing, apiErrorsSource'Amount = GHC.Maybe.Nothing, apiErrorsSource'AuBecsDebit = GHC.Maybe.Nothing, apiErrorsSource'AvailablePayoutMethods = GHC.Maybe.Nothing, apiErrorsSource'Bancontact = GHC.Maybe.Nothing, apiErrorsSource'BankName = GHC.Maybe.Nothing, apiErrorsSource'Brand = GHC.Maybe.Nothing, apiErrorsSource'Card = GHC.Maybe.Nothing, apiErrorsSource'CardPresent = GHC.Maybe.Nothing, apiErrorsSource'ClientSecret = GHC.Maybe.Nothing, apiErrorsSource'CodeVerification = GHC.Maybe.Nothing, apiErrorsSource'Country = GHC.Maybe.Nothing, apiErrorsSource'Created = GHC.Maybe.Nothing, apiErrorsSource'Currency = GHC.Maybe.Nothing, apiErrorsSource'Customer = GHC.Maybe.Nothing, apiErrorsSource'CvcCheck = GHC.Maybe.Nothing, apiErrorsSource'DefaultForCurrency = GHC.Maybe.Nothing, apiErrorsSource'DynamicLast4 = GHC.Maybe.Nothing, apiErrorsSource'Eps = GHC.Maybe.Nothing, apiErrorsSource'ExpMonth = GHC.Maybe.Nothing, apiErrorsSource'ExpYear = GHC.Maybe.Nothing, apiErrorsSource'Fingerprint = GHC.Maybe.Nothing, apiErrorsSource'Flow = GHC.Maybe.Nothing, apiErrorsSource'Funding = GHC.Maybe.Nothing, apiErrorsSource'Giropay = GHC.Maybe.Nothing, apiErrorsSource'Id = GHC.Maybe.Nothing, apiErrorsSource'Ideal = GHC.Maybe.Nothing, apiErrorsSource'Klarna = GHC.Maybe.Nothing, apiErrorsSource'Last4 = GHC.Maybe.Nothing, apiErrorsSource'Livemode = GHC.Maybe.Nothing, apiErrorsSource'Metadata = GHC.Maybe.Nothing, apiErrorsSource'Multibanco = GHC.Maybe.Nothing, apiErrorsSource'Name = GHC.Maybe.Nothing, apiErrorsSource'Object = GHC.Maybe.Nothing, apiErrorsSource'Owner = GHC.Maybe.Nothing, apiErrorsSource'P24 = GHC.Maybe.Nothing, apiErrorsSource'Receiver = GHC.Maybe.Nothing, apiErrorsSource'Recipient = GHC.Maybe.Nothing, apiErrorsSource'Redirect = GHC.Maybe.Nothing, apiErrorsSource'RoutingNumber = GHC.Maybe.Nothing, apiErrorsSource'SepaDebit = GHC.Maybe.Nothing, apiErrorsSource'Sofort = GHC.Maybe.Nothing, apiErrorsSource'SourceOrder = GHC.Maybe.Nothing, apiErrorsSource'StatementDescriptor = GHC.Maybe.Nothing, apiErrorsSource'Status = GHC.Maybe.Nothing, apiErrorsSource'ThreeDSecure = GHC.Maybe.Nothing, apiErrorsSource'TokenizationMethod = GHC.Maybe.Nothing, apiErrorsSource'Type = GHC.Maybe.Nothing, apiErrorsSource'Usage = GHC.Maybe.Nothing, apiErrorsSource'Wechat = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @components.schemas.api_errors.properties.source.anyOf.properties.account.anyOf@ in the specification. -- -- The ID of the account that the bank account is associated with. data ApiErrorsSource'Account'Variants = ApiErrorsSource'Account'Text Data.Text.Internal.Text | ApiErrorsSource'Account'Account Account deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Account'Variants where toJSON (ApiErrorsSource'Account'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (ApiErrorsSource'Account'Account a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Account'Variants where parseJSON val = case (ApiErrorsSource'Account'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((ApiErrorsSource'Account'Account 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 @components.schemas.api_errors.properties.source.anyOf.properties.available_payout_methods.items@ in the specification. data ApiErrorsSource'AvailablePayoutMethods' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. ApiErrorsSource'AvailablePayoutMethods'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. ApiErrorsSource'AvailablePayoutMethods'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"instant"@ ApiErrorsSource'AvailablePayoutMethods'EnumInstant | -- | Represents the JSON value @"standard"@ ApiErrorsSource'AvailablePayoutMethods'EnumStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'AvailablePayoutMethods' where toJSON (ApiErrorsSource'AvailablePayoutMethods'Other val) = val toJSON (ApiErrorsSource'AvailablePayoutMethods'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumInstant) = "instant" toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumStandard) = "standard" instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'AvailablePayoutMethods' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "instant" -> ApiErrorsSource'AvailablePayoutMethods'EnumInstant | val GHC.Classes.== "standard" -> ApiErrorsSource'AvailablePayoutMethods'EnumStandard | GHC.Base.otherwise -> ApiErrorsSource'AvailablePayoutMethods'Other val ) -- | Defines the oneOf schema located at @components.schemas.api_errors.properties.source.anyOf.properties.customer.anyOf@ in the specification. -- -- The ID of the customer that the bank account is associated with. data ApiErrorsSource'Customer'Variants = ApiErrorsSource'Customer'Text Data.Text.Internal.Text | ApiErrorsSource'Customer'Customer Customer | ApiErrorsSource'Customer'DeletedCustomer DeletedCustomer deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Customer'Variants where toJSON (ApiErrorsSource'Customer'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (ApiErrorsSource'Customer'Customer a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (ApiErrorsSource'Customer'DeletedCustomer a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Customer'Variants where parseJSON val = case (ApiErrorsSource'Customer'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((ApiErrorsSource'Customer'Customer Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((ApiErrorsSource'Customer'DeletedCustomer 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 @components.schemas.api_errors.properties.source.anyOf.properties.object@ in the specification. -- -- String representing the object\'s type. Objects of the same type share the same value. data ApiErrorsSource'Object' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. ApiErrorsSource'Object'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. ApiErrorsSource'Object'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"bank_account"@ ApiErrorsSource'Object'EnumBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Object' where toJSON (ApiErrorsSource'Object'Other val) = val toJSON (ApiErrorsSource'Object'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (ApiErrorsSource'Object'EnumBankAccount) = "bank_account" instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Object' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "bank_account" -> ApiErrorsSource'Object'EnumBankAccount | GHC.Base.otherwise -> ApiErrorsSource'Object'Other val ) -- | Defines the object schema located at @components.schemas.api_errors.properties.source.anyOf.properties.owner.anyOf@ in the specification. -- -- Information about the owner of the payment instrument that may be used or required by particular source types. data ApiErrorsSource'Owner' = ApiErrorsSource'Owner' { -- | address: Owner\'s address. apiErrorsSource'Owner'Address :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'Address'), -- | email: Owner\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | name: Owner\'s full name. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | phone: Owner\'s phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. apiErrorsSource'Owner'VerifiedAddress :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'VerifiedAddress'), -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedName :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Owner' where toJSON obj = Data.Aeson.Types.Internal.object ("address" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address obj : "email" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Email obj : "name" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Name obj : "phone" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Phone obj : "verified_address" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress obj : "verified_email" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedEmail obj : "verified_name" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedName obj : "verified_phone" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedPhone obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("address" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address obj) GHC.Base.<> (("email" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Email obj) GHC.Base.<> (("name" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Name obj) GHC.Base.<> (("phone" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Phone obj) GHC.Base.<> (("verified_address" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress obj) GHC.Base.<> (("verified_email" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedEmail obj) GHC.Base.<> (("verified_name" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedName obj) GHC.Base.<> ("verified_phone" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedPhone obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'" (\obj -> (((((((GHC.Base.pure ApiErrorsSource'Owner' 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")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone")) -- | Create a new 'ApiErrorsSource'Owner'' with all required fields. mkApiErrorsSource'Owner' :: ApiErrorsSource'Owner' mkApiErrorsSource'Owner' = ApiErrorsSource'Owner' { apiErrorsSource'Owner'Address = GHC.Maybe.Nothing, apiErrorsSource'Owner'Email = GHC.Maybe.Nothing, apiErrorsSource'Owner'Name = GHC.Maybe.Nothing, apiErrorsSource'Owner'Phone = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedAddress = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedEmail = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedName = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedPhone = GHC.Maybe.Nothing } -- | Defines the object schema located at @components.schemas.api_errors.properties.source.anyOf.properties.owner.anyOf.properties.address.anyOf@ in the specification. -- -- Owner\\\'s address. data ApiErrorsSource'Owner'Address' = ApiErrorsSource'Owner'Address' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Address'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Address'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Address'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Owner'Address' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'City obj : "country" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'Country obj : "line1" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'Address'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'Address'" (\obj -> (((((GHC.Base.pure ApiErrorsSource'Owner'Address' 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 'ApiErrorsSource'Owner'Address'' with all required fields. mkApiErrorsSource'Owner'Address' :: ApiErrorsSource'Owner'Address' mkApiErrorsSource'Owner'Address' = ApiErrorsSource'Owner'Address' { apiErrorsSource'Owner'Address'City = GHC.Maybe.Nothing, apiErrorsSource'Owner'Address'Country = GHC.Maybe.Nothing, apiErrorsSource'Owner'Address'Line1 = GHC.Maybe.Nothing, apiErrorsSource'Owner'Address'Line2 = GHC.Maybe.Nothing, apiErrorsSource'Owner'Address'PostalCode = GHC.Maybe.Nothing, apiErrorsSource'Owner'Address'State = GHC.Maybe.Nothing } -- | Defines the object schema located at @components.schemas.api_errors.properties.source.anyOf.properties.owner.anyOf.properties.verified_address.anyOf@ in the specification. -- -- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. data ApiErrorsSource'Owner'VerifiedAddress' = ApiErrorsSource'Owner'VerifiedAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Owner'VerifiedAddress' where toJSON obj = Data.Aeson.Types.Internal.object ("city" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'City obj : "country" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'Country obj : "line1" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'Line1 obj : "line2" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'Line2 obj : "postal_code" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'PostalCode obj : "state" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'State obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("city" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'City obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'Country obj) GHC.Base.<> (("line1" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'Line1 obj) GHC.Base.<> (("line2" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'Line2 obj) GHC.Base.<> (("postal_code" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'PostalCode obj) GHC.Base.<> ("state" Data.Aeson.Types.ToJSON..= apiErrorsSource'Owner'VerifiedAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'VerifiedAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure ApiErrorsSource'Owner'VerifiedAddress' 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 'ApiErrorsSource'Owner'VerifiedAddress'' with all required fields. mkApiErrorsSource'Owner'VerifiedAddress' :: ApiErrorsSource'Owner'VerifiedAddress' mkApiErrorsSource'Owner'VerifiedAddress' = ApiErrorsSource'Owner'VerifiedAddress' { apiErrorsSource'Owner'VerifiedAddress'City = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedAddress'Country = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedAddress'Line1 = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedAddress'Line2 = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedAddress'PostalCode = GHC.Maybe.Nothing, apiErrorsSource'Owner'VerifiedAddress'State = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @components.schemas.api_errors.properties.source.anyOf.properties.recipient.anyOf@ in the specification. -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data ApiErrorsSource'Recipient'Variants = ApiErrorsSource'Recipient'Text Data.Text.Internal.Text | ApiErrorsSource'Recipient'Recipient Recipient deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Recipient'Variants where toJSON (ApiErrorsSource'Recipient'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (ApiErrorsSource'Recipient'Recipient a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Recipient'Variants where parseJSON val = case (ApiErrorsSource'Recipient'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((ApiErrorsSource'Recipient'Recipient 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 @components.schemas.api_errors.properties.source.anyOf.properties.type@ in the specification. -- -- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. data ApiErrorsSource'Type' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. ApiErrorsSource'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. ApiErrorsSource'Type'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"ach_credit_transfer"@ ApiErrorsSource'Type'EnumAchCreditTransfer | -- | Represents the JSON value @"ach_debit"@ ApiErrorsSource'Type'EnumAchDebit | -- | Represents the JSON value @"acss_debit"@ ApiErrorsSource'Type'EnumAcssDebit | -- | Represents the JSON value @"alipay"@ ApiErrorsSource'Type'EnumAlipay | -- | Represents the JSON value @"au_becs_debit"@ ApiErrorsSource'Type'EnumAuBecsDebit | -- | Represents the JSON value @"bancontact"@ ApiErrorsSource'Type'EnumBancontact | -- | Represents the JSON value @"card"@ ApiErrorsSource'Type'EnumCard | -- | Represents the JSON value @"card_present"@ ApiErrorsSource'Type'EnumCardPresent | -- | Represents the JSON value @"eps"@ ApiErrorsSource'Type'EnumEps | -- | Represents the JSON value @"giropay"@ ApiErrorsSource'Type'EnumGiropay | -- | Represents the JSON value @"ideal"@ ApiErrorsSource'Type'EnumIdeal | -- | Represents the JSON value @"klarna"@ ApiErrorsSource'Type'EnumKlarna | -- | Represents the JSON value @"multibanco"@ ApiErrorsSource'Type'EnumMultibanco | -- | Represents the JSON value @"p24"@ ApiErrorsSource'Type'EnumP24 | -- | Represents the JSON value @"sepa_debit"@ ApiErrorsSource'Type'EnumSepaDebit | -- | Represents the JSON value @"sofort"@ ApiErrorsSource'Type'EnumSofort | -- | Represents the JSON value @"three_d_secure"@ ApiErrorsSource'Type'EnumThreeDSecure | -- | Represents the JSON value @"wechat"@ ApiErrorsSource'Type'EnumWechat deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Type' where toJSON (ApiErrorsSource'Type'Other val) = val toJSON (ApiErrorsSource'Type'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (ApiErrorsSource'Type'EnumAchCreditTransfer) = "ach_credit_transfer" toJSON (ApiErrorsSource'Type'EnumAchDebit) = "ach_debit" toJSON (ApiErrorsSource'Type'EnumAcssDebit) = "acss_debit" toJSON (ApiErrorsSource'Type'EnumAlipay) = "alipay" toJSON (ApiErrorsSource'Type'EnumAuBecsDebit) = "au_becs_debit" toJSON (ApiErrorsSource'Type'EnumBancontact) = "bancontact" toJSON (ApiErrorsSource'Type'EnumCard) = "card" toJSON (ApiErrorsSource'Type'EnumCardPresent) = "card_present" toJSON (ApiErrorsSource'Type'EnumEps) = "eps" toJSON (ApiErrorsSource'Type'EnumGiropay) = "giropay" toJSON (ApiErrorsSource'Type'EnumIdeal) = "ideal" toJSON (ApiErrorsSource'Type'EnumKlarna) = "klarna" toJSON (ApiErrorsSource'Type'EnumMultibanco) = "multibanco" toJSON (ApiErrorsSource'Type'EnumP24) = "p24" toJSON (ApiErrorsSource'Type'EnumSepaDebit) = "sepa_debit" toJSON (ApiErrorsSource'Type'EnumSofort) = "sofort" toJSON (ApiErrorsSource'Type'EnumThreeDSecure) = "three_d_secure" toJSON (ApiErrorsSource'Type'EnumWechat) = "wechat" instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Type' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "ach_credit_transfer" -> ApiErrorsSource'Type'EnumAchCreditTransfer | val GHC.Classes.== "ach_debit" -> ApiErrorsSource'Type'EnumAchDebit | val GHC.Classes.== "acss_debit" -> ApiErrorsSource'Type'EnumAcssDebit | val GHC.Classes.== "alipay" -> ApiErrorsSource'Type'EnumAlipay | val GHC.Classes.== "au_becs_debit" -> ApiErrorsSource'Type'EnumAuBecsDebit | val GHC.Classes.== "bancontact" -> ApiErrorsSource'Type'EnumBancontact | val GHC.Classes.== "card" -> ApiErrorsSource'Type'EnumCard | val GHC.Classes.== "card_present" -> ApiErrorsSource'Type'EnumCardPresent | val GHC.Classes.== "eps" -> ApiErrorsSource'Type'EnumEps | val GHC.Classes.== "giropay" -> ApiErrorsSource'Type'EnumGiropay | val GHC.Classes.== "ideal" -> ApiErrorsSource'Type'EnumIdeal | val GHC.Classes.== "klarna" -> ApiErrorsSource'Type'EnumKlarna | val GHC.Classes.== "multibanco" -> ApiErrorsSource'Type'EnumMultibanco | val GHC.Classes.== "p24" -> ApiErrorsSource'Type'EnumP24 | val GHC.Classes.== "sepa_debit" -> ApiErrorsSource'Type'EnumSepaDebit | val GHC.Classes.== "sofort" -> ApiErrorsSource'Type'EnumSofort | val GHC.Classes.== "three_d_secure" -> ApiErrorsSource'Type'EnumThreeDSecure | val GHC.Classes.== "wechat" -> ApiErrorsSource'Type'EnumWechat | GHC.Base.otherwise -> ApiErrorsSource'Type'Other val ) -- | Defines the enum schema located at @components.schemas.api_errors.properties.type@ in the specification. -- -- The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\` data ApiErrorsType' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. ApiErrorsType'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. ApiErrorsType'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"api_connection_error"@ ApiErrorsType'EnumApiConnectionError | -- | Represents the JSON value @"api_error"@ ApiErrorsType'EnumApiError | -- | Represents the JSON value @"authentication_error"@ ApiErrorsType'EnumAuthenticationError | -- | Represents the JSON value @"card_error"@ ApiErrorsType'EnumCardError | -- | Represents the JSON value @"idempotency_error"@ ApiErrorsType'EnumIdempotencyError | -- | Represents the JSON value @"invalid_request_error"@ ApiErrorsType'EnumInvalidRequestError | -- | Represents the JSON value @"rate_limit_error"@ ApiErrorsType'EnumRateLimitError deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsType' where toJSON (ApiErrorsType'Other val) = val toJSON (ApiErrorsType'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (ApiErrorsType'EnumApiConnectionError) = "api_connection_error" toJSON (ApiErrorsType'EnumApiError) = "api_error" toJSON (ApiErrorsType'EnumAuthenticationError) = "authentication_error" toJSON (ApiErrorsType'EnumCardError) = "card_error" toJSON (ApiErrorsType'EnumIdempotencyError) = "idempotency_error" toJSON (ApiErrorsType'EnumInvalidRequestError) = "invalid_request_error" toJSON (ApiErrorsType'EnumRateLimitError) = "rate_limit_error" instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsType' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "api_connection_error" -> ApiErrorsType'EnumApiConnectionError | val GHC.Classes.== "api_error" -> ApiErrorsType'EnumApiError | val GHC.Classes.== "authentication_error" -> ApiErrorsType'EnumAuthenticationError | val GHC.Classes.== "card_error" -> ApiErrorsType'EnumCardError | val GHC.Classes.== "idempotency_error" -> ApiErrorsType'EnumIdempotencyError | val GHC.Classes.== "invalid_request_error" -> ApiErrorsType'EnumInvalidRequestError | val GHC.Classes.== "rate_limit_error" -> ApiErrorsType'EnumRateLimitError | GHC.Base.otherwise -> ApiErrorsType'Other val )