{-# 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
    ApiErrors -> Maybe Text
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
    ApiErrors -> Maybe Text
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
    ApiErrors -> Maybe Text
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
    ApiErrors -> Maybe Text
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
    ApiErrors -> Maybe Text
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
    ApiErrors -> Maybe Text
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).
    ApiErrors -> Maybe PaymentIntent
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).
    ApiErrors -> Maybe PaymentMethod
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
    ApiErrors -> Maybe Text
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).
    ApiErrors -> Maybe SetupIntent
apiErrorsSetupIntent :: (GHC.Maybe.Maybe SetupIntent),
    -- | source: The source object for errors returned on a request involving a source.
    ApiErrors -> Maybe ApiErrorsSource'
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\`
    ApiErrors -> ApiErrorsType'
apiErrorsType :: ApiErrorsType'
  }
  deriving
    ( Int -> ApiErrors -> ShowS
[ApiErrors] -> ShowS
ApiErrors -> String
(Int -> ApiErrors -> ShowS)
-> (ApiErrors -> String)
-> ([ApiErrors] -> ShowS)
-> Show ApiErrors
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrors] -> ShowS
$cshowList :: [ApiErrors] -> ShowS
show :: ApiErrors -> String
$cshow :: ApiErrors -> String
showsPrec :: Int -> ApiErrors -> ShowS
$cshowsPrec :: Int -> ApiErrors -> ShowS
GHC.Show.Show,
      ApiErrors -> ApiErrors -> Bool
(ApiErrors -> ApiErrors -> Bool)
-> (ApiErrors -> ApiErrors -> Bool) -> Eq ApiErrors
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrors -> ApiErrors -> Bool
$c/= :: ApiErrors -> ApiErrors -> Bool
== :: ApiErrors -> ApiErrors -> Bool
$c== :: ApiErrors -> ApiErrors -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrors where
  toJSON :: ApiErrors -> Value
toJSON ApiErrors
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"charge" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsCharge ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsCode ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"decline_code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsDeclineCode ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"doc_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsDocUrl ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"message" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsMessage ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"param" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsParam ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_intent" Text -> Maybe PaymentIntent -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe PaymentIntent
apiErrorsPaymentIntent ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_method" Text -> Maybe PaymentMethod -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe PaymentMethod
apiErrorsPaymentMethod ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_method_type" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsPaymentMethodType ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"setup_intent" Text -> Maybe SetupIntent -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe SetupIntent
apiErrorsSetupIntent ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"source" Text -> Maybe ApiErrorsSource' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe ApiErrorsSource'
apiErrorsSource ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text -> ApiErrorsType' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> ApiErrorsType'
apiErrorsType ApiErrors
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: ApiErrors -> Encoding
toEncoding ApiErrors
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"charge" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsCharge ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsCode ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"decline_code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsDeclineCode ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"doc_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsDocUrl ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"message" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsMessage ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"param" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsParam ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_intent" Text -> Maybe PaymentIntent -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe PaymentIntent
apiErrorsPaymentIntent ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_method" Text -> Maybe PaymentMethod -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe PaymentMethod
apiErrorsPaymentMethod ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_method_type" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe Text
apiErrorsPaymentMethodType ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"setup_intent" Text -> Maybe SetupIntent -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe SetupIntent
apiErrorsSetupIntent ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"source" Text -> Maybe ApiErrorsSource' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> Maybe ApiErrorsSource'
apiErrorsSource ApiErrors
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"type" Text -> ApiErrorsType' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrors -> ApiErrorsType'
apiErrorsType ApiErrors
obj))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrors where
  parseJSON :: Value -> Parser ApiErrors
parseJSON = String -> (Object -> Parser ApiErrors) -> Value -> Parser ApiErrors
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ApiErrors" (\Object
obj -> ((((((((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe PaymentIntent
 -> Maybe PaymentMethod
 -> Maybe Text
 -> Maybe SetupIntent
 -> Maybe ApiErrorsSource'
 -> ApiErrorsType'
 -> ApiErrors)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PaymentIntent
-> Maybe PaymentMethod
-> Maybe Text
-> Maybe SetupIntent
-> Maybe ApiErrorsSource'
-> ApiErrorsType'
-> ApiErrors
ApiErrors Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PaymentIntent
   -> Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"charge")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PaymentIntent
   -> Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"code")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PaymentIntent
   -> Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"decline_code")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PaymentIntent
   -> Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"doc_url")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe PaymentIntent
   -> Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"message")) Parser
  (Maybe Text
   -> Maybe PaymentIntent
   -> Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe Text)
-> Parser
     (Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"param")) Parser
  (Maybe PaymentIntent
   -> Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe PaymentIntent)
-> Parser
     (Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe PaymentIntent)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payment_intent")) Parser
  (Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe PaymentMethod)
-> Parser
     (Maybe Text
      -> Maybe SetupIntent
      -> Maybe ApiErrorsSource'
      -> ApiErrorsType'
      -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe PaymentMethod)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payment_method")) Parser
  (Maybe Text
   -> Maybe SetupIntent
   -> Maybe ApiErrorsSource'
   -> ApiErrorsType'
   -> ApiErrors)
-> Parser (Maybe Text)
-> Parser
     (Maybe SetupIntent
      -> Maybe ApiErrorsSource' -> ApiErrorsType' -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payment_method_type")) Parser
  (Maybe SetupIntent
   -> Maybe ApiErrorsSource' -> ApiErrorsType' -> ApiErrors)
-> Parser (Maybe SetupIntent)
-> Parser (Maybe ApiErrorsSource' -> ApiErrorsType' -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SetupIntent)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"setup_intent")) Parser (Maybe ApiErrorsSource' -> ApiErrorsType' -> ApiErrors)
-> Parser (Maybe ApiErrorsSource')
-> Parser (ApiErrorsType' -> ApiErrors)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ApiErrorsSource')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"source")) Parser (ApiErrorsType' -> ApiErrors)
-> Parser ApiErrorsType' -> Parser ApiErrors
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser ApiErrorsType'
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"type"))

-- | Create a new 'ApiErrors' with all required fields.
mkApiErrors ::
  -- | 'apiErrorsType'
  ApiErrorsType' ->
  ApiErrors
mkApiErrors :: ApiErrorsType' -> ApiErrors
mkApiErrors ApiErrorsType'
apiErrorsType =
  ApiErrors :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PaymentIntent
-> Maybe PaymentMethod
-> Maybe Text
-> Maybe SetupIntent
-> Maybe ApiErrorsSource'
-> ApiErrorsType'
-> ApiErrors
ApiErrors
    { apiErrorsCharge :: Maybe Text
apiErrorsCharge = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsCode :: Maybe Text
apiErrorsCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsDeclineCode :: Maybe Text
apiErrorsDeclineCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsDocUrl :: Maybe Text
apiErrorsDocUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsMessage :: Maybe Text
apiErrorsMessage = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsParam :: Maybe Text
apiErrorsParam = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsPaymentIntent :: Maybe PaymentIntent
apiErrorsPaymentIntent = Maybe PaymentIntent
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsPaymentMethod :: Maybe PaymentMethod
apiErrorsPaymentMethod = Maybe PaymentMethod
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsPaymentMethodType :: Maybe Text
apiErrorsPaymentMethodType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSetupIntent :: Maybe SetupIntent
apiErrorsSetupIntent = Maybe SetupIntent
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource :: Maybe ApiErrorsSource'
apiErrorsSource = Maybe ApiErrorsSource'
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsType :: ApiErrorsType'
apiErrorsType = 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' -> Maybe ApiErrorsSource'Account'Variants
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' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'AccountHolderType :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ach_credit_transfer
    ApiErrorsSource' -> Maybe SourceTypeAchCreditTransfer
apiErrorsSource'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer),
    -- | ach_debit
    ApiErrorsSource' -> Maybe SourceTypeAchDebit
apiErrorsSource'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit),
    -- | acss_debit
    ApiErrorsSource' -> Maybe SourceTypeAcssDebit
apiErrorsSource'AcssDebit :: (GHC.Maybe.Maybe SourceTypeAcssDebit),
    -- | address_city: City\/District\/Suburb\/Town\/Village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'AddressLine1Check :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressLine2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_state: State\/County\/Province\/Region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressState :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_zip: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'AddressZipCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | alipay
    ApiErrorsSource' -> Maybe SourceTypeAlipay
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' -> Maybe Int
apiErrorsSource'Amount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | au_becs_debit
    ApiErrorsSource' -> Maybe SourceTypeAuBecsDebit
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' -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
apiErrorsSource'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([ApiErrorsSource'AvailablePayoutMethods'])),
    -- | bancontact
    ApiErrorsSource' -> Maybe SourceTypeBancontact
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' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'Brand :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | card
    ApiErrorsSource' -> Maybe SourceTypeCard
apiErrorsSource'Card :: (GHC.Maybe.Maybe SourceTypeCard),
    -- | card_present
    ApiErrorsSource' -> Maybe SourceTypeCardPresent
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' -> Maybe Text
apiErrorsSource'ClientSecret :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | code_verification:
    ApiErrorsSource' -> Maybe SourceCodeVerificationFlow
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' -> Maybe Text
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' -> Maybe Int
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' -> Maybe Text
apiErrorsSource'Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer: The ID of the customer that the bank account is associated with.
    ApiErrorsSource' -> Maybe ApiErrorsSource'Customer'Variants
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' -> Maybe Text
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' -> Maybe Bool
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' -> Maybe Text
apiErrorsSource'DynamicLast4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | eps
    ApiErrorsSource' -> Maybe SourceTypeEps
apiErrorsSource'Eps :: (GHC.Maybe.Maybe SourceTypeEps),
    -- | exp_month: Two-digit number representing the card\'s expiration month.
    ApiErrorsSource' -> Maybe Int
apiErrorsSource'ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | exp_year: Four-digit number representing the card\'s expiration year.
    ApiErrorsSource' -> Maybe Int
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'Funding :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | giropay
    ApiErrorsSource' -> Maybe SourceTypeGiropay
apiErrorsSource'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource' -> Maybe Text
apiErrorsSource'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ideal
    ApiErrorsSource' -> Maybe SourceTypeIdeal
apiErrorsSource'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal),
    -- | klarna
    ApiErrorsSource' -> Maybe SourceTypeKlarna
apiErrorsSource'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna),
    -- | last4: The last four digits of the bank account number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource' -> Maybe Text
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' -> Maybe Bool
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' -> Maybe Object
apiErrorsSource'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
    -- | multibanco
    ApiErrorsSource' -> Maybe SourceTypeMultibanco
apiErrorsSource'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco),
    -- | name: Cardholder name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource' -> Maybe Text
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' -> Maybe ApiErrorsSource'Object'
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' -> Maybe ApiErrorsSource'Owner'
apiErrorsSource'Owner :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'),
    -- | p24
    ApiErrorsSource' -> Maybe SourceTypeP24
apiErrorsSource'P24 :: (GHC.Maybe.Maybe SourceTypeP24),
    -- | receiver:
    ApiErrorsSource' -> Maybe SourceReceiverFlow
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' -> Maybe ApiErrorsSource'Recipient'Variants
apiErrorsSource'Recipient :: (GHC.Maybe.Maybe ApiErrorsSource'Recipient'Variants),
    -- | redirect:
    ApiErrorsSource' -> Maybe SourceRedirectFlow
apiErrorsSource'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow),
    -- | routing_number: The routing transit number for the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource' -> Maybe Text
apiErrorsSource'RoutingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | sepa_debit
    ApiErrorsSource' -> Maybe SourceTypeSepaDebit
apiErrorsSource'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit),
    -- | sofort
    ApiErrorsSource' -> Maybe SourceTypeSofort
apiErrorsSource'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort),
    -- | source_order:
    ApiErrorsSource' -> Maybe SourceOrder
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' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'Status :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | three_d_secure
    ApiErrorsSource' -> Maybe SourceTypeThreeDSecure
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' -> Maybe Text
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' -> Maybe ApiErrorsSource'Type'
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' -> Maybe Text
apiErrorsSource'Usage :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | wechat
    ApiErrorsSource' -> Maybe SourceTypeWechat
apiErrorsSource'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat)
  }
  deriving
    ( Int -> ApiErrorsSource' -> ShowS
[ApiErrorsSource'] -> ShowS
ApiErrorsSource' -> String
(Int -> ApiErrorsSource' -> ShowS)
-> (ApiErrorsSource' -> String)
-> ([ApiErrorsSource'] -> ShowS)
-> Show ApiErrorsSource'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'] -> ShowS
$cshowList :: [ApiErrorsSource'] -> ShowS
show :: ApiErrorsSource' -> String
$cshow :: ApiErrorsSource' -> String
showsPrec :: Int -> ApiErrorsSource' -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource' -> ShowS
GHC.Show.Show,
      ApiErrorsSource' -> ApiErrorsSource' -> Bool
(ApiErrorsSource' -> ApiErrorsSource' -> Bool)
-> (ApiErrorsSource' -> ApiErrorsSource' -> Bool)
-> Eq ApiErrorsSource'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource' -> ApiErrorsSource' -> Bool
$c/= :: ApiErrorsSource' -> ApiErrorsSource' -> Bool
== :: ApiErrorsSource' -> ApiErrorsSource' -> Bool
$c== :: ApiErrorsSource' -> ApiErrorsSource' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource' where
  toJSON :: ApiErrorsSource' -> Value
toJSON ApiErrorsSource'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"account" Text -> Maybe ApiErrorsSource'Account'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Account'Variants
apiErrorsSource'Account ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"account_holder_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AccountHolderName ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"account_holder_type" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AccountHolderType ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ach_credit_transfer" Text -> Maybe SourceTypeAchCreditTransfer -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAchCreditTransfer
apiErrorsSource'AchCreditTransfer ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ach_debit" Text -> Maybe SourceTypeAchDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAchDebit
apiErrorsSource'AchDebit ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"acss_debit" Text -> Maybe SourceTypeAcssDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAcssDebit
apiErrorsSource'AcssDebit ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_city" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressCity ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressCountry ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_line1" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressLine1 ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_line1_check" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressLine1Check ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_line2" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressLine2 ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_state" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressState ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_zip" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressZip ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"address_zip_check" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressZipCheck ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"alipay" Text -> Maybe SourceTypeAlipay -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAlipay
apiErrorsSource'Alipay ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"amount" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Int
apiErrorsSource'Amount ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"au_becs_debit" Text -> Maybe SourceTypeAuBecsDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAuBecsDebit
apiErrorsSource'AuBecsDebit ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"available_payout_methods" Text -> Maybe [ApiErrorsSource'AvailablePayoutMethods'] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
apiErrorsSource'AvailablePayoutMethods ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bancontact" Text -> Maybe SourceTypeBancontact -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeBancontact
apiErrorsSource'Bancontact ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bank_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'BankName ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"brand" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Brand ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card" Text -> Maybe SourceTypeCard -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeCard
apiErrorsSource'Card ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_present" Text -> Maybe SourceTypeCardPresent -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeCardPresent
apiErrorsSource'CardPresent ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"client_secret" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'ClientSecret ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"code_verification" Text -> Maybe SourceCodeVerificationFlow -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceCodeVerificationFlow
apiErrorsSource'CodeVerification ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Country ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"created" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Int
apiErrorsSource'Created ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"currency" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Currency ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer" Text -> Maybe ApiErrorsSource'Customer'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Customer'Variants
apiErrorsSource'Customer ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cvc_check" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'CvcCheck ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"default_for_currency" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Bool
apiErrorsSource'DefaultForCurrency ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"dynamic_last4" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'DynamicLast4 ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"eps" Text -> Maybe SourceTypeEps -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeEps
apiErrorsSource'Eps ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"exp_month" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Int
apiErrorsSource'ExpMonth ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"exp_year" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Int
apiErrorsSource'ExpYear ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"fingerprint" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Fingerprint ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"flow" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Flow ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"funding" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Funding ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"giropay" Text -> Maybe SourceTypeGiropay -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeGiropay
apiErrorsSource'Giropay ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Id ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ideal" Text -> Maybe SourceTypeIdeal -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeIdeal
apiErrorsSource'Ideal ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"klarna" Text -> Maybe SourceTypeKlarna -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeKlarna
apiErrorsSource'Klarna ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"last4" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Last4 ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"livemode" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Bool
apiErrorsSource'Livemode ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"metadata" Text -> Maybe Object -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Object
apiErrorsSource'Metadata ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"multibanco" Text -> Maybe SourceTypeMultibanco -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeMultibanco
apiErrorsSource'Multibanco ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Name ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Maybe ApiErrorsSource'Object' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Object'
apiErrorsSource'Object ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"owner" Text -> Maybe ApiErrorsSource'Owner' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Owner'
apiErrorsSource'Owner ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"p24" Text -> Maybe SourceTypeP24 -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeP24
apiErrorsSource'P24 ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"receiver" Text -> Maybe SourceReceiverFlow -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceReceiverFlow
apiErrorsSource'Receiver ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"recipient" Text -> Maybe ApiErrorsSource'Recipient'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Recipient'Variants
apiErrorsSource'Recipient ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"redirect" Text -> Maybe SourceRedirectFlow -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceRedirectFlow
apiErrorsSource'Redirect ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"routing_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'RoutingNumber ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sepa_debit" Text -> Maybe SourceTypeSepaDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeSepaDebit
apiErrorsSource'SepaDebit ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sofort" Text -> Maybe SourceTypeSofort -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeSofort
apiErrorsSource'Sofort ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"source_order" Text -> Maybe SourceOrder -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceOrder
apiErrorsSource'SourceOrder ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"statement_descriptor" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'StatementDescriptor ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"status" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Status ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"three_d_secure" Text -> Maybe SourceTypeThreeDSecure -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeThreeDSecure
apiErrorsSource'ThreeDSecure ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tokenization_method" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'TokenizationMethod ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text -> Maybe ApiErrorsSource'Type' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Type'
apiErrorsSource'Type ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"usage" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Usage ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"wechat" Text -> Maybe SourceTypeWechat -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeWechat
apiErrorsSource'Wechat ApiErrorsSource'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: ApiErrorsSource' -> Encoding
toEncoding ApiErrorsSource'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"account" Text -> Maybe ApiErrorsSource'Account'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Account'Variants
apiErrorsSource'Account ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"account_holder_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AccountHolderName ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"account_holder_type" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AccountHolderType ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ach_credit_transfer" Text -> Maybe SourceTypeAchCreditTransfer -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAchCreditTransfer
apiErrorsSource'AchCreditTransfer ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ach_debit" Text -> Maybe SourceTypeAchDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAchDebit
apiErrorsSource'AchDebit ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"acss_debit" Text -> Maybe SourceTypeAcssDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAcssDebit
apiErrorsSource'AcssDebit ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_city" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressCity ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressCountry ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_line1" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressLine1 ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_line1_check" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressLine1Check ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_line2" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressLine2 ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_state" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressState ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_zip" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressZip ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"address_zip_check" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'AddressZipCheck ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"alipay" Text -> Maybe SourceTypeAlipay -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAlipay
apiErrorsSource'Alipay ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"amount" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Int
apiErrorsSource'Amount ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"au_becs_debit" Text -> Maybe SourceTypeAuBecsDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeAuBecsDebit
apiErrorsSource'AuBecsDebit ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"available_payout_methods" Text -> Maybe [ApiErrorsSource'AvailablePayoutMethods'] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
apiErrorsSource'AvailablePayoutMethods ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bancontact" Text -> Maybe SourceTypeBancontact -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeBancontact
apiErrorsSource'Bancontact ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bank_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'BankName ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"brand" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Brand ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card" Text -> Maybe SourceTypeCard -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeCard
apiErrorsSource'Card ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_present" Text -> Maybe SourceTypeCardPresent -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeCardPresent
apiErrorsSource'CardPresent ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"client_secret" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'ClientSecret ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"code_verification" Text -> Maybe SourceCodeVerificationFlow -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceCodeVerificationFlow
apiErrorsSource'CodeVerification ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Country ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"created" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Int
apiErrorsSource'Created ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"currency" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Currency ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer" Text -> Maybe ApiErrorsSource'Customer'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Customer'Variants
apiErrorsSource'Customer ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cvc_check" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'CvcCheck ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"default_for_currency" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Bool
apiErrorsSource'DefaultForCurrency ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"dynamic_last4" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'DynamicLast4 ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"eps" Text -> Maybe SourceTypeEps -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeEps
apiErrorsSource'Eps ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"exp_month" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Int
apiErrorsSource'ExpMonth ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"exp_year" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Int
apiErrorsSource'ExpYear ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"fingerprint" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Fingerprint ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"flow" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Flow ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"funding" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Funding ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"giropay" Text -> Maybe SourceTypeGiropay -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeGiropay
apiErrorsSource'Giropay ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Id ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ideal" Text -> Maybe SourceTypeIdeal -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeIdeal
apiErrorsSource'Ideal ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"klarna" Text -> Maybe SourceTypeKlarna -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeKlarna
apiErrorsSource'Klarna ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"last4" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Last4 ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"livemode" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Bool
apiErrorsSource'Livemode ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"metadata" Text -> Maybe Object -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Object
apiErrorsSource'Metadata ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"multibanco" Text -> Maybe SourceTypeMultibanco -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeMultibanco
apiErrorsSource'Multibanco ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Name ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"object" Text -> Maybe ApiErrorsSource'Object' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Object'
apiErrorsSource'Object ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"owner" Text -> Maybe ApiErrorsSource'Owner' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Owner'
apiErrorsSource'Owner ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"p24" Text -> Maybe SourceTypeP24 -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeP24
apiErrorsSource'P24 ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"receiver" Text -> Maybe SourceReceiverFlow -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceReceiverFlow
apiErrorsSource'Receiver ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"recipient" Text -> Maybe ApiErrorsSource'Recipient'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Recipient'Variants
apiErrorsSource'Recipient ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"redirect" Text -> Maybe SourceRedirectFlow -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceRedirectFlow
apiErrorsSource'Redirect ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"routing_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'RoutingNumber ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sepa_debit" Text -> Maybe SourceTypeSepaDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeSepaDebit
apiErrorsSource'SepaDebit ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sofort" Text -> Maybe SourceTypeSofort -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeSofort
apiErrorsSource'Sofort ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"source_order" Text -> Maybe SourceOrder -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceOrder
apiErrorsSource'SourceOrder ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"statement_descriptor" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'StatementDescriptor ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"status" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Status ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"three_d_secure" Text -> Maybe SourceTypeThreeDSecure -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeThreeDSecure
apiErrorsSource'ThreeDSecure ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tokenization_method" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'TokenizationMethod ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"type" Text -> Maybe ApiErrorsSource'Type' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe ApiErrorsSource'Type'
apiErrorsSource'Type ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"usage" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe Text
apiErrorsSource'Usage ApiErrorsSource'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"wechat" Text -> Maybe SourceTypeWechat -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource' -> Maybe SourceTypeWechat
apiErrorsSource'Wechat ApiErrorsSource'
obj))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource' where
  parseJSON :: Value -> Parser ApiErrorsSource'
parseJSON = String
-> (Object -> Parser ApiErrorsSource')
-> Value
-> Parser ApiErrorsSource'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ApiErrorsSource'" (\Object
obj -> ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Maybe ApiErrorsSource'Account'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeAchCreditTransfer
 -> Maybe SourceTypeAchDebit
 -> Maybe SourceTypeAcssDebit
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeAlipay
 -> Maybe Int
 -> Maybe SourceTypeAuBecsDebit
 -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
 -> Maybe SourceTypeBancontact
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeCard
 -> Maybe SourceTypeCardPresent
 -> Maybe Text
 -> Maybe SourceCodeVerificationFlow
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe ApiErrorsSource'Customer'Variants
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceTypeEps
 -> Maybe Int
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeGiropay
 -> Maybe Text
 -> Maybe SourceTypeIdeal
 -> Maybe SourceTypeKlarna
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Object
 -> Maybe SourceTypeMultibanco
 -> Maybe Text
 -> Maybe ApiErrorsSource'Object'
 -> Maybe ApiErrorsSource'Owner'
 -> Maybe SourceTypeP24
 -> Maybe SourceReceiverFlow
 -> Maybe ApiErrorsSource'Recipient'Variants
 -> Maybe SourceRedirectFlow
 -> Maybe Text
 -> Maybe SourceTypeSepaDebit
 -> Maybe SourceTypeSofort
 -> Maybe SourceOrder
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeThreeDSecure
 -> Maybe Text
 -> Maybe ApiErrorsSource'Type'
 -> Maybe Text
 -> Maybe SourceTypeWechat
 -> ApiErrorsSource')
-> Parser
     (Maybe ApiErrorsSource'Account'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAchCreditTransfer
      -> Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe ApiErrorsSource'Account'Variants
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeAchCreditTransfer
-> Maybe SourceTypeAchDebit
-> Maybe SourceTypeAcssDebit
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeAlipay
-> Maybe Int
-> Maybe SourceTypeAuBecsDebit
-> Maybe [ApiErrorsSource'AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe ApiErrorsSource'Customer'Variants
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeEps
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeGiropay
-> Maybe Text
-> Maybe SourceTypeIdeal
-> Maybe SourceTypeKlarna
-> Maybe Text
-> Maybe Bool
-> Maybe Object
-> Maybe SourceTypeMultibanco
-> Maybe Text
-> Maybe ApiErrorsSource'Object'
-> Maybe ApiErrorsSource'Owner'
-> Maybe SourceTypeP24
-> Maybe SourceReceiverFlow
-> Maybe ApiErrorsSource'Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe ApiErrorsSource'Type'
-> Maybe Text
-> Maybe SourceTypeWechat
-> ApiErrorsSource'
ApiErrorsSource' Parser
  (Maybe ApiErrorsSource'Account'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAchCreditTransfer
   -> Maybe SourceTypeAchDebit
   -> Maybe SourceTypeAcssDebit
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe ApiErrorsSource'Account'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAchCreditTransfer
      -> Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ApiErrorsSource'Account'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"account")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAchCreditTransfer
   -> Maybe SourceTypeAchDebit
   -> Maybe SourceTypeAcssDebit
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeAchCreditTransfer
      -> Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"account_holder_name")) Parser
  (Maybe Text
   -> Maybe SourceTypeAchCreditTransfer
   -> Maybe SourceTypeAchDebit
   -> Maybe SourceTypeAcssDebit
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeAchCreditTransfer
      -> Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"account_holder_type")) Parser
  (Maybe SourceTypeAchCreditTransfer
   -> Maybe SourceTypeAchDebit
   -> Maybe SourceTypeAcssDebit
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeAchCreditTransfer)
-> Parser
     (Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeAchCreditTransfer)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ach_credit_transfer")) Parser
  (Maybe SourceTypeAchDebit
   -> Maybe SourceTypeAcssDebit
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeAchDebit)
-> Parser
     (Maybe SourceTypeAcssDebit
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeAchDebit)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ach_debit")) Parser
  (Maybe SourceTypeAcssDebit
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeAcssDebit)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeAcssDebit)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"acss_debit")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_city")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_country")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_line1")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_line1_check")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_line2")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_state")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_zip")) Parser
  (Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address_zip_check")) Parser
  (Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeAlipay)
-> Parser
     (Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeAlipay)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"alipay")) Parser
  (Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Int)
-> Parser
     (Maybe SourceTypeAuBecsDebit
      -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"amount")) Parser
  (Maybe SourceTypeAuBecsDebit
   -> Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeAuBecsDebit)
-> Parser
     (Maybe [ApiErrorsSource'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeAuBecsDebit)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"au_becs_debit")) Parser
  (Maybe [ApiErrorsSource'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe [ApiErrorsSource'AvailablePayoutMethods'])
-> Parser
     (Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe [ApiErrorsSource'AvailablePayoutMethods'])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"available_payout_methods")) Parser
  (Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeBancontact)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeBancontact)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bancontact")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bank_name")) Parser
  (Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"brand")) Parser
  (Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeCard)
-> Parser
     (Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeCard)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card")) Parser
  (Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeCardPresent)
-> Parser
     (Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeCardPresent)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_present")) Parser
  (Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"client_secret")) Parser
  (Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceCodeVerificationFlow)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceCodeVerificationFlow)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"code_verification")) Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"country")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"created")) Parser
  (Maybe Text
   -> Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe ApiErrorsSource'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"currency")) Parser
  (Maybe ApiErrorsSource'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe ApiErrorsSource'Customer'Variants)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ApiErrorsSource'Customer'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"customer")) Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"cvc_check")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"default_for_currency")) Parser
  (Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"dynamic_last4")) Parser
  (Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeEps)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeEps)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"eps")) Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"exp_month")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"exp_year")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"fingerprint")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"flow")) Parser
  (Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"funding")) Parser
  (Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeGiropay)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeGiropay)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"giropay")) Parser
  (Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"id")) Parser
  (Maybe SourceTypeIdeal
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeIdeal)
-> Parser
     (Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeIdeal)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ideal")) Parser
  (Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeKlarna)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeKlarna)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"klarna")) Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"last4")) Parser
  (Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"livemode")) Parser
  (Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Object)
-> Parser
     (Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Object)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"metadata")) Parser
  (Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeMultibanco)
-> Parser
     (Maybe Text
      -> Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeMultibanco)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"multibanco")) Parser
  (Maybe Text
   -> Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe ApiErrorsSource'Object'
      -> Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"name")) Parser
  (Maybe ApiErrorsSource'Object'
   -> Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe ApiErrorsSource'Object')
-> Parser
     (Maybe ApiErrorsSource'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ApiErrorsSource'Object')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"object")) Parser
  (Maybe ApiErrorsSource'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe ApiErrorsSource'Owner')
-> Parser
     (Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ApiErrorsSource'Owner')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"owner")) Parser
  (Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeP24)
-> Parser
     (Maybe SourceReceiverFlow
      -> Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeP24)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"p24")) Parser
  (Maybe SourceReceiverFlow
   -> Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceReceiverFlow)
-> Parser
     (Maybe ApiErrorsSource'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceReceiverFlow)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"receiver")) Parser
  (Maybe ApiErrorsSource'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe ApiErrorsSource'Recipient'Variants)
-> Parser
     (Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ApiErrorsSource'Recipient'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"recipient")) Parser
  (Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceRedirectFlow)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceRedirectFlow)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"redirect")) Parser
  (Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"routing_number")) Parser
  (Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeSepaDebit)
-> Parser
     (Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeSepaDebit)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sepa_debit")) Parser
  (Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeSofort)
-> Parser
     (Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeSofort)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sofort")) Parser
  (Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceOrder)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceOrder)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"source_order")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"statement_descriptor")) Parser
  (Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"status")) Parser
  (Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe SourceTypeThreeDSecure)
-> Parser
     (Maybe Text
      -> Maybe ApiErrorsSource'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeThreeDSecure)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"three_d_secure")) Parser
  (Maybe Text
   -> Maybe ApiErrorsSource'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser
     (Maybe ApiErrorsSource'Type'
      -> Maybe Text -> Maybe SourceTypeWechat -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tokenization_method")) Parser
  (Maybe ApiErrorsSource'Type'
   -> Maybe Text -> Maybe SourceTypeWechat -> ApiErrorsSource')
-> Parser (Maybe ApiErrorsSource'Type')
-> Parser
     (Maybe Text -> Maybe SourceTypeWechat -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ApiErrorsSource'Type')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"type")) Parser (Maybe Text -> Maybe SourceTypeWechat -> ApiErrorsSource')
-> Parser (Maybe Text)
-> Parser (Maybe SourceTypeWechat -> ApiErrorsSource')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"usage")) Parser (Maybe SourceTypeWechat -> ApiErrorsSource')
-> Parser (Maybe SourceTypeWechat) -> Parser ApiErrorsSource'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeWechat)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"wechat"))

-- | Create a new 'ApiErrorsSource'' with all required fields.
mkApiErrorsSource' :: ApiErrorsSource'
mkApiErrorsSource' :: ApiErrorsSource'
mkApiErrorsSource' =
  ApiErrorsSource' :: Maybe ApiErrorsSource'Account'Variants
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeAchCreditTransfer
-> Maybe SourceTypeAchDebit
-> Maybe SourceTypeAcssDebit
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeAlipay
-> Maybe Int
-> Maybe SourceTypeAuBecsDebit
-> Maybe [ApiErrorsSource'AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe ApiErrorsSource'Customer'Variants
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeEps
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeGiropay
-> Maybe Text
-> Maybe SourceTypeIdeal
-> Maybe SourceTypeKlarna
-> Maybe Text
-> Maybe Bool
-> Maybe Object
-> Maybe SourceTypeMultibanco
-> Maybe Text
-> Maybe ApiErrorsSource'Object'
-> Maybe ApiErrorsSource'Owner'
-> Maybe SourceTypeP24
-> Maybe SourceReceiverFlow
-> Maybe ApiErrorsSource'Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe ApiErrorsSource'Type'
-> Maybe Text
-> Maybe SourceTypeWechat
-> ApiErrorsSource'
ApiErrorsSource'
    { apiErrorsSource'Account :: Maybe ApiErrorsSource'Account'Variants
apiErrorsSource'Account = Maybe ApiErrorsSource'Account'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AccountHolderName :: Maybe Text
apiErrorsSource'AccountHolderName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AccountHolderType :: Maybe Text
apiErrorsSource'AccountHolderType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AchCreditTransfer :: Maybe SourceTypeAchCreditTransfer
apiErrorsSource'AchCreditTransfer = Maybe SourceTypeAchCreditTransfer
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AchDebit :: Maybe SourceTypeAchDebit
apiErrorsSource'AchDebit = Maybe SourceTypeAchDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AcssDebit :: Maybe SourceTypeAcssDebit
apiErrorsSource'AcssDebit = Maybe SourceTypeAcssDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AddressCity :: Maybe Text
apiErrorsSource'AddressCity = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AddressCountry :: Maybe Text
apiErrorsSource'AddressCountry = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AddressLine1 :: Maybe Text
apiErrorsSource'AddressLine1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AddressLine1Check :: Maybe Text
apiErrorsSource'AddressLine1Check = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AddressLine2 :: Maybe Text
apiErrorsSource'AddressLine2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AddressState :: Maybe Text
apiErrorsSource'AddressState = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AddressZip :: Maybe Text
apiErrorsSource'AddressZip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AddressZipCheck :: Maybe Text
apiErrorsSource'AddressZipCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Alipay :: Maybe SourceTypeAlipay
apiErrorsSource'Alipay = Maybe SourceTypeAlipay
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Amount :: Maybe Int
apiErrorsSource'Amount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AuBecsDebit :: Maybe SourceTypeAuBecsDebit
apiErrorsSource'AuBecsDebit = Maybe SourceTypeAuBecsDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'AvailablePayoutMethods :: Maybe [ApiErrorsSource'AvailablePayoutMethods']
apiErrorsSource'AvailablePayoutMethods = Maybe [ApiErrorsSource'AvailablePayoutMethods']
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Bancontact :: Maybe SourceTypeBancontact
apiErrorsSource'Bancontact = Maybe SourceTypeBancontact
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'BankName :: Maybe Text
apiErrorsSource'BankName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Brand :: Maybe Text
apiErrorsSource'Brand = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Card :: Maybe SourceTypeCard
apiErrorsSource'Card = Maybe SourceTypeCard
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'CardPresent :: Maybe SourceTypeCardPresent
apiErrorsSource'CardPresent = Maybe SourceTypeCardPresent
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'ClientSecret :: Maybe Text
apiErrorsSource'ClientSecret = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'CodeVerification :: Maybe SourceCodeVerificationFlow
apiErrorsSource'CodeVerification = Maybe SourceCodeVerificationFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Country :: Maybe Text
apiErrorsSource'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Created :: Maybe Int
apiErrorsSource'Created = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Currency :: Maybe Text
apiErrorsSource'Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Customer :: Maybe ApiErrorsSource'Customer'Variants
apiErrorsSource'Customer = Maybe ApiErrorsSource'Customer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'CvcCheck :: Maybe Text
apiErrorsSource'CvcCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'DefaultForCurrency :: Maybe Bool
apiErrorsSource'DefaultForCurrency = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'DynamicLast4 :: Maybe Text
apiErrorsSource'DynamicLast4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Eps :: Maybe SourceTypeEps
apiErrorsSource'Eps = Maybe SourceTypeEps
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'ExpMonth :: Maybe Int
apiErrorsSource'ExpMonth = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'ExpYear :: Maybe Int
apiErrorsSource'ExpYear = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Fingerprint :: Maybe Text
apiErrorsSource'Fingerprint = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Flow :: Maybe Text
apiErrorsSource'Flow = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Funding :: Maybe Text
apiErrorsSource'Funding = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Giropay :: Maybe SourceTypeGiropay
apiErrorsSource'Giropay = Maybe SourceTypeGiropay
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Id :: Maybe Text
apiErrorsSource'Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Ideal :: Maybe SourceTypeIdeal
apiErrorsSource'Ideal = Maybe SourceTypeIdeal
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Klarna :: Maybe SourceTypeKlarna
apiErrorsSource'Klarna = Maybe SourceTypeKlarna
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Last4 :: Maybe Text
apiErrorsSource'Last4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Livemode :: Maybe Bool
apiErrorsSource'Livemode = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Metadata :: Maybe Object
apiErrorsSource'Metadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Multibanco :: Maybe SourceTypeMultibanco
apiErrorsSource'Multibanco = Maybe SourceTypeMultibanco
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Name :: Maybe Text
apiErrorsSource'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Object :: Maybe ApiErrorsSource'Object'
apiErrorsSource'Object = Maybe ApiErrorsSource'Object'
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner :: Maybe ApiErrorsSource'Owner'
apiErrorsSource'Owner = Maybe ApiErrorsSource'Owner'
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'P24 :: Maybe SourceTypeP24
apiErrorsSource'P24 = Maybe SourceTypeP24
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Receiver :: Maybe SourceReceiverFlow
apiErrorsSource'Receiver = Maybe SourceReceiverFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Recipient :: Maybe ApiErrorsSource'Recipient'Variants
apiErrorsSource'Recipient = Maybe ApiErrorsSource'Recipient'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Redirect :: Maybe SourceRedirectFlow
apiErrorsSource'Redirect = Maybe SourceRedirectFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'RoutingNumber :: Maybe Text
apiErrorsSource'RoutingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'SepaDebit :: Maybe SourceTypeSepaDebit
apiErrorsSource'SepaDebit = Maybe SourceTypeSepaDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Sofort :: Maybe SourceTypeSofort
apiErrorsSource'Sofort = Maybe SourceTypeSofort
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'SourceOrder :: Maybe SourceOrder
apiErrorsSource'SourceOrder = Maybe SourceOrder
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'StatementDescriptor :: Maybe Text
apiErrorsSource'StatementDescriptor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Status :: Maybe Text
apiErrorsSource'Status = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'ThreeDSecure :: Maybe SourceTypeThreeDSecure
apiErrorsSource'ThreeDSecure = Maybe SourceTypeThreeDSecure
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'TokenizationMethod :: Maybe Text
apiErrorsSource'TokenizationMethod = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Type :: Maybe ApiErrorsSource'Type'
apiErrorsSource'Type = Maybe ApiErrorsSource'Type'
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Usage :: Maybe Text
apiErrorsSource'Usage = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Wechat :: Maybe SourceTypeWechat
apiErrorsSource'Wechat = Maybe SourceTypeWechat
forall a. Maybe a
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 (Int -> ApiErrorsSource'Account'Variants -> ShowS
[ApiErrorsSource'Account'Variants] -> ShowS
ApiErrorsSource'Account'Variants -> String
(Int -> ApiErrorsSource'Account'Variants -> ShowS)
-> (ApiErrorsSource'Account'Variants -> String)
-> ([ApiErrorsSource'Account'Variants] -> ShowS)
-> Show ApiErrorsSource'Account'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'Account'Variants] -> ShowS
$cshowList :: [ApiErrorsSource'Account'Variants] -> ShowS
show :: ApiErrorsSource'Account'Variants -> String
$cshow :: ApiErrorsSource'Account'Variants -> String
showsPrec :: Int -> ApiErrorsSource'Account'Variants -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'Account'Variants -> ShowS
GHC.Show.Show, ApiErrorsSource'Account'Variants
-> ApiErrorsSource'Account'Variants -> Bool
(ApiErrorsSource'Account'Variants
 -> ApiErrorsSource'Account'Variants -> Bool)
-> (ApiErrorsSource'Account'Variants
    -> ApiErrorsSource'Account'Variants -> Bool)
-> Eq ApiErrorsSource'Account'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'Account'Variants
-> ApiErrorsSource'Account'Variants -> Bool
$c/= :: ApiErrorsSource'Account'Variants
-> ApiErrorsSource'Account'Variants -> Bool
== :: ApiErrorsSource'Account'Variants
-> ApiErrorsSource'Account'Variants -> Bool
$c== :: ApiErrorsSource'Account'Variants
-> ApiErrorsSource'Account'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Account'Variants where
  toJSON :: ApiErrorsSource'Account'Variants -> Value
toJSON (ApiErrorsSource'Account'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (ApiErrorsSource'Account'Account Account
a) = Account -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Account
a

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Account'Variants where
  parseJSON :: Value -> Parser ApiErrorsSource'Account'Variants
parseJSON Value
val = case (Text -> ApiErrorsSource'Account'Variants
ApiErrorsSource'Account'Text (Text -> ApiErrorsSource'Account'Variants)
-> Result Text -> Result ApiErrorsSource'Account'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ApiErrorsSource'Account'Variants
-> Result ApiErrorsSource'Account'Variants
-> Result ApiErrorsSource'Account'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Account -> ApiErrorsSource'Account'Variants
ApiErrorsSource'Account'Account (Account -> ApiErrorsSource'Account'Variants)
-> Result Account -> Result ApiErrorsSource'Account'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Account
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ApiErrorsSource'Account'Variants
-> Result ApiErrorsSource'Account'Variants
-> Result ApiErrorsSource'Account'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result ApiErrorsSource'Account'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success ApiErrorsSource'Account'Variants
a -> ApiErrorsSource'Account'Variants
-> Parser ApiErrorsSource'Account'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure ApiErrorsSource'Account'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser ApiErrorsSource'Account'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
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 (Int -> ApiErrorsSource'AvailablePayoutMethods' -> ShowS
[ApiErrorsSource'AvailablePayoutMethods'] -> ShowS
ApiErrorsSource'AvailablePayoutMethods' -> String
(Int -> ApiErrorsSource'AvailablePayoutMethods' -> ShowS)
-> (ApiErrorsSource'AvailablePayoutMethods' -> String)
-> ([ApiErrorsSource'AvailablePayoutMethods'] -> ShowS)
-> Show ApiErrorsSource'AvailablePayoutMethods'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'AvailablePayoutMethods'] -> ShowS
$cshowList :: [ApiErrorsSource'AvailablePayoutMethods'] -> ShowS
show :: ApiErrorsSource'AvailablePayoutMethods' -> String
$cshow :: ApiErrorsSource'AvailablePayoutMethods' -> String
showsPrec :: Int -> ApiErrorsSource'AvailablePayoutMethods' -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'AvailablePayoutMethods' -> ShowS
GHC.Show.Show, ApiErrorsSource'AvailablePayoutMethods'
-> ApiErrorsSource'AvailablePayoutMethods' -> Bool
(ApiErrorsSource'AvailablePayoutMethods'
 -> ApiErrorsSource'AvailablePayoutMethods' -> Bool)
-> (ApiErrorsSource'AvailablePayoutMethods'
    -> ApiErrorsSource'AvailablePayoutMethods' -> Bool)
-> Eq ApiErrorsSource'AvailablePayoutMethods'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'AvailablePayoutMethods'
-> ApiErrorsSource'AvailablePayoutMethods' -> Bool
$c/= :: ApiErrorsSource'AvailablePayoutMethods'
-> ApiErrorsSource'AvailablePayoutMethods' -> Bool
== :: ApiErrorsSource'AvailablePayoutMethods'
-> ApiErrorsSource'AvailablePayoutMethods' -> Bool
$c== :: ApiErrorsSource'AvailablePayoutMethods'
-> ApiErrorsSource'AvailablePayoutMethods' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'AvailablePayoutMethods' where
  toJSON :: ApiErrorsSource'AvailablePayoutMethods' -> Value
toJSON (ApiErrorsSource'AvailablePayoutMethods'Other Value
val) = Value
val
  toJSON (ApiErrorsSource'AvailablePayoutMethods'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (ApiErrorsSource'AvailablePayoutMethods'
ApiErrorsSource'AvailablePayoutMethods'EnumInstant) = Value
"instant"
  toJSON (ApiErrorsSource'AvailablePayoutMethods'
ApiErrorsSource'AvailablePayoutMethods'EnumStandard) = Value
"standard"

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'AvailablePayoutMethods' where
  parseJSON :: Value -> Parser ApiErrorsSource'AvailablePayoutMethods'
parseJSON Value
val =
    ApiErrorsSource'AvailablePayoutMethods'
-> Parser ApiErrorsSource'AvailablePayoutMethods'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"instant" -> ApiErrorsSource'AvailablePayoutMethods'
ApiErrorsSource'AvailablePayoutMethods'EnumInstant
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"standard" -> ApiErrorsSource'AvailablePayoutMethods'
ApiErrorsSource'AvailablePayoutMethods'EnumStandard
            | Bool
GHC.Base.otherwise -> Value -> ApiErrorsSource'AvailablePayoutMethods'
ApiErrorsSource'AvailablePayoutMethods'Other Value
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 (Int -> ApiErrorsSource'Customer'Variants -> ShowS
[ApiErrorsSource'Customer'Variants] -> ShowS
ApiErrorsSource'Customer'Variants -> String
(Int -> ApiErrorsSource'Customer'Variants -> ShowS)
-> (ApiErrorsSource'Customer'Variants -> String)
-> ([ApiErrorsSource'Customer'Variants] -> ShowS)
-> Show ApiErrorsSource'Customer'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'Customer'Variants] -> ShowS
$cshowList :: [ApiErrorsSource'Customer'Variants] -> ShowS
show :: ApiErrorsSource'Customer'Variants -> String
$cshow :: ApiErrorsSource'Customer'Variants -> String
showsPrec :: Int -> ApiErrorsSource'Customer'Variants -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'Customer'Variants -> ShowS
GHC.Show.Show, ApiErrorsSource'Customer'Variants
-> ApiErrorsSource'Customer'Variants -> Bool
(ApiErrorsSource'Customer'Variants
 -> ApiErrorsSource'Customer'Variants -> Bool)
-> (ApiErrorsSource'Customer'Variants
    -> ApiErrorsSource'Customer'Variants -> Bool)
-> Eq ApiErrorsSource'Customer'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'Customer'Variants
-> ApiErrorsSource'Customer'Variants -> Bool
$c/= :: ApiErrorsSource'Customer'Variants
-> ApiErrorsSource'Customer'Variants -> Bool
== :: ApiErrorsSource'Customer'Variants
-> ApiErrorsSource'Customer'Variants -> Bool
$c== :: ApiErrorsSource'Customer'Variants
-> ApiErrorsSource'Customer'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Customer'Variants where
  toJSON :: ApiErrorsSource'Customer'Variants -> Value
toJSON (ApiErrorsSource'Customer'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (ApiErrorsSource'Customer'Customer Customer
a) = Customer -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Customer
a
  toJSON (ApiErrorsSource'Customer'DeletedCustomer DeletedCustomer
a) = DeletedCustomer -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON DeletedCustomer
a

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Customer'Variants where
  parseJSON :: Value -> Parser ApiErrorsSource'Customer'Variants
parseJSON Value
val = case (Text -> ApiErrorsSource'Customer'Variants
ApiErrorsSource'Customer'Text (Text -> ApiErrorsSource'Customer'Variants)
-> Result Text -> Result ApiErrorsSource'Customer'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ApiErrorsSource'Customer'Variants
-> Result ApiErrorsSource'Customer'Variants
-> Result ApiErrorsSource'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Customer -> ApiErrorsSource'Customer'Variants
ApiErrorsSource'Customer'Customer (Customer -> ApiErrorsSource'Customer'Variants)
-> Result Customer -> Result ApiErrorsSource'Customer'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Customer
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ApiErrorsSource'Customer'Variants
-> Result ApiErrorsSource'Customer'Variants
-> Result ApiErrorsSource'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((DeletedCustomer -> ApiErrorsSource'Customer'Variants
ApiErrorsSource'Customer'DeletedCustomer (DeletedCustomer -> ApiErrorsSource'Customer'Variants)
-> Result DeletedCustomer
-> Result ApiErrorsSource'Customer'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result DeletedCustomer
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ApiErrorsSource'Customer'Variants
-> Result ApiErrorsSource'Customer'Variants
-> Result ApiErrorsSource'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result ApiErrorsSource'Customer'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched")) of
    Data.Aeson.Types.Internal.Success ApiErrorsSource'Customer'Variants
a -> ApiErrorsSource'Customer'Variants
-> Parser ApiErrorsSource'Customer'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure ApiErrorsSource'Customer'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser ApiErrorsSource'Customer'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
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 (Int -> ApiErrorsSource'Object' -> ShowS
[ApiErrorsSource'Object'] -> ShowS
ApiErrorsSource'Object' -> String
(Int -> ApiErrorsSource'Object' -> ShowS)
-> (ApiErrorsSource'Object' -> String)
-> ([ApiErrorsSource'Object'] -> ShowS)
-> Show ApiErrorsSource'Object'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'Object'] -> ShowS
$cshowList :: [ApiErrorsSource'Object'] -> ShowS
show :: ApiErrorsSource'Object' -> String
$cshow :: ApiErrorsSource'Object' -> String
showsPrec :: Int -> ApiErrorsSource'Object' -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'Object' -> ShowS
GHC.Show.Show, ApiErrorsSource'Object' -> ApiErrorsSource'Object' -> Bool
(ApiErrorsSource'Object' -> ApiErrorsSource'Object' -> Bool)
-> (ApiErrorsSource'Object' -> ApiErrorsSource'Object' -> Bool)
-> Eq ApiErrorsSource'Object'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'Object' -> ApiErrorsSource'Object' -> Bool
$c/= :: ApiErrorsSource'Object' -> ApiErrorsSource'Object' -> Bool
== :: ApiErrorsSource'Object' -> ApiErrorsSource'Object' -> Bool
$c== :: ApiErrorsSource'Object' -> ApiErrorsSource'Object' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Object' where
  toJSON :: ApiErrorsSource'Object' -> Value
toJSON (ApiErrorsSource'Object'Other Value
val) = Value
val
  toJSON (ApiErrorsSource'Object'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (ApiErrorsSource'Object'
ApiErrorsSource'Object'EnumBankAccount) = Value
"bank_account"

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Object' where
  parseJSON :: Value -> Parser ApiErrorsSource'Object'
parseJSON Value
val =
    ApiErrorsSource'Object' -> Parser ApiErrorsSource'Object'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"bank_account" -> ApiErrorsSource'Object'
ApiErrorsSource'Object'EnumBankAccount
            | Bool
GHC.Base.otherwise -> Value -> ApiErrorsSource'Object'
ApiErrorsSource'Object'Other Value
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' -> Maybe ApiErrorsSource'Owner'Address'
apiErrorsSource'Owner'Address :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'Address'),
    -- | email: Owner\'s email address.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name: Owner\'s full name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | phone: Owner\'s phone number (including extension).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    ApiErrorsSource'Owner' -> Maybe Text
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'
-> Maybe ApiErrorsSource'Owner'VerifiedAddress'
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'Owner'VerifiedPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> ApiErrorsSource'Owner' -> ShowS
[ApiErrorsSource'Owner'] -> ShowS
ApiErrorsSource'Owner' -> String
(Int -> ApiErrorsSource'Owner' -> ShowS)
-> (ApiErrorsSource'Owner' -> String)
-> ([ApiErrorsSource'Owner'] -> ShowS)
-> Show ApiErrorsSource'Owner'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'Owner'] -> ShowS
$cshowList :: [ApiErrorsSource'Owner'] -> ShowS
show :: ApiErrorsSource'Owner' -> String
$cshow :: ApiErrorsSource'Owner' -> String
showsPrec :: Int -> ApiErrorsSource'Owner' -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'Owner' -> ShowS
GHC.Show.Show,
      ApiErrorsSource'Owner' -> ApiErrorsSource'Owner' -> Bool
(ApiErrorsSource'Owner' -> ApiErrorsSource'Owner' -> Bool)
-> (ApiErrorsSource'Owner' -> ApiErrorsSource'Owner' -> Bool)
-> Eq ApiErrorsSource'Owner'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'Owner' -> ApiErrorsSource'Owner' -> Bool
$c/= :: ApiErrorsSource'Owner' -> ApiErrorsSource'Owner' -> Bool
== :: ApiErrorsSource'Owner' -> ApiErrorsSource'Owner' -> Bool
$c== :: ApiErrorsSource'Owner' -> ApiErrorsSource'Owner' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Owner' where
  toJSON :: ApiErrorsSource'Owner' -> Value
toJSON ApiErrorsSource'Owner'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text -> Maybe ApiErrorsSource'Owner'Address' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe ApiErrorsSource'Owner'Address'
apiErrorsSource'Owner'Address ApiErrorsSource'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"email" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'Email ApiErrorsSource'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'Name ApiErrorsSource'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"phone" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'Phone ApiErrorsSource'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_address" Text -> Maybe ApiErrorsSource'Owner'VerifiedAddress' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'
-> Maybe ApiErrorsSource'Owner'VerifiedAddress'
apiErrorsSource'Owner'VerifiedAddress ApiErrorsSource'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_email" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'VerifiedEmail ApiErrorsSource'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'VerifiedName ApiErrorsSource'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_phone" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'VerifiedPhone ApiErrorsSource'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: ApiErrorsSource'Owner' -> Encoding
toEncoding ApiErrorsSource'Owner'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text -> Maybe ApiErrorsSource'Owner'Address' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe ApiErrorsSource'Owner'Address'
apiErrorsSource'Owner'Address ApiErrorsSource'Owner'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"email" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'Email ApiErrorsSource'Owner'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'Name ApiErrorsSource'Owner'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"phone" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'Phone ApiErrorsSource'Owner'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"verified_address" Text -> Maybe ApiErrorsSource'Owner'VerifiedAddress' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'
-> Maybe ApiErrorsSource'Owner'VerifiedAddress'
apiErrorsSource'Owner'VerifiedAddress ApiErrorsSource'Owner'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"verified_email" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'VerifiedEmail ApiErrorsSource'Owner'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"verified_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'VerifiedName ApiErrorsSource'Owner'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"verified_phone" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner' -> Maybe Text
apiErrorsSource'Owner'VerifiedPhone ApiErrorsSource'Owner'
obj))))))))

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner' where
  parseJSON :: Value -> Parser ApiErrorsSource'Owner'
parseJSON = String
-> (Object -> Parser ApiErrorsSource'Owner')
-> Value
-> Parser ApiErrorsSource'Owner'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ApiErrorsSource'Owner'" (\Object
obj -> ((((((((Maybe ApiErrorsSource'Owner'Address'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> ApiErrorsSource'Owner')
-> Parser
     (Maybe ApiErrorsSource'Owner'Address'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe ApiErrorsSource'Owner'Address'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ApiErrorsSource'Owner'VerifiedAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ApiErrorsSource'Owner'
ApiErrorsSource'Owner' Parser
  (Maybe ApiErrorsSource'Owner'Address'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner')
-> Parser (Maybe ApiErrorsSource'Owner'Address')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe ApiErrorsSource'Owner'Address')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"email")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"name")) Parser
  (Maybe Text
   -> Maybe ApiErrorsSource'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner')
-> Parser (Maybe Text)
-> Parser
     (Maybe ApiErrorsSource'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"phone")) Parser
  (Maybe ApiErrorsSource'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner')
-> Parser (Maybe ApiErrorsSource'Owner'VerifiedAddress')
-> Parser
     (Maybe Text -> Maybe Text -> Maybe Text -> ApiErrorsSource'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe ApiErrorsSource'Owner'VerifiedAddress')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verified_address")) Parser
  (Maybe Text -> Maybe Text -> Maybe Text -> ApiErrorsSource'Owner')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe Text -> ApiErrorsSource'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verified_email")) Parser (Maybe Text -> Maybe Text -> ApiErrorsSource'Owner')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> ApiErrorsSource'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verified_name")) Parser (Maybe Text -> ApiErrorsSource'Owner')
-> Parser (Maybe Text) -> Parser ApiErrorsSource'Owner'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"verified_phone"))

-- | Create a new 'ApiErrorsSource'Owner'' with all required fields.
mkApiErrorsSource'Owner' :: ApiErrorsSource'Owner'
mkApiErrorsSource'Owner' :: ApiErrorsSource'Owner'
mkApiErrorsSource'Owner' =
  ApiErrorsSource'Owner' :: Maybe ApiErrorsSource'Owner'Address'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe ApiErrorsSource'Owner'VerifiedAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ApiErrorsSource'Owner'
ApiErrorsSource'Owner'
    { apiErrorsSource'Owner'Address :: Maybe ApiErrorsSource'Owner'Address'
apiErrorsSource'Owner'Address = Maybe ApiErrorsSource'Owner'Address'
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'Email :: Maybe Text
apiErrorsSource'Owner'Email = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'Name :: Maybe Text
apiErrorsSource'Owner'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'Phone :: Maybe Text
apiErrorsSource'Owner'Phone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedAddress :: Maybe ApiErrorsSource'Owner'VerifiedAddress'
apiErrorsSource'Owner'VerifiedAddress = Maybe ApiErrorsSource'Owner'VerifiedAddress'
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedEmail :: Maybe Text
apiErrorsSource'Owner'VerifiedEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedName :: Maybe Text
apiErrorsSource'Owner'VerifiedName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedPhone :: Maybe Text
apiErrorsSource'Owner'VerifiedPhone = Maybe Text
forall a. Maybe a
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'Owner'Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> ApiErrorsSource'Owner'Address' -> ShowS
[ApiErrorsSource'Owner'Address'] -> ShowS
ApiErrorsSource'Owner'Address' -> String
(Int -> ApiErrorsSource'Owner'Address' -> ShowS)
-> (ApiErrorsSource'Owner'Address' -> String)
-> ([ApiErrorsSource'Owner'Address'] -> ShowS)
-> Show ApiErrorsSource'Owner'Address'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'Owner'Address'] -> ShowS
$cshowList :: [ApiErrorsSource'Owner'Address'] -> ShowS
show :: ApiErrorsSource'Owner'Address' -> String
$cshow :: ApiErrorsSource'Owner'Address' -> String
showsPrec :: Int -> ApiErrorsSource'Owner'Address' -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'Owner'Address' -> ShowS
GHC.Show.Show,
      ApiErrorsSource'Owner'Address'
-> ApiErrorsSource'Owner'Address' -> Bool
(ApiErrorsSource'Owner'Address'
 -> ApiErrorsSource'Owner'Address' -> Bool)
-> (ApiErrorsSource'Owner'Address'
    -> ApiErrorsSource'Owner'Address' -> Bool)
-> Eq ApiErrorsSource'Owner'Address'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'Owner'Address'
-> ApiErrorsSource'Owner'Address' -> Bool
$c/= :: ApiErrorsSource'Owner'Address'
-> ApiErrorsSource'Owner'Address' -> Bool
== :: ApiErrorsSource'Owner'Address'
-> ApiErrorsSource'Owner'Address' -> Bool
$c== :: ApiErrorsSource'Owner'Address'
-> ApiErrorsSource'Owner'Address' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Owner'Address' where
  toJSON :: ApiErrorsSource'Owner'Address' -> Value
toJSON ApiErrorsSource'Owner'Address'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"city" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'City ApiErrorsSource'Owner'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'Country ApiErrorsSource'Owner'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line1" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'Line1 ApiErrorsSource'Owner'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line2" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'Line2 ApiErrorsSource'Owner'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"postal_code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'PostalCode ApiErrorsSource'Owner'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"state" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'State ApiErrorsSource'Owner'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: ApiErrorsSource'Owner'Address' -> Encoding
toEncoding ApiErrorsSource'Owner'Address'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"city" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'City ApiErrorsSource'Owner'Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'Country ApiErrorsSource'Owner'Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line1" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'Line1 ApiErrorsSource'Owner'Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line2" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'Line2 ApiErrorsSource'Owner'Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"postal_code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'PostalCode ApiErrorsSource'Owner'Address'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"state" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'Address' -> Maybe Text
apiErrorsSource'Owner'Address'State ApiErrorsSource'Owner'Address'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'Address' where
  parseJSON :: Value -> Parser ApiErrorsSource'Owner'Address'
parseJSON = String
-> (Object -> Parser ApiErrorsSource'Owner'Address')
-> Value
-> Parser ApiErrorsSource'Owner'Address'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ApiErrorsSource'Owner'Address'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> ApiErrorsSource'Owner'Address')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner'Address')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ApiErrorsSource'Owner'Address'
ApiErrorsSource'Owner'Address' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner'Address')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"city")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner'Address')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"country")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> Maybe Text -> ApiErrorsSource'Owner'Address')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"line1")) Parser
  (Maybe Text
   -> Maybe Text -> Maybe Text -> ApiErrorsSource'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> Maybe Text -> ApiErrorsSource'Owner'Address')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"line2")) Parser (Maybe Text -> Maybe Text -> ApiErrorsSource'Owner'Address')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> ApiErrorsSource'Owner'Address')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"postal_code")) Parser (Maybe Text -> ApiErrorsSource'Owner'Address')
-> Parser (Maybe Text) -> Parser ApiErrorsSource'Owner'Address'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"state"))

-- | Create a new 'ApiErrorsSource'Owner'Address'' with all required fields.
mkApiErrorsSource'Owner'Address' :: ApiErrorsSource'Owner'Address'
mkApiErrorsSource'Owner'Address' :: ApiErrorsSource'Owner'Address'
mkApiErrorsSource'Owner'Address' =
  ApiErrorsSource'Owner'Address' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ApiErrorsSource'Owner'Address'
ApiErrorsSource'Owner'Address'
    { apiErrorsSource'Owner'Address'City :: Maybe Text
apiErrorsSource'Owner'Address'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'Address'Country :: Maybe Text
apiErrorsSource'Owner'Address'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'Address'Line1 :: Maybe Text
apiErrorsSource'Owner'Address'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'Address'Line2 :: Maybe Text
apiErrorsSource'Owner'Address'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'Address'PostalCode :: Maybe Text
apiErrorsSource'Owner'Address'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'Address'State :: Maybe Text
apiErrorsSource'Owner'Address'State = Maybe Text
forall a. Maybe a
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
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' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> ApiErrorsSource'Owner'VerifiedAddress' -> ShowS
[ApiErrorsSource'Owner'VerifiedAddress'] -> ShowS
ApiErrorsSource'Owner'VerifiedAddress' -> String
(Int -> ApiErrorsSource'Owner'VerifiedAddress' -> ShowS)
-> (ApiErrorsSource'Owner'VerifiedAddress' -> String)
-> ([ApiErrorsSource'Owner'VerifiedAddress'] -> ShowS)
-> Show ApiErrorsSource'Owner'VerifiedAddress'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'Owner'VerifiedAddress'] -> ShowS
$cshowList :: [ApiErrorsSource'Owner'VerifiedAddress'] -> ShowS
show :: ApiErrorsSource'Owner'VerifiedAddress' -> String
$cshow :: ApiErrorsSource'Owner'VerifiedAddress' -> String
showsPrec :: Int -> ApiErrorsSource'Owner'VerifiedAddress' -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'Owner'VerifiedAddress' -> ShowS
GHC.Show.Show,
      ApiErrorsSource'Owner'VerifiedAddress'
-> ApiErrorsSource'Owner'VerifiedAddress' -> Bool
(ApiErrorsSource'Owner'VerifiedAddress'
 -> ApiErrorsSource'Owner'VerifiedAddress' -> Bool)
-> (ApiErrorsSource'Owner'VerifiedAddress'
    -> ApiErrorsSource'Owner'VerifiedAddress' -> Bool)
-> Eq ApiErrorsSource'Owner'VerifiedAddress'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'Owner'VerifiedAddress'
-> ApiErrorsSource'Owner'VerifiedAddress' -> Bool
$c/= :: ApiErrorsSource'Owner'VerifiedAddress'
-> ApiErrorsSource'Owner'VerifiedAddress' -> Bool
== :: ApiErrorsSource'Owner'VerifiedAddress'
-> ApiErrorsSource'Owner'VerifiedAddress' -> Bool
$c== :: ApiErrorsSource'Owner'VerifiedAddress'
-> ApiErrorsSource'Owner'VerifiedAddress' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Owner'VerifiedAddress' where
  toJSON :: ApiErrorsSource'Owner'VerifiedAddress' -> Value
toJSON ApiErrorsSource'Owner'VerifiedAddress'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"city" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'City ApiErrorsSource'Owner'VerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Country ApiErrorsSource'Owner'VerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line1" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Line1 ApiErrorsSource'Owner'VerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"line2" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Line2 ApiErrorsSource'Owner'VerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"postal_code" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'PostalCode ApiErrorsSource'Owner'VerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"state" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'State ApiErrorsSource'Owner'VerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: ApiErrorsSource'Owner'VerifiedAddress' -> Encoding
toEncoding ApiErrorsSource'Owner'VerifiedAddress'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"city" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'City ApiErrorsSource'Owner'VerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Country ApiErrorsSource'Owner'VerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line1" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Line1 ApiErrorsSource'Owner'VerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"line2" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Line2 ApiErrorsSource'Owner'VerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"postal_code" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'PostalCode ApiErrorsSource'Owner'VerifiedAddress'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"state" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= ApiErrorsSource'Owner'VerifiedAddress' -> Maybe Text
apiErrorsSource'Owner'VerifiedAddress'State ApiErrorsSource'Owner'VerifiedAddress'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'VerifiedAddress' where
  parseJSON :: Value -> Parser ApiErrorsSource'Owner'VerifiedAddress'
parseJSON = String
-> (Object -> Parser ApiErrorsSource'Owner'VerifiedAddress')
-> Value
-> Parser ApiErrorsSource'Owner'VerifiedAddress'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"ApiErrorsSource'Owner'VerifiedAddress'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> ApiErrorsSource'Owner'VerifiedAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner'VerifiedAddress')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ApiErrorsSource'Owner'VerifiedAddress'
ApiErrorsSource'Owner'VerifiedAddress' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner'VerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"city")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner'VerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"country")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> ApiErrorsSource'Owner'VerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"line1")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> ApiErrorsSource'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> ApiErrorsSource'Owner'VerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"line2")) Parser
  (Maybe Text
   -> Maybe Text -> ApiErrorsSource'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> ApiErrorsSource'Owner'VerifiedAddress')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"postal_code")) Parser (Maybe Text -> ApiErrorsSource'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser ApiErrorsSource'Owner'VerifiedAddress'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"state"))

-- | Create a new 'ApiErrorsSource'Owner'VerifiedAddress'' with all required fields.
mkApiErrorsSource'Owner'VerifiedAddress' :: ApiErrorsSource'Owner'VerifiedAddress'
mkApiErrorsSource'Owner'VerifiedAddress' :: ApiErrorsSource'Owner'VerifiedAddress'
mkApiErrorsSource'Owner'VerifiedAddress' =
  ApiErrorsSource'Owner'VerifiedAddress' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> ApiErrorsSource'Owner'VerifiedAddress'
ApiErrorsSource'Owner'VerifiedAddress'
    { apiErrorsSource'Owner'VerifiedAddress'City :: Maybe Text
apiErrorsSource'Owner'VerifiedAddress'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedAddress'Country :: Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedAddress'Line1 :: Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedAddress'Line2 :: Maybe Text
apiErrorsSource'Owner'VerifiedAddress'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedAddress'PostalCode :: Maybe Text
apiErrorsSource'Owner'VerifiedAddress'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      apiErrorsSource'Owner'VerifiedAddress'State :: Maybe Text
apiErrorsSource'Owner'VerifiedAddress'State = Maybe Text
forall a. Maybe a
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 (Int -> ApiErrorsSource'Recipient'Variants -> ShowS
[ApiErrorsSource'Recipient'Variants] -> ShowS
ApiErrorsSource'Recipient'Variants -> String
(Int -> ApiErrorsSource'Recipient'Variants -> ShowS)
-> (ApiErrorsSource'Recipient'Variants -> String)
-> ([ApiErrorsSource'Recipient'Variants] -> ShowS)
-> Show ApiErrorsSource'Recipient'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'Recipient'Variants] -> ShowS
$cshowList :: [ApiErrorsSource'Recipient'Variants] -> ShowS
show :: ApiErrorsSource'Recipient'Variants -> String
$cshow :: ApiErrorsSource'Recipient'Variants -> String
showsPrec :: Int -> ApiErrorsSource'Recipient'Variants -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'Recipient'Variants -> ShowS
GHC.Show.Show, ApiErrorsSource'Recipient'Variants
-> ApiErrorsSource'Recipient'Variants -> Bool
(ApiErrorsSource'Recipient'Variants
 -> ApiErrorsSource'Recipient'Variants -> Bool)
-> (ApiErrorsSource'Recipient'Variants
    -> ApiErrorsSource'Recipient'Variants -> Bool)
-> Eq ApiErrorsSource'Recipient'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'Recipient'Variants
-> ApiErrorsSource'Recipient'Variants -> Bool
$c/= :: ApiErrorsSource'Recipient'Variants
-> ApiErrorsSource'Recipient'Variants -> Bool
== :: ApiErrorsSource'Recipient'Variants
-> ApiErrorsSource'Recipient'Variants -> Bool
$c== :: ApiErrorsSource'Recipient'Variants
-> ApiErrorsSource'Recipient'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Recipient'Variants where
  toJSON :: ApiErrorsSource'Recipient'Variants -> Value
toJSON (ApiErrorsSource'Recipient'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (ApiErrorsSource'Recipient'Recipient Recipient
a) = Recipient -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Recipient
a

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Recipient'Variants where
  parseJSON :: Value -> Parser ApiErrorsSource'Recipient'Variants
parseJSON Value
val = case (Text -> ApiErrorsSource'Recipient'Variants
ApiErrorsSource'Recipient'Text (Text -> ApiErrorsSource'Recipient'Variants)
-> Result Text -> Result ApiErrorsSource'Recipient'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Text
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ApiErrorsSource'Recipient'Variants
-> Result ApiErrorsSource'Recipient'Variants
-> Result ApiErrorsSource'Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Recipient -> ApiErrorsSource'Recipient'Variants
ApiErrorsSource'Recipient'Recipient (Recipient -> ApiErrorsSource'Recipient'Variants)
-> Result Recipient -> Result ApiErrorsSource'Recipient'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Recipient
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result ApiErrorsSource'Recipient'Variants
-> Result ApiErrorsSource'Recipient'Variants
-> Result ApiErrorsSource'Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result ApiErrorsSource'Recipient'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success ApiErrorsSource'Recipient'Variants
a -> ApiErrorsSource'Recipient'Variants
-> Parser ApiErrorsSource'Recipient'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure ApiErrorsSource'Recipient'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser ApiErrorsSource'Recipient'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
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 (Int -> ApiErrorsSource'Type' -> ShowS
[ApiErrorsSource'Type'] -> ShowS
ApiErrorsSource'Type' -> String
(Int -> ApiErrorsSource'Type' -> ShowS)
-> (ApiErrorsSource'Type' -> String)
-> ([ApiErrorsSource'Type'] -> ShowS)
-> Show ApiErrorsSource'Type'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsSource'Type'] -> ShowS
$cshowList :: [ApiErrorsSource'Type'] -> ShowS
show :: ApiErrorsSource'Type' -> String
$cshow :: ApiErrorsSource'Type' -> String
showsPrec :: Int -> ApiErrorsSource'Type' -> ShowS
$cshowsPrec :: Int -> ApiErrorsSource'Type' -> ShowS
GHC.Show.Show, ApiErrorsSource'Type' -> ApiErrorsSource'Type' -> Bool
(ApiErrorsSource'Type' -> ApiErrorsSource'Type' -> Bool)
-> (ApiErrorsSource'Type' -> ApiErrorsSource'Type' -> Bool)
-> Eq ApiErrorsSource'Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsSource'Type' -> ApiErrorsSource'Type' -> Bool
$c/= :: ApiErrorsSource'Type' -> ApiErrorsSource'Type' -> Bool
== :: ApiErrorsSource'Type' -> ApiErrorsSource'Type' -> Bool
$c== :: ApiErrorsSource'Type' -> ApiErrorsSource'Type' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsSource'Type' where
  toJSON :: ApiErrorsSource'Type' -> Value
toJSON (ApiErrorsSource'Type'Other Value
val) = Value
val
  toJSON (ApiErrorsSource'Type'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAchCreditTransfer) = Value
"ach_credit_transfer"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAchDebit) = Value
"ach_debit"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAcssDebit) = Value
"acss_debit"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAlipay) = Value
"alipay"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAuBecsDebit) = Value
"au_becs_debit"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumBancontact) = Value
"bancontact"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumCard) = Value
"card"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumCardPresent) = Value
"card_present"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumEps) = Value
"eps"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumGiropay) = Value
"giropay"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumIdeal) = Value
"ideal"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumKlarna) = Value
"klarna"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumMultibanco) = Value
"multibanco"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumP24) = Value
"p24"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumSepaDebit) = Value
"sepa_debit"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumSofort) = Value
"sofort"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumThreeDSecure) = Value
"three_d_secure"
  toJSON (ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumWechat) = Value
"wechat"

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Type' where
  parseJSON :: Value -> Parser ApiErrorsSource'Type'
parseJSON Value
val =
    ApiErrorsSource'Type' -> Parser ApiErrorsSource'Type'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_credit_transfer" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAchCreditTransfer
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_debit" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAchDebit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"acss_debit" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAcssDebit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"alipay" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAlipay
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"au_becs_debit" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumAuBecsDebit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"bancontact" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumBancontact
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumCard
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card_present" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumCardPresent
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"eps" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumEps
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"giropay" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumGiropay
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ideal" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumIdeal
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"klarna" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumKlarna
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"multibanco" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumMultibanco
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"p24" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumP24
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sepa_debit" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumSepaDebit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sofort" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumSofort
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumThreeDSecure
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"wechat" -> ApiErrorsSource'Type'
ApiErrorsSource'Type'EnumWechat
            | Bool
GHC.Base.otherwise -> Value -> ApiErrorsSource'Type'
ApiErrorsSource'Type'Other Value
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 (Int -> ApiErrorsType' -> ShowS
[ApiErrorsType'] -> ShowS
ApiErrorsType' -> String
(Int -> ApiErrorsType' -> ShowS)
-> (ApiErrorsType' -> String)
-> ([ApiErrorsType'] -> ShowS)
-> Show ApiErrorsType'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ApiErrorsType'] -> ShowS
$cshowList :: [ApiErrorsType'] -> ShowS
show :: ApiErrorsType' -> String
$cshow :: ApiErrorsType' -> String
showsPrec :: Int -> ApiErrorsType' -> ShowS
$cshowsPrec :: Int -> ApiErrorsType' -> ShowS
GHC.Show.Show, ApiErrorsType' -> ApiErrorsType' -> Bool
(ApiErrorsType' -> ApiErrorsType' -> Bool)
-> (ApiErrorsType' -> ApiErrorsType' -> Bool) -> Eq ApiErrorsType'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ApiErrorsType' -> ApiErrorsType' -> Bool
$c/= :: ApiErrorsType' -> ApiErrorsType' -> Bool
== :: ApiErrorsType' -> ApiErrorsType' -> Bool
$c== :: ApiErrorsType' -> ApiErrorsType' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON ApiErrorsType' where
  toJSON :: ApiErrorsType' -> Value
toJSON (ApiErrorsType'Other Value
val) = Value
val
  toJSON (ApiErrorsType'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (ApiErrorsType'
ApiErrorsType'EnumApiConnectionError) = Value
"api_connection_error"
  toJSON (ApiErrorsType'
ApiErrorsType'EnumApiError) = Value
"api_error"
  toJSON (ApiErrorsType'
ApiErrorsType'EnumAuthenticationError) = Value
"authentication_error"
  toJSON (ApiErrorsType'
ApiErrorsType'EnumCardError) = Value
"card_error"
  toJSON (ApiErrorsType'
ApiErrorsType'EnumIdempotencyError) = Value
"idempotency_error"
  toJSON (ApiErrorsType'
ApiErrorsType'EnumInvalidRequestError) = Value
"invalid_request_error"
  toJSON (ApiErrorsType'
ApiErrorsType'EnumRateLimitError) = Value
"rate_limit_error"

instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsType' where
  parseJSON :: Value -> Parser ApiErrorsType'
parseJSON Value
val =
    ApiErrorsType' -> Parser ApiErrorsType'
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure
      ( if
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"api_connection_error" -> ApiErrorsType'
ApiErrorsType'EnumApiConnectionError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"api_error" -> ApiErrorsType'
ApiErrorsType'EnumApiError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"authentication_error" -> ApiErrorsType'
ApiErrorsType'EnumAuthenticationError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card_error" -> ApiErrorsType'
ApiErrorsType'EnumCardError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"idempotency_error" -> ApiErrorsType'
ApiErrorsType'EnumIdempotencyError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_request_error" -> ApiErrorsType'
ApiErrorsType'EnumInvalidRequestError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"rate_limit_error" -> ApiErrorsType'
ApiErrorsType'EnumRateLimitError
            | Bool
GHC.Base.otherwise -> Value -> ApiErrorsType'
ApiErrorsType'Other Value
val
      )