{-# 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 SetupAttempt
module StripeAPI.Types.SetupAttempt 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.ApiErrors
import {-# SOURCE #-} StripeAPI.Types.Application
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.SetupAttemptPaymentMethodDetails
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.setup_attempt@ in the specification.
--
-- A SetupAttempt describes one attempted confirmation of a SetupIntent,
-- whether that confirmation was successful or unsuccessful. You can use
-- SetupAttempts to inspect details of a specific attempt at setting up a
-- payment method using a SetupIntent.
data SetupAttempt = SetupAttempt
  { -- | application: The value of [application](https:\/\/stripe.com\/docs\/api\/setup_intents\/object\#setup_intent_object-application) on the SetupIntent at the time of this confirmation.
    SetupAttempt -> Maybe SetupAttemptApplication'Variants
setupAttemptApplication :: (GHC.Maybe.Maybe SetupAttemptApplication'Variants),
    -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
    SetupAttempt -> Int
setupAttemptCreated :: GHC.Types.Int,
    -- | customer: The value of [customer](https:\/\/stripe.com\/docs\/api\/setup_intents\/object\#setup_intent_object-customer) on the SetupIntent at the time of this confirmation.
    SetupAttempt -> Maybe SetupAttemptCustomer'Variants
setupAttemptCustomer :: (GHC.Maybe.Maybe SetupAttemptCustomer'Variants),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttempt -> Text
setupAttemptId :: 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.
    SetupAttempt -> Bool
setupAttemptLivemode :: GHC.Types.Bool,
    -- | on_behalf_of: The value of [on_behalf_of](https:\/\/stripe.com\/docs\/api\/setup_intents\/object\#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation.
    SetupAttempt -> Maybe SetupAttemptOnBehalfOf'Variants
setupAttemptOnBehalfOf :: (GHC.Maybe.Maybe SetupAttemptOnBehalfOf'Variants),
    -- | payment_method: ID of the payment method used with this SetupAttempt.
    SetupAttempt -> SetupAttemptPaymentMethod'Variants
setupAttemptPaymentMethod :: SetupAttemptPaymentMethod'Variants,
    -- | payment_method_details:
    SetupAttempt -> SetupAttemptPaymentMethodDetails
setupAttemptPaymentMethodDetails :: SetupAttemptPaymentMethodDetails,
    -- | setup_error: The error encountered during this attempt to confirm the SetupIntent, if any.
    SetupAttempt -> Maybe SetupAttemptSetupError'
setupAttemptSetupError :: (GHC.Maybe.Maybe SetupAttemptSetupError'),
    -- | setup_intent: ID of the SetupIntent that this attempt belongs to.
    SetupAttempt -> SetupAttemptSetupIntent'Variants
setupAttemptSetupIntent :: SetupAttemptSetupIntent'Variants,
    -- | status: Status of this SetupAttempt, one of \`requires_confirmation\`, \`requires_action\`, \`processing\`, \`succeeded\`, \`failed\`, or \`abandoned\`.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttempt -> Text
setupAttemptStatus :: Data.Text.Internal.Text,
    -- | usage: The value of [usage](https:\/\/stripe.com\/docs\/api\/setup_intents\/object\#setup_intent_object-usage) on the SetupIntent at the time of this confirmation, one of \`off_session\` or \`on_session\`.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttempt -> Text
setupAttemptUsage :: Data.Text.Internal.Text
  }
  deriving
    ( Int -> SetupAttempt -> ShowS
[SetupAttempt] -> ShowS
SetupAttempt -> String
(Int -> SetupAttempt -> ShowS)
-> (SetupAttempt -> String)
-> ([SetupAttempt] -> ShowS)
-> Show SetupAttempt
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttempt] -> ShowS
$cshowList :: [SetupAttempt] -> ShowS
show :: SetupAttempt -> String
$cshow :: SetupAttempt -> String
showsPrec :: Int -> SetupAttempt -> ShowS
$cshowsPrec :: Int -> SetupAttempt -> ShowS
GHC.Show.Show,
      SetupAttempt -> SetupAttempt -> Bool
(SetupAttempt -> SetupAttempt -> Bool)
-> (SetupAttempt -> SetupAttempt -> Bool) -> Eq SetupAttempt
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttempt -> SetupAttempt -> Bool
$c/= :: SetupAttempt -> SetupAttempt -> Bool
== :: SetupAttempt -> SetupAttempt -> Bool
$c== :: SetupAttempt -> SetupAttempt -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttempt where
  toJSON :: SetupAttempt -> Value
toJSON SetupAttempt
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"application" Text -> Maybe SetupAttemptApplication'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Maybe SetupAttemptApplication'Variants
setupAttemptApplication SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"created" Text -> Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Int
setupAttemptCreated SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer" Text -> Maybe SetupAttemptCustomer'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Maybe SetupAttemptCustomer'Variants
setupAttemptCustomer SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"id" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Text
setupAttemptId SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"livemode" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Bool
setupAttemptLivemode SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"on_behalf_of" Text -> Maybe SetupAttemptOnBehalfOf'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Maybe SetupAttemptOnBehalfOf'Variants
setupAttemptOnBehalfOf SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_method" Text -> SetupAttemptPaymentMethod'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> SetupAttemptPaymentMethod'Variants
setupAttemptPaymentMethod SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_method_details" Text -> SetupAttemptPaymentMethodDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> SetupAttemptPaymentMethodDetails
setupAttemptPaymentMethodDetails SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"setup_error" Text -> Maybe SetupAttemptSetupError' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Maybe SetupAttemptSetupError'
setupAttemptSetupError SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"setup_intent" Text -> SetupAttemptSetupIntent'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> SetupAttemptSetupIntent'Variants
setupAttemptSetupIntent SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"status" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Text
setupAttemptStatus SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"usage" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Text
setupAttemptUsage SetupAttempt
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"setup_attempt" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SetupAttempt -> Encoding
toEncoding SetupAttempt
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"application" Text -> Maybe SetupAttemptApplication'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Maybe SetupAttemptApplication'Variants
setupAttemptApplication SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"created" Text -> Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Int
setupAttemptCreated SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer" Text -> Maybe SetupAttemptCustomer'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Maybe SetupAttemptCustomer'Variants
setupAttemptCustomer SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"id" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Text
setupAttemptId SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"livemode" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Bool
setupAttemptLivemode SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"on_behalf_of" Text -> Maybe SetupAttemptOnBehalfOf'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Maybe SetupAttemptOnBehalfOf'Variants
setupAttemptOnBehalfOf SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_method" Text -> SetupAttemptPaymentMethod'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> SetupAttemptPaymentMethod'Variants
setupAttemptPaymentMethod SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_method_details" Text -> SetupAttemptPaymentMethodDetails -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> SetupAttemptPaymentMethodDetails
setupAttemptPaymentMethodDetails SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"setup_error" Text -> Maybe SetupAttemptSetupError' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Maybe SetupAttemptSetupError'
setupAttemptSetupError SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"setup_intent" Text -> SetupAttemptSetupIntent'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> SetupAttemptSetupIntent'Variants
setupAttemptSetupIntent SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"status" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Text
setupAttemptStatus SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"usage" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttempt -> Text
setupAttemptUsage SetupAttempt
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"object" Text -> Value -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"setup_attempt")))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttempt where
  parseJSON :: Value -> Parser SetupAttempt
parseJSON = String
-> (Object -> Parser SetupAttempt) -> Value -> Parser SetupAttempt
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SetupAttempt" (\Object
obj -> ((((((((((((Maybe SetupAttemptApplication'Variants
 -> Int
 -> Maybe SetupAttemptCustomer'Variants
 -> Text
 -> Bool
 -> Maybe SetupAttemptOnBehalfOf'Variants
 -> SetupAttemptPaymentMethod'Variants
 -> SetupAttemptPaymentMethodDetails
 -> Maybe SetupAttemptSetupError'
 -> SetupAttemptSetupIntent'Variants
 -> Text
 -> Text
 -> SetupAttempt)
-> Parser
     (Maybe SetupAttemptApplication'Variants
      -> Int
      -> Maybe SetupAttemptCustomer'Variants
      -> Text
      -> Bool
      -> Maybe SetupAttemptOnBehalfOf'Variants
      -> SetupAttemptPaymentMethod'Variants
      -> SetupAttemptPaymentMethodDetails
      -> Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe SetupAttemptApplication'Variants
-> Int
-> Maybe SetupAttemptCustomer'Variants
-> Text
-> Bool
-> Maybe SetupAttemptOnBehalfOf'Variants
-> SetupAttemptPaymentMethod'Variants
-> SetupAttemptPaymentMethodDetails
-> Maybe SetupAttemptSetupError'
-> SetupAttemptSetupIntent'Variants
-> Text
-> Text
-> SetupAttempt
SetupAttempt Parser
  (Maybe SetupAttemptApplication'Variants
   -> Int
   -> Maybe SetupAttemptCustomer'Variants
   -> Text
   -> Bool
   -> Maybe SetupAttemptOnBehalfOf'Variants
   -> SetupAttemptPaymentMethod'Variants
   -> SetupAttemptPaymentMethodDetails
   -> Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser (Maybe SetupAttemptApplication'Variants)
-> Parser
     (Int
      -> Maybe SetupAttemptCustomer'Variants
      -> Text
      -> Bool
      -> Maybe SetupAttemptOnBehalfOf'Variants
      -> SetupAttemptPaymentMethod'Variants
      -> SetupAttemptPaymentMethodDetails
      -> Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SetupAttemptApplication'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"application")) Parser
  (Int
   -> Maybe SetupAttemptCustomer'Variants
   -> Text
   -> Bool
   -> Maybe SetupAttemptOnBehalfOf'Variants
   -> SetupAttemptPaymentMethod'Variants
   -> SetupAttemptPaymentMethodDetails
   -> Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser Int
-> Parser
     (Maybe SetupAttemptCustomer'Variants
      -> Text
      -> Bool
      -> Maybe SetupAttemptOnBehalfOf'Variants
      -> SetupAttemptPaymentMethod'Variants
      -> SetupAttemptPaymentMethodDetails
      -> Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Int
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"created")) Parser
  (Maybe SetupAttemptCustomer'Variants
   -> Text
   -> Bool
   -> Maybe SetupAttemptOnBehalfOf'Variants
   -> SetupAttemptPaymentMethod'Variants
   -> SetupAttemptPaymentMethodDetails
   -> Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser (Maybe SetupAttemptCustomer'Variants)
-> Parser
     (Text
      -> Bool
      -> Maybe SetupAttemptOnBehalfOf'Variants
      -> SetupAttemptPaymentMethod'Variants
      -> SetupAttemptPaymentMethodDetails
      -> Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SetupAttemptCustomer'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"customer")) Parser
  (Text
   -> Bool
   -> Maybe SetupAttemptOnBehalfOf'Variants
   -> SetupAttemptPaymentMethod'Variants
   -> SetupAttemptPaymentMethodDetails
   -> Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser Text
-> Parser
     (Bool
      -> Maybe SetupAttemptOnBehalfOf'Variants
      -> SetupAttemptPaymentMethod'Variants
      -> SetupAttemptPaymentMethodDetails
      -> Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"id")) Parser
  (Bool
   -> Maybe SetupAttemptOnBehalfOf'Variants
   -> SetupAttemptPaymentMethod'Variants
   -> SetupAttemptPaymentMethodDetails
   -> Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser Bool
-> Parser
     (Maybe SetupAttemptOnBehalfOf'Variants
      -> SetupAttemptPaymentMethod'Variants
      -> SetupAttemptPaymentMethodDetails
      -> Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"livemode")) Parser
  (Maybe SetupAttemptOnBehalfOf'Variants
   -> SetupAttemptPaymentMethod'Variants
   -> SetupAttemptPaymentMethodDetails
   -> Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser (Maybe SetupAttemptOnBehalfOf'Variants)
-> Parser
     (SetupAttemptPaymentMethod'Variants
      -> SetupAttemptPaymentMethodDetails
      -> Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SetupAttemptOnBehalfOf'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"on_behalf_of")) Parser
  (SetupAttemptPaymentMethod'Variants
   -> SetupAttemptPaymentMethodDetails
   -> Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser SetupAttemptPaymentMethod'Variants
-> Parser
     (SetupAttemptPaymentMethodDetails
      -> Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser SetupAttemptPaymentMethod'Variants
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"payment_method")) Parser
  (SetupAttemptPaymentMethodDetails
   -> Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser SetupAttemptPaymentMethodDetails
-> Parser
     (Maybe SetupAttemptSetupError'
      -> SetupAttemptSetupIntent'Variants
      -> Text
      -> Text
      -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser SetupAttemptPaymentMethodDetails
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"payment_method_details")) Parser
  (Maybe SetupAttemptSetupError'
   -> SetupAttemptSetupIntent'Variants
   -> Text
   -> Text
   -> SetupAttempt)
-> Parser (Maybe SetupAttemptSetupError')
-> Parser
     (SetupAttemptSetupIntent'Variants -> Text -> Text -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SetupAttemptSetupError')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"setup_error")) Parser
  (SetupAttemptSetupIntent'Variants -> Text -> Text -> SetupAttempt)
-> Parser SetupAttemptSetupIntent'Variants
-> Parser (Text -> Text -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser SetupAttemptSetupIntent'Variants
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"setup_intent")) Parser (Text -> Text -> SetupAttempt)
-> Parser Text -> Parser (Text -> SetupAttempt)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"status")) Parser (Text -> SetupAttempt) -> Parser Text -> Parser SetupAttempt
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"usage"))

-- | Create a new 'SetupAttempt' with all required fields.
mkSetupAttempt ::
  -- | 'setupAttemptCreated'
  GHC.Types.Int ->
  -- | 'setupAttemptId'
  Data.Text.Internal.Text ->
  -- | 'setupAttemptLivemode'
  GHC.Types.Bool ->
  -- | 'setupAttemptPaymentMethod'
  SetupAttemptPaymentMethod'Variants ->
  -- | 'setupAttemptPaymentMethodDetails'
  SetupAttemptPaymentMethodDetails ->
  -- | 'setupAttemptSetupIntent'
  SetupAttemptSetupIntent'Variants ->
  -- | 'setupAttemptStatus'
  Data.Text.Internal.Text ->
  -- | 'setupAttemptUsage'
  Data.Text.Internal.Text ->
  SetupAttempt
mkSetupAttempt :: Int
-> Text
-> Bool
-> SetupAttemptPaymentMethod'Variants
-> SetupAttemptPaymentMethodDetails
-> SetupAttemptSetupIntent'Variants
-> Text
-> Text
-> SetupAttempt
mkSetupAttempt Int
setupAttemptCreated Text
setupAttemptId Bool
setupAttemptLivemode SetupAttemptPaymentMethod'Variants
setupAttemptPaymentMethod SetupAttemptPaymentMethodDetails
setupAttemptPaymentMethodDetails SetupAttemptSetupIntent'Variants
setupAttemptSetupIntent Text
setupAttemptStatus Text
setupAttemptUsage =
  SetupAttempt :: Maybe SetupAttemptApplication'Variants
-> Int
-> Maybe SetupAttemptCustomer'Variants
-> Text
-> Bool
-> Maybe SetupAttemptOnBehalfOf'Variants
-> SetupAttemptPaymentMethod'Variants
-> SetupAttemptPaymentMethodDetails
-> Maybe SetupAttemptSetupError'
-> SetupAttemptSetupIntent'Variants
-> Text
-> Text
-> SetupAttempt
SetupAttempt
    { setupAttemptApplication :: Maybe SetupAttemptApplication'Variants
setupAttemptApplication = Maybe SetupAttemptApplication'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptCreated :: Int
setupAttemptCreated = Int
setupAttemptCreated,
      setupAttemptCustomer :: Maybe SetupAttemptCustomer'Variants
setupAttemptCustomer = Maybe SetupAttemptCustomer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptId :: Text
setupAttemptId = Text
setupAttemptId,
      setupAttemptLivemode :: Bool
setupAttemptLivemode = Bool
setupAttemptLivemode,
      setupAttemptOnBehalfOf :: Maybe SetupAttemptOnBehalfOf'Variants
setupAttemptOnBehalfOf = Maybe SetupAttemptOnBehalfOf'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptPaymentMethod :: SetupAttemptPaymentMethod'Variants
setupAttemptPaymentMethod = SetupAttemptPaymentMethod'Variants
setupAttemptPaymentMethod,
      setupAttemptPaymentMethodDetails :: SetupAttemptPaymentMethodDetails
setupAttemptPaymentMethodDetails = SetupAttemptPaymentMethodDetails
setupAttemptPaymentMethodDetails,
      setupAttemptSetupError :: Maybe SetupAttemptSetupError'
setupAttemptSetupError = Maybe SetupAttemptSetupError'
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupIntent :: SetupAttemptSetupIntent'Variants
setupAttemptSetupIntent = SetupAttemptSetupIntent'Variants
setupAttemptSetupIntent,
      setupAttemptStatus :: Text
setupAttemptStatus = Text
setupAttemptStatus,
      setupAttemptUsage :: Text
setupAttemptUsage = Text
setupAttemptUsage
    }

-- | Defines the oneOf schema located at @components.schemas.setup_attempt.properties.application.anyOf@ in the specification.
--
-- The value of [application](https:\/\/stripe.com\/docs\/api\/setup_intents\/object\#setup_intent_object-application) on the SetupIntent at the time of this confirmation.
data SetupAttemptApplication'Variants
  = SetupAttemptApplication'Text Data.Text.Internal.Text
  | SetupAttemptApplication'Application Application
  deriving (Int -> SetupAttemptApplication'Variants -> ShowS
[SetupAttemptApplication'Variants] -> ShowS
SetupAttemptApplication'Variants -> String
(Int -> SetupAttemptApplication'Variants -> ShowS)
-> (SetupAttemptApplication'Variants -> String)
-> ([SetupAttemptApplication'Variants] -> ShowS)
-> Show SetupAttemptApplication'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptApplication'Variants] -> ShowS
$cshowList :: [SetupAttemptApplication'Variants] -> ShowS
show :: SetupAttemptApplication'Variants -> String
$cshow :: SetupAttemptApplication'Variants -> String
showsPrec :: Int -> SetupAttemptApplication'Variants -> ShowS
$cshowsPrec :: Int -> SetupAttemptApplication'Variants -> ShowS
GHC.Show.Show, SetupAttemptApplication'Variants
-> SetupAttemptApplication'Variants -> Bool
(SetupAttemptApplication'Variants
 -> SetupAttemptApplication'Variants -> Bool)
-> (SetupAttemptApplication'Variants
    -> SetupAttemptApplication'Variants -> Bool)
-> Eq SetupAttemptApplication'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptApplication'Variants
-> SetupAttemptApplication'Variants -> Bool
$c/= :: SetupAttemptApplication'Variants
-> SetupAttemptApplication'Variants -> Bool
== :: SetupAttemptApplication'Variants
-> SetupAttemptApplication'Variants -> Bool
$c== :: SetupAttemptApplication'Variants
-> SetupAttemptApplication'Variants -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptApplication'Variants where
  parseJSON :: Value -> Parser SetupAttemptApplication'Variants
parseJSON Value
val = case (Text -> SetupAttemptApplication'Variants
SetupAttemptApplication'Text (Text -> SetupAttemptApplication'Variants)
-> Result Text -> Result SetupAttemptApplication'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 SetupAttemptApplication'Variants
-> Result SetupAttemptApplication'Variants
-> Result SetupAttemptApplication'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Application -> SetupAttemptApplication'Variants
SetupAttemptApplication'Application (Application -> SetupAttemptApplication'Variants)
-> Result Application -> Result SetupAttemptApplication'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Application
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result SetupAttemptApplication'Variants
-> Result SetupAttemptApplication'Variants
-> Result SetupAttemptApplication'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SetupAttemptApplication'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success SetupAttemptApplication'Variants
a -> SetupAttemptApplication'Variants
-> Parser SetupAttemptApplication'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SetupAttemptApplication'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser SetupAttemptApplication'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.setup_attempt.properties.customer.anyOf@ in the specification.
--
-- The value of [customer](https:\/\/stripe.com\/docs\/api\/setup_intents\/object\#setup_intent_object-customer) on the SetupIntent at the time of this confirmation.
data SetupAttemptCustomer'Variants
  = SetupAttemptCustomer'Text Data.Text.Internal.Text
  | SetupAttemptCustomer'Customer Customer
  | SetupAttemptCustomer'DeletedCustomer DeletedCustomer
  deriving (Int -> SetupAttemptCustomer'Variants -> ShowS
[SetupAttemptCustomer'Variants] -> ShowS
SetupAttemptCustomer'Variants -> String
(Int -> SetupAttemptCustomer'Variants -> ShowS)
-> (SetupAttemptCustomer'Variants -> String)
-> ([SetupAttemptCustomer'Variants] -> ShowS)
-> Show SetupAttemptCustomer'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptCustomer'Variants] -> ShowS
$cshowList :: [SetupAttemptCustomer'Variants] -> ShowS
show :: SetupAttemptCustomer'Variants -> String
$cshow :: SetupAttemptCustomer'Variants -> String
showsPrec :: Int -> SetupAttemptCustomer'Variants -> ShowS
$cshowsPrec :: Int -> SetupAttemptCustomer'Variants -> ShowS
GHC.Show.Show, SetupAttemptCustomer'Variants
-> SetupAttemptCustomer'Variants -> Bool
(SetupAttemptCustomer'Variants
 -> SetupAttemptCustomer'Variants -> Bool)
-> (SetupAttemptCustomer'Variants
    -> SetupAttemptCustomer'Variants -> Bool)
-> Eq SetupAttemptCustomer'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptCustomer'Variants
-> SetupAttemptCustomer'Variants -> Bool
$c/= :: SetupAttemptCustomer'Variants
-> SetupAttemptCustomer'Variants -> Bool
== :: SetupAttemptCustomer'Variants
-> SetupAttemptCustomer'Variants -> Bool
$c== :: SetupAttemptCustomer'Variants
-> SetupAttemptCustomer'Variants -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptCustomer'Variants where
  parseJSON :: Value -> Parser SetupAttemptCustomer'Variants
parseJSON Value
val = case (Text -> SetupAttemptCustomer'Variants
SetupAttemptCustomer'Text (Text -> SetupAttemptCustomer'Variants)
-> Result Text -> Result SetupAttemptCustomer'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 SetupAttemptCustomer'Variants
-> Result SetupAttemptCustomer'Variants
-> Result SetupAttemptCustomer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Customer -> SetupAttemptCustomer'Variants
SetupAttemptCustomer'Customer (Customer -> SetupAttemptCustomer'Variants)
-> Result Customer -> Result SetupAttemptCustomer'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 SetupAttemptCustomer'Variants
-> Result SetupAttemptCustomer'Variants
-> Result SetupAttemptCustomer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((DeletedCustomer -> SetupAttemptCustomer'Variants
SetupAttemptCustomer'DeletedCustomer (DeletedCustomer -> SetupAttemptCustomer'Variants)
-> Result DeletedCustomer -> Result SetupAttemptCustomer'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 SetupAttemptCustomer'Variants
-> Result SetupAttemptCustomer'Variants
-> Result SetupAttemptCustomer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SetupAttemptCustomer'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched")) of
    Data.Aeson.Types.Internal.Success SetupAttemptCustomer'Variants
a -> SetupAttemptCustomer'Variants
-> Parser SetupAttemptCustomer'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SetupAttemptCustomer'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser SetupAttemptCustomer'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.setup_attempt.properties.on_behalf_of.anyOf@ in the specification.
--
-- The value of [on_behalf_of](https:\/\/stripe.com\/docs\/api\/setup_intents\/object\#setup_intent_object-on_behalf_of) on the SetupIntent at the time of this confirmation.
data SetupAttemptOnBehalfOf'Variants
  = SetupAttemptOnBehalfOf'Text Data.Text.Internal.Text
  | SetupAttemptOnBehalfOf'Account Account
  deriving (Int -> SetupAttemptOnBehalfOf'Variants -> ShowS
[SetupAttemptOnBehalfOf'Variants] -> ShowS
SetupAttemptOnBehalfOf'Variants -> String
(Int -> SetupAttemptOnBehalfOf'Variants -> ShowS)
-> (SetupAttemptOnBehalfOf'Variants -> String)
-> ([SetupAttemptOnBehalfOf'Variants] -> ShowS)
-> Show SetupAttemptOnBehalfOf'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptOnBehalfOf'Variants] -> ShowS
$cshowList :: [SetupAttemptOnBehalfOf'Variants] -> ShowS
show :: SetupAttemptOnBehalfOf'Variants -> String
$cshow :: SetupAttemptOnBehalfOf'Variants -> String
showsPrec :: Int -> SetupAttemptOnBehalfOf'Variants -> ShowS
$cshowsPrec :: Int -> SetupAttemptOnBehalfOf'Variants -> ShowS
GHC.Show.Show, SetupAttemptOnBehalfOf'Variants
-> SetupAttemptOnBehalfOf'Variants -> Bool
(SetupAttemptOnBehalfOf'Variants
 -> SetupAttemptOnBehalfOf'Variants -> Bool)
-> (SetupAttemptOnBehalfOf'Variants
    -> SetupAttemptOnBehalfOf'Variants -> Bool)
-> Eq SetupAttemptOnBehalfOf'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptOnBehalfOf'Variants
-> SetupAttemptOnBehalfOf'Variants -> Bool
$c/= :: SetupAttemptOnBehalfOf'Variants
-> SetupAttemptOnBehalfOf'Variants -> Bool
== :: SetupAttemptOnBehalfOf'Variants
-> SetupAttemptOnBehalfOf'Variants -> Bool
$c== :: SetupAttemptOnBehalfOf'Variants
-> SetupAttemptOnBehalfOf'Variants -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptOnBehalfOf'Variants where
  parseJSON :: Value -> Parser SetupAttemptOnBehalfOf'Variants
parseJSON Value
val = case (Text -> SetupAttemptOnBehalfOf'Variants
SetupAttemptOnBehalfOf'Text (Text -> SetupAttemptOnBehalfOf'Variants)
-> Result Text -> Result SetupAttemptOnBehalfOf'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 SetupAttemptOnBehalfOf'Variants
-> Result SetupAttemptOnBehalfOf'Variants
-> Result SetupAttemptOnBehalfOf'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Account -> SetupAttemptOnBehalfOf'Variants
SetupAttemptOnBehalfOf'Account (Account -> SetupAttemptOnBehalfOf'Variants)
-> Result Account -> Result SetupAttemptOnBehalfOf'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 SetupAttemptOnBehalfOf'Variants
-> Result SetupAttemptOnBehalfOf'Variants
-> Result SetupAttemptOnBehalfOf'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SetupAttemptOnBehalfOf'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success SetupAttemptOnBehalfOf'Variants
a -> SetupAttemptOnBehalfOf'Variants
-> Parser SetupAttemptOnBehalfOf'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SetupAttemptOnBehalfOf'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser SetupAttemptOnBehalfOf'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the oneOf schema located at @components.schemas.setup_attempt.properties.payment_method.anyOf@ in the specification.
--
-- ID of the payment method used with this SetupAttempt.
data SetupAttemptPaymentMethod'Variants
  = SetupAttemptPaymentMethod'Text Data.Text.Internal.Text
  | SetupAttemptPaymentMethod'PaymentMethod PaymentMethod
  deriving (Int -> SetupAttemptPaymentMethod'Variants -> ShowS
[SetupAttemptPaymentMethod'Variants] -> ShowS
SetupAttemptPaymentMethod'Variants -> String
(Int -> SetupAttemptPaymentMethod'Variants -> ShowS)
-> (SetupAttemptPaymentMethod'Variants -> String)
-> ([SetupAttemptPaymentMethod'Variants] -> ShowS)
-> Show SetupAttemptPaymentMethod'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptPaymentMethod'Variants] -> ShowS
$cshowList :: [SetupAttemptPaymentMethod'Variants] -> ShowS
show :: SetupAttemptPaymentMethod'Variants -> String
$cshow :: SetupAttemptPaymentMethod'Variants -> String
showsPrec :: Int -> SetupAttemptPaymentMethod'Variants -> ShowS
$cshowsPrec :: Int -> SetupAttemptPaymentMethod'Variants -> ShowS
GHC.Show.Show, SetupAttemptPaymentMethod'Variants
-> SetupAttemptPaymentMethod'Variants -> Bool
(SetupAttemptPaymentMethod'Variants
 -> SetupAttemptPaymentMethod'Variants -> Bool)
-> (SetupAttemptPaymentMethod'Variants
    -> SetupAttemptPaymentMethod'Variants -> Bool)
-> Eq SetupAttemptPaymentMethod'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptPaymentMethod'Variants
-> SetupAttemptPaymentMethod'Variants -> Bool
$c/= :: SetupAttemptPaymentMethod'Variants
-> SetupAttemptPaymentMethod'Variants -> Bool
== :: SetupAttemptPaymentMethod'Variants
-> SetupAttemptPaymentMethod'Variants -> Bool
$c== :: SetupAttemptPaymentMethod'Variants
-> SetupAttemptPaymentMethod'Variants -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptPaymentMethod'Variants where
  parseJSON :: Value -> Parser SetupAttemptPaymentMethod'Variants
parseJSON Value
val = case (Text -> SetupAttemptPaymentMethod'Variants
SetupAttemptPaymentMethod'Text (Text -> SetupAttemptPaymentMethod'Variants)
-> Result Text -> Result SetupAttemptPaymentMethod'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 SetupAttemptPaymentMethod'Variants
-> Result SetupAttemptPaymentMethod'Variants
-> Result SetupAttemptPaymentMethod'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((PaymentMethod -> SetupAttemptPaymentMethod'Variants
SetupAttemptPaymentMethod'PaymentMethod (PaymentMethod -> SetupAttemptPaymentMethod'Variants)
-> Result PaymentMethod
-> Result SetupAttemptPaymentMethod'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result PaymentMethod
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result SetupAttemptPaymentMethod'Variants
-> Result SetupAttemptPaymentMethod'Variants
-> Result SetupAttemptPaymentMethod'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SetupAttemptPaymentMethod'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success SetupAttemptPaymentMethod'Variants
a -> SetupAttemptPaymentMethod'Variants
-> Parser SetupAttemptPaymentMethod'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SetupAttemptPaymentMethod'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser SetupAttemptPaymentMethod'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the object schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf@ in the specification.
--
-- The error encountered during this attempt to confirm the SetupIntent, if any.
data SetupAttemptSetupError' = SetupAttemptSetupError'
  { -- | charge: For card errors, the ID of the failed charge.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Charge :: (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
    SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Code :: (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
    SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'DeclineCode :: (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
    SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'DocUrl :: (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
    SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Message :: (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
    SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Param :: (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).
    SetupAttemptSetupError' -> Maybe PaymentIntent
setupAttemptSetupError'PaymentIntent :: (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).
    SetupAttemptSetupError' -> Maybe PaymentMethod
setupAttemptSetupError'PaymentMethod :: (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
    SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'PaymentMethodType :: (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).
    SetupAttemptSetupError' -> Maybe SetupIntent
setupAttemptSetupError'SetupIntent :: (GHC.Maybe.Maybe SetupIntent),
    -- | source: The source object for errors returned on a request involving a source.
    SetupAttemptSetupError' -> Maybe SetupAttemptSetupError'Source'
setupAttemptSetupError'Source :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'),
    -- | 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\`
    SetupAttemptSetupError' -> Maybe SetupAttemptSetupError'Type'
setupAttemptSetupError'Type :: (GHC.Maybe.Maybe SetupAttemptSetupError'Type')
  }
  deriving
    ( Int -> SetupAttemptSetupError' -> ShowS
[SetupAttemptSetupError'] -> ShowS
SetupAttemptSetupError' -> String
(Int -> SetupAttemptSetupError' -> ShowS)
-> (SetupAttemptSetupError' -> String)
-> ([SetupAttemptSetupError'] -> ShowS)
-> Show SetupAttemptSetupError'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'] -> ShowS
$cshowList :: [SetupAttemptSetupError'] -> ShowS
show :: SetupAttemptSetupError' -> String
$cshow :: SetupAttemptSetupError' -> String
showsPrec :: Int -> SetupAttemptSetupError' -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError' -> ShowS
GHC.Show.Show,
      SetupAttemptSetupError' -> SetupAttemptSetupError' -> Bool
(SetupAttemptSetupError' -> SetupAttemptSetupError' -> Bool)
-> (SetupAttemptSetupError' -> SetupAttemptSetupError' -> Bool)
-> Eq SetupAttemptSetupError'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError' -> SetupAttemptSetupError' -> Bool
$c/= :: SetupAttemptSetupError' -> SetupAttemptSetupError' -> Bool
== :: SetupAttemptSetupError' -> SetupAttemptSetupError' -> Bool
$c== :: SetupAttemptSetupError' -> SetupAttemptSetupError' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttemptSetupError' where
  toJSON :: SetupAttemptSetupError' -> Value
toJSON SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Charge SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Code SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'DeclineCode SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'DocUrl SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Message SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Param SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe PaymentIntent
setupAttemptSetupError'PaymentIntent SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe PaymentMethod
setupAttemptSetupError'PaymentMethod SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'PaymentMethodType SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe SetupIntent
setupAttemptSetupError'SetupIntent SetupAttemptSetupError'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"source" Text -> Maybe SetupAttemptSetupError'Source' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError' -> Maybe SetupAttemptSetupError'Source'
setupAttemptSetupError'Source SetupAttemptSetupError'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text -> Maybe SetupAttemptSetupError'Type' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError' -> Maybe SetupAttemptSetupError'Type'
setupAttemptSetupError'Type SetupAttemptSetupError'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SetupAttemptSetupError' -> Encoding
toEncoding SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Charge SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Code SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'DeclineCode SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'DocUrl SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Message SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'Param SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe PaymentIntent
setupAttemptSetupError'PaymentIntent SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe PaymentMethod
setupAttemptSetupError'PaymentMethod SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe Text
setupAttemptSetupError'PaymentMethodType SetupAttemptSetupError'
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..= SetupAttemptSetupError' -> Maybe SetupIntent
setupAttemptSetupError'SetupIntent SetupAttemptSetupError'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"source" Text -> Maybe SetupAttemptSetupError'Source' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError' -> Maybe SetupAttemptSetupError'Source'
setupAttemptSetupError'Source SetupAttemptSetupError'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"type" Text -> Maybe SetupAttemptSetupError'Type' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError' -> Maybe SetupAttemptSetupError'Type'
setupAttemptSetupError'Type SetupAttemptSetupError'
obj))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError' where
  parseJSON :: Value -> Parser SetupAttemptSetupError'
parseJSON = String
-> (Object -> Parser SetupAttemptSetupError')
-> Value
-> Parser SetupAttemptSetupError'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SetupAttemptSetupError'" (\Object
obj -> ((((((((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe PaymentIntent
 -> Maybe PaymentMethod
 -> Maybe Text
 -> Maybe SetupIntent
 -> Maybe SetupAttemptSetupError'Source'
 -> Maybe SetupAttemptSetupError'Type'
 -> SetupAttemptSetupError')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Type'
-> SetupAttemptSetupError'
SetupAttemptSetupError' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe PaymentIntent
   -> Maybe PaymentMethod
   -> Maybe Text
   -> Maybe SetupIntent
   -> Maybe SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe Text)
-> Parser
     (Maybe PaymentIntent
      -> Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe PaymentIntent)
-> Parser
     (Maybe PaymentMethod
      -> Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe PaymentMethod)
-> Parser
     (Maybe Text
      -> Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe Text)
-> Parser
     (Maybe SetupIntent
      -> Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type'
      -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type'
   -> SetupAttemptSetupError')
-> Parser (Maybe SetupIntent)
-> Parser
     (Maybe SetupAttemptSetupError'Source'
      -> Maybe SetupAttemptSetupError'Type' -> SetupAttemptSetupError')
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 SetupAttemptSetupError'Source'
   -> Maybe SetupAttemptSetupError'Type' -> SetupAttemptSetupError')
-> Parser (Maybe SetupAttemptSetupError'Source')
-> Parser
     (Maybe SetupAttemptSetupError'Type' -> SetupAttemptSetupError')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SetupAttemptSetupError'Source')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"source")) Parser
  (Maybe SetupAttemptSetupError'Type' -> SetupAttemptSetupError')
-> Parser (Maybe SetupAttemptSetupError'Type')
-> Parser SetupAttemptSetupError'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SetupAttemptSetupError'Type')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"type"))

-- | Create a new 'SetupAttemptSetupError'' with all required fields.
mkSetupAttemptSetupError' :: SetupAttemptSetupError'
mkSetupAttemptSetupError' :: SetupAttemptSetupError'
mkSetupAttemptSetupError' =
  SetupAttemptSetupError' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe PaymentIntent
-> Maybe PaymentMethod
-> Maybe Text
-> Maybe SetupIntent
-> Maybe SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Type'
-> SetupAttemptSetupError'
SetupAttemptSetupError'
    { setupAttemptSetupError'Charge :: Maybe Text
setupAttemptSetupError'Charge = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Code :: Maybe Text
setupAttemptSetupError'Code = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'DeclineCode :: Maybe Text
setupAttemptSetupError'DeclineCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'DocUrl :: Maybe Text
setupAttemptSetupError'DocUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Message :: Maybe Text
setupAttemptSetupError'Message = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Param :: Maybe Text
setupAttemptSetupError'Param = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'PaymentIntent :: Maybe PaymentIntent
setupAttemptSetupError'PaymentIntent = Maybe PaymentIntent
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'PaymentMethod :: Maybe PaymentMethod
setupAttemptSetupError'PaymentMethod = Maybe PaymentMethod
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'PaymentMethodType :: Maybe Text
setupAttemptSetupError'PaymentMethodType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'SetupIntent :: Maybe SetupIntent
setupAttemptSetupError'SetupIntent = Maybe SetupIntent
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source :: Maybe SetupAttemptSetupError'Source'
setupAttemptSetupError'Source = Maybe SetupAttemptSetupError'Source'
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Type :: Maybe SetupAttemptSetupError'Type'
setupAttemptSetupError'Type = Maybe SetupAttemptSetupError'Type'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.properties.source.anyOf@ in the specification.
--
-- The source object for errors returned on a request involving a source.
data SetupAttemptSetupError'Source' = SetupAttemptSetupError'Source'
  { -- | account: The ID of the account that the bank account is associated with.
    SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Account'Variants
setupAttemptSetupError'Source'Account :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'Account'Variants),
    -- | account_holder_name: The name of the person or business that owns the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AccountHolderType :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ach_credit_transfer
    SetupAttemptSetupError'Source' -> Maybe SourceTypeAchCreditTransfer
setupAttemptSetupError'Source'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer),
    -- | ach_debit
    SetupAttemptSetupError'Source' -> Maybe SourceTypeAchDebit
setupAttemptSetupError'Source'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit),
    -- | acss_debit
    SetupAttemptSetupError'Source' -> Maybe SourceTypeAcssDebit
setupAttemptSetupError'Source'AcssDebit :: (GHC.Maybe.Maybe SourceTypeAcssDebit),
    -- | address_city: City\/District\/Suburb\/Town\/Village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressCity :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_country: Billing address country, if provided when creating card.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressCountry :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressLine1Check :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressLine2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_state: State\/County\/Province\/Region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressState :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_zip: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressZipCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | alipay
    SetupAttemptSetupError'Source' -> Maybe SourceTypeAlipay
setupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'Amount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | au_becs_debit
    SetupAttemptSetupError'Source' -> Maybe SourceTypeAuBecsDebit
setupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source'
-> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
setupAttemptSetupError'Source'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([SetupAttemptSetupError'Source'AvailablePayoutMethods'])),
    -- | bancontact
    SetupAttemptSetupError'Source' -> Maybe SourceTypeBancontact
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Brand :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | card
    SetupAttemptSetupError'Source' -> Maybe SourceTypeCard
setupAttemptSetupError'Source'Card :: (GHC.Maybe.Maybe SourceTypeCard),
    -- | card_present
    SetupAttemptSetupError'Source' -> Maybe SourceTypeCardPresent
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'ClientSecret :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | code_verification:
    SetupAttemptSetupError'Source' -> Maybe SourceCodeVerificationFlow
setupAttemptSetupError'Source'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow),
    -- | country: Two-letter ISO code representing the country the bank account is located in.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
    SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer: The ID of the customer that the bank account is associated with.
    SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Customer'Variants
setupAttemptSetupError'Source'Customer :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'CvcCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_for_currency: Whether this bank account is the default external account for its currency.
    SetupAttemptSetupError'Source' -> Maybe Bool
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'DynamicLast4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | eps
    SetupAttemptSetupError'Source' -> Maybe SourceTypeEps
setupAttemptSetupError'Source'Eps :: (GHC.Maybe.Maybe SourceTypeEps),
    -- | exp_month: Two-digit number representing the card\'s expiration month.
    SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | exp_year: Four-digit number representing the card\'s expiration year.
    SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Flow :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Funding :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | giropay
    SetupAttemptSetupError'Source' -> Maybe SourceTypeGiropay
setupAttemptSetupError'Source'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ideal
    SetupAttemptSetupError'Source' -> Maybe SourceTypeIdeal
setupAttemptSetupError'Source'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal),
    -- | klarna
    SetupAttemptSetupError'Source' -> Maybe SourceTypeKlarna
setupAttemptSetupError'Source'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna),
    -- | last4: The last four digits of the bank account number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source' -> Maybe Bool
setupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source' -> Maybe Object
setupAttemptSetupError'Source'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
    -- | multibanco
    SetupAttemptSetupError'Source' -> Maybe SourceTypeMultibanco
setupAttemptSetupError'Source'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco),
    -- | name: Cardholder name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | object: String representing the object\'s type. Objects of the same type share the same value.
    SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Object'
setupAttemptSetupError'Source'Object :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'Object'),
    -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types.
    SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Owner'
setupAttemptSetupError'Source'Owner :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'Owner'),
    -- | p24
    SetupAttemptSetupError'Source' -> Maybe SourceTypeP24
setupAttemptSetupError'Source'P24 :: (GHC.Maybe.Maybe SourceTypeP24),
    -- | receiver:
    SetupAttemptSetupError'Source' -> Maybe SourceReceiverFlow
setupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Recipient'Variants
setupAttemptSetupError'Source'Recipient :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'Recipient'Variants),
    -- | redirect:
    SetupAttemptSetupError'Source' -> Maybe SourceRedirectFlow
setupAttemptSetupError'Source'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow),
    -- | routing_number: The routing transit number for the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'RoutingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | sepa_debit
    SetupAttemptSetupError'Source' -> Maybe SourceTypeSepaDebit
setupAttemptSetupError'Source'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit),
    -- | sofort
    SetupAttemptSetupError'Source' -> Maybe SourceTypeSofort
setupAttemptSetupError'Source'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort),
    -- | source_order:
    SetupAttemptSetupError'Source' -> Maybe SourceOrder
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Status :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | three_d_secure
    SetupAttemptSetupError'Source' -> Maybe SourceTypeThreeDSecure
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Type'
setupAttemptSetupError'Source'Type :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Usage :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | wechat
    SetupAttemptSetupError'Source' -> Maybe SourceTypeWechat
setupAttemptSetupError'Source'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat)
  }
  deriving
    ( Int -> SetupAttemptSetupError'Source' -> ShowS
[SetupAttemptSetupError'Source'] -> ShowS
SetupAttemptSetupError'Source' -> String
(Int -> SetupAttemptSetupError'Source' -> ShowS)
-> (SetupAttemptSetupError'Source' -> String)
-> ([SetupAttemptSetupError'Source'] -> ShowS)
-> Show SetupAttemptSetupError'Source'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'] -> ShowS
show :: SetupAttemptSetupError'Source' -> String
$cshow :: SetupAttemptSetupError'Source' -> String
showsPrec :: Int -> SetupAttemptSetupError'Source' -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Source' -> ShowS
GHC.Show.Show,
      SetupAttemptSetupError'Source'
-> SetupAttemptSetupError'Source' -> Bool
(SetupAttemptSetupError'Source'
 -> SetupAttemptSetupError'Source' -> Bool)
-> (SetupAttemptSetupError'Source'
    -> SetupAttemptSetupError'Source' -> Bool)
-> Eq SetupAttemptSetupError'Source'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'
-> SetupAttemptSetupError'Source' -> Bool
$c/= :: SetupAttemptSetupError'Source'
-> SetupAttemptSetupError'Source' -> Bool
== :: SetupAttemptSetupError'Source'
-> SetupAttemptSetupError'Source' -> Bool
$c== :: SetupAttemptSetupError'Source'
-> SetupAttemptSetupError'Source' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttemptSetupError'Source' where
  toJSON :: SetupAttemptSetupError'Source' -> Value
toJSON SetupAttemptSetupError'Source'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"account" Text
-> Maybe SetupAttemptSetupError'Source'Account'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Account'Variants
setupAttemptSetupError'Source'Account SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AccountHolderName SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AccountHolderType SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAchCreditTransfer
setupAttemptSetupError'Source'AchCreditTransfer SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAchDebit
setupAttemptSetupError'Source'AchDebit SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAcssDebit
setupAttemptSetupError'Source'AcssDebit SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressCity SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressCountry SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressLine1 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressLine1Check SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressLine2 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressState SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressZip SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressZipCheck SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAlipay
setupAttemptSetupError'Source'Alipay SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'Amount SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAuBecsDebit
setupAttemptSetupError'Source'AuBecsDebit SetupAttemptSetupError'Source'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"available_payout_methods" Text
-> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
setupAttemptSetupError'Source'AvailablePayoutMethods SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeBancontact
setupAttemptSetupError'Source'Bancontact SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'BankName SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Brand SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeCard
setupAttemptSetupError'Source'Card SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeCardPresent
setupAttemptSetupError'Source'CardPresent SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'ClientSecret SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceCodeVerificationFlow
setupAttemptSetupError'Source'CodeVerification SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Country SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'Created SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Currency SetupAttemptSetupError'Source'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer" Text
-> Maybe SetupAttemptSetupError'Source'Customer'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Customer'Variants
setupAttemptSetupError'Source'Customer SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'CvcCheck SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Bool
setupAttemptSetupError'Source'DefaultForCurrency SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'DynamicLast4 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeEps
setupAttemptSetupError'Source'Eps SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'ExpMonth SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'ExpYear SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Fingerprint SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Flow SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Funding SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeGiropay
setupAttemptSetupError'Source'Giropay SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Id SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeIdeal
setupAttemptSetupError'Source'Ideal SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeKlarna
setupAttemptSetupError'Source'Klarna SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Last4 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Bool
setupAttemptSetupError'Source'Livemode SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Object
setupAttemptSetupError'Source'Metadata SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeMultibanco
setupAttemptSetupError'Source'Multibanco SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Name SetupAttemptSetupError'Source'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Maybe SetupAttemptSetupError'Source'Object' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Object'
setupAttemptSetupError'Source'Object SetupAttemptSetupError'Source'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"owner" Text -> Maybe SetupAttemptSetupError'Source'Owner' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Owner'
setupAttemptSetupError'Source'Owner SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeP24
setupAttemptSetupError'Source'P24 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceReceiverFlow
setupAttemptSetupError'Source'Receiver SetupAttemptSetupError'Source'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"recipient" Text
-> Maybe SetupAttemptSetupError'Source'Recipient'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Recipient'Variants
setupAttemptSetupError'Source'Recipient SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceRedirectFlow
setupAttemptSetupError'Source'Redirect SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'RoutingNumber SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeSepaDebit
setupAttemptSetupError'Source'SepaDebit SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeSofort
setupAttemptSetupError'Source'Sofort SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceOrder
setupAttemptSetupError'Source'SourceOrder SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'StatementDescriptor SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Status SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeThreeDSecure
setupAttemptSetupError'Source'ThreeDSecure SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'TokenizationMethod SetupAttemptSetupError'Source'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text -> Maybe SetupAttemptSetupError'Source'Type' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Type'
setupAttemptSetupError'Source'Type SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Usage SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeWechat
setupAttemptSetupError'Source'Wechat SetupAttemptSetupError'Source'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SetupAttemptSetupError'Source' -> Encoding
toEncoding SetupAttemptSetupError'Source'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"account" Text
-> Maybe SetupAttemptSetupError'Source'Account'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Account'Variants
setupAttemptSetupError'Source'Account SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AccountHolderName SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AccountHolderType SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAchCreditTransfer
setupAttemptSetupError'Source'AchCreditTransfer SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAchDebit
setupAttemptSetupError'Source'AchDebit SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAcssDebit
setupAttemptSetupError'Source'AcssDebit SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressCity SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressCountry SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressLine1 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressLine1Check SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressLine2 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressState SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressZip SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'AddressZipCheck SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAlipay
setupAttemptSetupError'Source'Alipay SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'Amount SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeAuBecsDebit
setupAttemptSetupError'Source'AuBecsDebit SetupAttemptSetupError'Source'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"available_payout_methods" Text
-> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
setupAttemptSetupError'Source'AvailablePayoutMethods SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeBancontact
setupAttemptSetupError'Source'Bancontact SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'BankName SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Brand SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeCard
setupAttemptSetupError'Source'Card SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeCardPresent
setupAttemptSetupError'Source'CardPresent SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'ClientSecret SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceCodeVerificationFlow
setupAttemptSetupError'Source'CodeVerification SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Country SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'Created SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Currency SetupAttemptSetupError'Source'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer" Text
-> Maybe SetupAttemptSetupError'Source'Customer'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Customer'Variants
setupAttemptSetupError'Source'Customer SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'CvcCheck SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Bool
setupAttemptSetupError'Source'DefaultForCurrency SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'DynamicLast4 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeEps
setupAttemptSetupError'Source'Eps SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'ExpMonth SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Int
setupAttemptSetupError'Source'ExpYear SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Fingerprint SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Flow SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Funding SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeGiropay
setupAttemptSetupError'Source'Giropay SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Id SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeIdeal
setupAttemptSetupError'Source'Ideal SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeKlarna
setupAttemptSetupError'Source'Klarna SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Last4 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Bool
setupAttemptSetupError'Source'Livemode SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Object
setupAttemptSetupError'Source'Metadata SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeMultibanco
setupAttemptSetupError'Source'Multibanco SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Name SetupAttemptSetupError'Source'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"object" Text -> Maybe SetupAttemptSetupError'Source'Object' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Object'
setupAttemptSetupError'Source'Object SetupAttemptSetupError'Source'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"owner" Text -> Maybe SetupAttemptSetupError'Source'Owner' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Owner'
setupAttemptSetupError'Source'Owner SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeP24
setupAttemptSetupError'Source'P24 SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceReceiverFlow
setupAttemptSetupError'Source'Receiver SetupAttemptSetupError'Source'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"recipient" Text
-> Maybe SetupAttemptSetupError'Source'Recipient'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Recipient'Variants
setupAttemptSetupError'Source'Recipient SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceRedirectFlow
setupAttemptSetupError'Source'Redirect SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'RoutingNumber SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeSepaDebit
setupAttemptSetupError'Source'SepaDebit SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeSofort
setupAttemptSetupError'Source'Sofort SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceOrder
setupAttemptSetupError'Source'SourceOrder SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'StatementDescriptor SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Status SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeThreeDSecure
setupAttemptSetupError'Source'ThreeDSecure SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'TokenizationMethod SetupAttemptSetupError'Source'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"type" Text -> Maybe SetupAttemptSetupError'Source'Type' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'
-> Maybe SetupAttemptSetupError'Source'Type'
setupAttemptSetupError'Source'Type SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe Text
setupAttemptSetupError'Source'Usage SetupAttemptSetupError'Source'
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..= SetupAttemptSetupError'Source' -> Maybe SourceTypeWechat
setupAttemptSetupError'Source'Wechat SetupAttemptSetupError'Source'
obj))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError'Source' where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Source'
parseJSON = String
-> (Object -> Parser SetupAttemptSetupError'Source')
-> Value
-> Parser SetupAttemptSetupError'Source'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SetupAttemptSetupError'Source'" (\Object
obj -> ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Maybe SetupAttemptSetupError'Source'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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
 -> Maybe SourceTypeBancontact
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeCard
 -> Maybe SourceTypeCardPresent
 -> Maybe Text
 -> Maybe SourceCodeVerificationFlow
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
 -> Maybe SetupAttemptSetupError'Source'Owner'
 -> Maybe SourceTypeP24
 -> Maybe SourceReceiverFlow
 -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
 -> Maybe SourceRedirectFlow
 -> Maybe Text
 -> Maybe SourceTypeSepaDebit
 -> Maybe SourceTypeSofort
 -> Maybe SourceOrder
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeThreeDSecure
 -> Maybe Text
 -> Maybe SetupAttemptSetupError'Source'Type'
 -> Maybe Text
 -> Maybe SourceTypeWechat
 -> SetupAttemptSetupError'Source')
-> Parser
     (Maybe SetupAttemptSetupError'Source'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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe SetupAttemptSetupError'Source'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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
-> Maybe SetupAttemptSetupError'Source'Owner'
-> Maybe SourceTypeP24
-> Maybe SourceReceiverFlow
-> Maybe SetupAttemptSetupError'Source'Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe SetupAttemptSetupError'Source'Type'
-> Maybe Text
-> Maybe SourceTypeWechat
-> SetupAttemptSetupError'Source'
SetupAttemptSetupError'Source' Parser
  (Maybe SetupAttemptSetupError'Source'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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SetupAttemptSetupError'Source'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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe SetupAttemptSetupError'Source'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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeAlipay)
-> Parser
     (Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Int)
-> Parser
     (Maybe SourceTypeAuBecsDebit
      -> Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeAuBecsDebit)
-> Parser
     (Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser
     (Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods'])
-> Parser
     (Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe [SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeBancontact)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeCard)
-> Parser
     (Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeCardPresent)
-> Parser
     (Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceCodeVerificationFlow)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> 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 SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeGiropay)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeIdeal
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeIdeal)
-> Parser
     (Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeKlarna)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Object)
-> Parser
     (Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeMultibanco)
-> Parser
     (Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SetupAttemptSetupError'Source'Object'
      -> Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Object'
   -> Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SetupAttemptSetupError'Source'Object')
-> Parser
     (Maybe SetupAttemptSetupError'Source'Owner'
      -> Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe SetupAttemptSetupError'Source'Object')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"object")) Parser
  (Maybe SetupAttemptSetupError'Source'Owner'
   -> Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SetupAttemptSetupError'Source'Owner')
-> Parser
     (Maybe SourceTypeP24
      -> Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe SetupAttemptSetupError'Source'Owner')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"owner")) Parser
  (Maybe SourceTypeP24
   -> Maybe SourceReceiverFlow
   -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeP24)
-> Parser
     (Maybe SourceReceiverFlow
      -> Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceReceiverFlow)
-> Parser
     (Maybe SetupAttemptSetupError'Source'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SetupAttemptSetupError'Source'Recipient'Variants)
-> Parser
     (Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceRedirectFlow)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeSepaDebit)
-> Parser
     (Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeSofort)
-> Parser
     (Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceOrder)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeThreeDSecure)
-> Parser
     (Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SetupAttemptSetupError'Source'Type'
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> SetupAttemptSetupError'Source')
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 SetupAttemptSetupError'Source'Type'
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> SetupAttemptSetupError'Source')
-> Parser (Maybe SetupAttemptSetupError'Source'Type')
-> Parser
     (Maybe Text
      -> Maybe SourceTypeWechat -> SetupAttemptSetupError'Source')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe SetupAttemptSetupError'Source'Type')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"type")) Parser
  (Maybe Text
   -> Maybe SourceTypeWechat -> SetupAttemptSetupError'Source')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeWechat -> SetupAttemptSetupError'Source')
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 -> SetupAttemptSetupError'Source')
-> Parser (Maybe SourceTypeWechat)
-> Parser SetupAttemptSetupError'Source'
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 'SetupAttemptSetupError'Source'' with all required fields.
mkSetupAttemptSetupError'Source' :: SetupAttemptSetupError'Source'
mkSetupAttemptSetupError'Source' :: SetupAttemptSetupError'Source'
mkSetupAttemptSetupError'Source' =
  SetupAttemptSetupError'Source' :: Maybe SetupAttemptSetupError'Source'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 [SetupAttemptSetupError'Source'AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Object'
-> Maybe SetupAttemptSetupError'Source'Owner'
-> Maybe SourceTypeP24
-> Maybe SourceReceiverFlow
-> Maybe SetupAttemptSetupError'Source'Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe SetupAttemptSetupError'Source'Type'
-> Maybe Text
-> Maybe SourceTypeWechat
-> SetupAttemptSetupError'Source'
SetupAttemptSetupError'Source'
    { setupAttemptSetupError'Source'Account :: Maybe SetupAttemptSetupError'Source'Account'Variants
setupAttemptSetupError'Source'Account = Maybe SetupAttemptSetupError'Source'Account'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AccountHolderName :: Maybe Text
setupAttemptSetupError'Source'AccountHolderName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AccountHolderType :: Maybe Text
setupAttemptSetupError'Source'AccountHolderType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AchCreditTransfer :: Maybe SourceTypeAchCreditTransfer
setupAttemptSetupError'Source'AchCreditTransfer = Maybe SourceTypeAchCreditTransfer
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AchDebit :: Maybe SourceTypeAchDebit
setupAttemptSetupError'Source'AchDebit = Maybe SourceTypeAchDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AcssDebit :: Maybe SourceTypeAcssDebit
setupAttemptSetupError'Source'AcssDebit = Maybe SourceTypeAcssDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AddressCity :: Maybe Text
setupAttemptSetupError'Source'AddressCity = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AddressCountry :: Maybe Text
setupAttemptSetupError'Source'AddressCountry = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AddressLine1 :: Maybe Text
setupAttemptSetupError'Source'AddressLine1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AddressLine1Check :: Maybe Text
setupAttemptSetupError'Source'AddressLine1Check = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AddressLine2 :: Maybe Text
setupAttemptSetupError'Source'AddressLine2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AddressState :: Maybe Text
setupAttemptSetupError'Source'AddressState = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AddressZip :: Maybe Text
setupAttemptSetupError'Source'AddressZip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AddressZipCheck :: Maybe Text
setupAttemptSetupError'Source'AddressZipCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Alipay :: Maybe SourceTypeAlipay
setupAttemptSetupError'Source'Alipay = Maybe SourceTypeAlipay
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Amount :: Maybe Int
setupAttemptSetupError'Source'Amount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AuBecsDebit :: Maybe SourceTypeAuBecsDebit
setupAttemptSetupError'Source'AuBecsDebit = Maybe SourceTypeAuBecsDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'AvailablePayoutMethods :: Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
setupAttemptSetupError'Source'AvailablePayoutMethods = Maybe [SetupAttemptSetupError'Source'AvailablePayoutMethods']
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Bancontact :: Maybe SourceTypeBancontact
setupAttemptSetupError'Source'Bancontact = Maybe SourceTypeBancontact
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'BankName :: Maybe Text
setupAttemptSetupError'Source'BankName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Brand :: Maybe Text
setupAttemptSetupError'Source'Brand = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Card :: Maybe SourceTypeCard
setupAttemptSetupError'Source'Card = Maybe SourceTypeCard
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'CardPresent :: Maybe SourceTypeCardPresent
setupAttemptSetupError'Source'CardPresent = Maybe SourceTypeCardPresent
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'ClientSecret :: Maybe Text
setupAttemptSetupError'Source'ClientSecret = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'CodeVerification :: Maybe SourceCodeVerificationFlow
setupAttemptSetupError'Source'CodeVerification = Maybe SourceCodeVerificationFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Country :: Maybe Text
setupAttemptSetupError'Source'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Created :: Maybe Int
setupAttemptSetupError'Source'Created = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Currency :: Maybe Text
setupAttemptSetupError'Source'Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Customer :: Maybe SetupAttemptSetupError'Source'Customer'Variants
setupAttemptSetupError'Source'Customer = Maybe SetupAttemptSetupError'Source'Customer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'CvcCheck :: Maybe Text
setupAttemptSetupError'Source'CvcCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'DefaultForCurrency :: Maybe Bool
setupAttemptSetupError'Source'DefaultForCurrency = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'DynamicLast4 :: Maybe Text
setupAttemptSetupError'Source'DynamicLast4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Eps :: Maybe SourceTypeEps
setupAttemptSetupError'Source'Eps = Maybe SourceTypeEps
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'ExpMonth :: Maybe Int
setupAttemptSetupError'Source'ExpMonth = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'ExpYear :: Maybe Int
setupAttemptSetupError'Source'ExpYear = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Fingerprint :: Maybe Text
setupAttemptSetupError'Source'Fingerprint = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Flow :: Maybe Text
setupAttemptSetupError'Source'Flow = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Funding :: Maybe Text
setupAttemptSetupError'Source'Funding = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Giropay :: Maybe SourceTypeGiropay
setupAttemptSetupError'Source'Giropay = Maybe SourceTypeGiropay
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Id :: Maybe Text
setupAttemptSetupError'Source'Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Ideal :: Maybe SourceTypeIdeal
setupAttemptSetupError'Source'Ideal = Maybe SourceTypeIdeal
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Klarna :: Maybe SourceTypeKlarna
setupAttemptSetupError'Source'Klarna = Maybe SourceTypeKlarna
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Last4 :: Maybe Text
setupAttemptSetupError'Source'Last4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Livemode :: Maybe Bool
setupAttemptSetupError'Source'Livemode = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Metadata :: Maybe Object
setupAttemptSetupError'Source'Metadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Multibanco :: Maybe SourceTypeMultibanco
setupAttemptSetupError'Source'Multibanco = Maybe SourceTypeMultibanco
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Name :: Maybe Text
setupAttemptSetupError'Source'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Object :: Maybe SetupAttemptSetupError'Source'Object'
setupAttemptSetupError'Source'Object = Maybe SetupAttemptSetupError'Source'Object'
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner :: Maybe SetupAttemptSetupError'Source'Owner'
setupAttemptSetupError'Source'Owner = Maybe SetupAttemptSetupError'Source'Owner'
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'P24 :: Maybe SourceTypeP24
setupAttemptSetupError'Source'P24 = Maybe SourceTypeP24
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Receiver :: Maybe SourceReceiverFlow
setupAttemptSetupError'Source'Receiver = Maybe SourceReceiverFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Recipient :: Maybe SetupAttemptSetupError'Source'Recipient'Variants
setupAttemptSetupError'Source'Recipient = Maybe SetupAttemptSetupError'Source'Recipient'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Redirect :: Maybe SourceRedirectFlow
setupAttemptSetupError'Source'Redirect = Maybe SourceRedirectFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'RoutingNumber :: Maybe Text
setupAttemptSetupError'Source'RoutingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'SepaDebit :: Maybe SourceTypeSepaDebit
setupAttemptSetupError'Source'SepaDebit = Maybe SourceTypeSepaDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Sofort :: Maybe SourceTypeSofort
setupAttemptSetupError'Source'Sofort = Maybe SourceTypeSofort
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'SourceOrder :: Maybe SourceOrder
setupAttemptSetupError'Source'SourceOrder = Maybe SourceOrder
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'StatementDescriptor :: Maybe Text
setupAttemptSetupError'Source'StatementDescriptor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Status :: Maybe Text
setupAttemptSetupError'Source'Status = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'ThreeDSecure :: Maybe SourceTypeThreeDSecure
setupAttemptSetupError'Source'ThreeDSecure = Maybe SourceTypeThreeDSecure
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'TokenizationMethod :: Maybe Text
setupAttemptSetupError'Source'TokenizationMethod = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Type :: Maybe SetupAttemptSetupError'Source'Type'
setupAttemptSetupError'Source'Type = Maybe SetupAttemptSetupError'Source'Type'
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Usage :: Maybe Text
setupAttemptSetupError'Source'Usage = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Wechat :: Maybe SourceTypeWechat
setupAttemptSetupError'Source'Wechat = Maybe SourceTypeWechat
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.properties.source.anyOf.properties.account.anyOf@ in the specification.
--
-- The ID of the account that the bank account is associated with.
data SetupAttemptSetupError'Source'Account'Variants
  = SetupAttemptSetupError'Source'Account'Text Data.Text.Internal.Text
  | SetupAttemptSetupError'Source'Account'Account Account
  deriving (Int -> SetupAttemptSetupError'Source'Account'Variants -> ShowS
[SetupAttemptSetupError'Source'Account'Variants] -> ShowS
SetupAttemptSetupError'Source'Account'Variants -> String
(Int -> SetupAttemptSetupError'Source'Account'Variants -> ShowS)
-> (SetupAttemptSetupError'Source'Account'Variants -> String)
-> ([SetupAttemptSetupError'Source'Account'Variants] -> ShowS)
-> Show SetupAttemptSetupError'Source'Account'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'Account'Variants] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'Account'Variants] -> ShowS
show :: SetupAttemptSetupError'Source'Account'Variants -> String
$cshow :: SetupAttemptSetupError'Source'Account'Variants -> String
showsPrec :: Int -> SetupAttemptSetupError'Source'Account'Variants -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Source'Account'Variants -> ShowS
GHC.Show.Show, SetupAttemptSetupError'Source'Account'Variants
-> SetupAttemptSetupError'Source'Account'Variants -> Bool
(SetupAttemptSetupError'Source'Account'Variants
 -> SetupAttemptSetupError'Source'Account'Variants -> Bool)
-> (SetupAttemptSetupError'Source'Account'Variants
    -> SetupAttemptSetupError'Source'Account'Variants -> Bool)
-> Eq SetupAttemptSetupError'Source'Account'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'Account'Variants
-> SetupAttemptSetupError'Source'Account'Variants -> Bool
$c/= :: SetupAttemptSetupError'Source'Account'Variants
-> SetupAttemptSetupError'Source'Account'Variants -> Bool
== :: SetupAttemptSetupError'Source'Account'Variants
-> SetupAttemptSetupError'Source'Account'Variants -> Bool
$c== :: SetupAttemptSetupError'Source'Account'Variants
-> SetupAttemptSetupError'Source'Account'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttemptSetupError'Source'Account'Variants where
  toJSON :: SetupAttemptSetupError'Source'Account'Variants -> Value
toJSON (SetupAttemptSetupError'Source'Account'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Account'Variants where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Source'Account'Variants
parseJSON Value
val = case (Text -> SetupAttemptSetupError'Source'Account'Variants
SetupAttemptSetupError'Source'Account'Text (Text -> SetupAttemptSetupError'Source'Account'Variants)
-> Result Text
-> Result SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Account'Variants
-> Result SetupAttemptSetupError'Source'Account'Variants
-> Result SetupAttemptSetupError'Source'Account'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Account -> SetupAttemptSetupError'Source'Account'Variants
SetupAttemptSetupError'Source'Account'Account (Account -> SetupAttemptSetupError'Source'Account'Variants)
-> Result Account
-> Result SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Account'Variants
-> Result SetupAttemptSetupError'Source'Account'Variants
-> Result SetupAttemptSetupError'Source'Account'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SetupAttemptSetupError'Source'Account'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success SetupAttemptSetupError'Source'Account'Variants
a -> SetupAttemptSetupError'Source'Account'Variants
-> Parser SetupAttemptSetupError'Source'Account'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SetupAttemptSetupError'Source'Account'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser SetupAttemptSetupError'Source'Account'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.properties.source.anyOf.properties.available_payout_methods.items@ in the specification.
data SetupAttemptSetupError'Source'AvailablePayoutMethods'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    SetupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source'AvailablePayoutMethods'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"instant"@
    SetupAttemptSetupError'Source'AvailablePayoutMethods'EnumInstant
  | -- | Represents the JSON value @"standard"@
    SetupAttemptSetupError'Source'AvailablePayoutMethods'EnumStandard
  deriving (Int
-> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> ShowS
[SetupAttemptSetupError'Source'AvailablePayoutMethods'] -> ShowS
SetupAttemptSetupError'Source'AvailablePayoutMethods' -> String
(Int
 -> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> ShowS)
-> (SetupAttemptSetupError'Source'AvailablePayoutMethods'
    -> String)
-> ([SetupAttemptSetupError'Source'AvailablePayoutMethods']
    -> ShowS)
-> Show SetupAttemptSetupError'Source'AvailablePayoutMethods'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'AvailablePayoutMethods'] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'AvailablePayoutMethods'] -> ShowS
show :: SetupAttemptSetupError'Source'AvailablePayoutMethods' -> String
$cshow :: SetupAttemptSetupError'Source'AvailablePayoutMethods' -> String
showsPrec :: Int
-> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> ShowS
$cshowsPrec :: Int
-> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> ShowS
GHC.Show.Show, SetupAttemptSetupError'Source'AvailablePayoutMethods'
-> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> Bool
(SetupAttemptSetupError'Source'AvailablePayoutMethods'
 -> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> Bool)
-> (SetupAttemptSetupError'Source'AvailablePayoutMethods'
    -> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> Bool)
-> Eq SetupAttemptSetupError'Source'AvailablePayoutMethods'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'AvailablePayoutMethods'
-> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> Bool
$c/= :: SetupAttemptSetupError'Source'AvailablePayoutMethods'
-> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> Bool
== :: SetupAttemptSetupError'Source'AvailablePayoutMethods'
-> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> Bool
$c== :: SetupAttemptSetupError'Source'AvailablePayoutMethods'
-> SetupAttemptSetupError'Source'AvailablePayoutMethods' -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError'Source'AvailablePayoutMethods' where
  parseJSON :: Value
-> Parser SetupAttemptSetupError'Source'AvailablePayoutMethods'
parseJSON Value
val =
    SetupAttemptSetupError'Source'AvailablePayoutMethods'
-> Parser SetupAttemptSetupError'Source'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" -> SetupAttemptSetupError'Source'AvailablePayoutMethods'
SetupAttemptSetupError'Source'AvailablePayoutMethods'EnumInstant
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"standard" -> SetupAttemptSetupError'Source'AvailablePayoutMethods'
SetupAttemptSetupError'Source'AvailablePayoutMethods'EnumStandard
            | Bool
GHC.Base.otherwise -> Value -> SetupAttemptSetupError'Source'AvailablePayoutMethods'
SetupAttemptSetupError'Source'AvailablePayoutMethods'Other Value
val
      )

-- | Defines the oneOf schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.properties.source.anyOf.properties.customer.anyOf@ in the specification.
--
-- The ID of the customer that the bank account is associated with.
data SetupAttemptSetupError'Source'Customer'Variants
  = SetupAttemptSetupError'Source'Customer'Text Data.Text.Internal.Text
  | SetupAttemptSetupError'Source'Customer'Customer Customer
  | SetupAttemptSetupError'Source'Customer'DeletedCustomer DeletedCustomer
  deriving (Int -> SetupAttemptSetupError'Source'Customer'Variants -> ShowS
[SetupAttemptSetupError'Source'Customer'Variants] -> ShowS
SetupAttemptSetupError'Source'Customer'Variants -> String
(Int -> SetupAttemptSetupError'Source'Customer'Variants -> ShowS)
-> (SetupAttemptSetupError'Source'Customer'Variants -> String)
-> ([SetupAttemptSetupError'Source'Customer'Variants] -> ShowS)
-> Show SetupAttemptSetupError'Source'Customer'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'Customer'Variants] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'Customer'Variants] -> ShowS
show :: SetupAttemptSetupError'Source'Customer'Variants -> String
$cshow :: SetupAttemptSetupError'Source'Customer'Variants -> String
showsPrec :: Int -> SetupAttemptSetupError'Source'Customer'Variants -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Source'Customer'Variants -> ShowS
GHC.Show.Show, SetupAttemptSetupError'Source'Customer'Variants
-> SetupAttemptSetupError'Source'Customer'Variants -> Bool
(SetupAttemptSetupError'Source'Customer'Variants
 -> SetupAttemptSetupError'Source'Customer'Variants -> Bool)
-> (SetupAttemptSetupError'Source'Customer'Variants
    -> SetupAttemptSetupError'Source'Customer'Variants -> Bool)
-> Eq SetupAttemptSetupError'Source'Customer'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'Customer'Variants
-> SetupAttemptSetupError'Source'Customer'Variants -> Bool
$c/= :: SetupAttemptSetupError'Source'Customer'Variants
-> SetupAttemptSetupError'Source'Customer'Variants -> Bool
== :: SetupAttemptSetupError'Source'Customer'Variants
-> SetupAttemptSetupError'Source'Customer'Variants -> Bool
$c== :: SetupAttemptSetupError'Source'Customer'Variants
-> SetupAttemptSetupError'Source'Customer'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttemptSetupError'Source'Customer'Variants where
  toJSON :: SetupAttemptSetupError'Source'Customer'Variants -> Value
toJSON (SetupAttemptSetupError'Source'Customer'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (SetupAttemptSetupError'Source'Customer'Customer Customer
a) = Customer -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Customer
a
  toJSON (SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Customer'Variants where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Source'Customer'Variants
parseJSON Value
val = case (Text -> SetupAttemptSetupError'Source'Customer'Variants
SetupAttemptSetupError'Source'Customer'Text (Text -> SetupAttemptSetupError'Source'Customer'Variants)
-> Result Text
-> Result SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Customer'Variants
-> Result SetupAttemptSetupError'Source'Customer'Variants
-> Result SetupAttemptSetupError'Source'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Customer -> SetupAttemptSetupError'Source'Customer'Variants
SetupAttemptSetupError'Source'Customer'Customer (Customer -> SetupAttemptSetupError'Source'Customer'Variants)
-> Result Customer
-> Result SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Customer'Variants
-> Result SetupAttemptSetupError'Source'Customer'Variants
-> Result SetupAttemptSetupError'Source'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((DeletedCustomer -> SetupAttemptSetupError'Source'Customer'Variants
SetupAttemptSetupError'Source'Customer'DeletedCustomer (DeletedCustomer
 -> SetupAttemptSetupError'Source'Customer'Variants)
-> Result DeletedCustomer
-> Result SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Customer'Variants
-> Result SetupAttemptSetupError'Source'Customer'Variants
-> Result SetupAttemptSetupError'Source'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SetupAttemptSetupError'Source'Customer'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched")) of
    Data.Aeson.Types.Internal.Success SetupAttemptSetupError'Source'Customer'Variants
a -> SetupAttemptSetupError'Source'Customer'Variants
-> Parser SetupAttemptSetupError'Source'Customer'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SetupAttemptSetupError'Source'Customer'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser SetupAttemptSetupError'Source'Customer'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.properties.source.anyOf.properties.object@ in the specification.
--
-- String representing the object\'s type. Objects of the same type share the same value.
data SetupAttemptSetupError'Source'Object'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    SetupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source'Object'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"bank_account"@
    SetupAttemptSetupError'Source'Object'EnumBankAccount
  deriving (Int -> SetupAttemptSetupError'Source'Object' -> ShowS
[SetupAttemptSetupError'Source'Object'] -> ShowS
SetupAttemptSetupError'Source'Object' -> String
(Int -> SetupAttemptSetupError'Source'Object' -> ShowS)
-> (SetupAttemptSetupError'Source'Object' -> String)
-> ([SetupAttemptSetupError'Source'Object'] -> ShowS)
-> Show SetupAttemptSetupError'Source'Object'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'Object'] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'Object'] -> ShowS
show :: SetupAttemptSetupError'Source'Object' -> String
$cshow :: SetupAttemptSetupError'Source'Object' -> String
showsPrec :: Int -> SetupAttemptSetupError'Source'Object' -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Source'Object' -> ShowS
GHC.Show.Show, SetupAttemptSetupError'Source'Object'
-> SetupAttemptSetupError'Source'Object' -> Bool
(SetupAttemptSetupError'Source'Object'
 -> SetupAttemptSetupError'Source'Object' -> Bool)
-> (SetupAttemptSetupError'Source'Object'
    -> SetupAttemptSetupError'Source'Object' -> Bool)
-> Eq SetupAttemptSetupError'Source'Object'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'Object'
-> SetupAttemptSetupError'Source'Object' -> Bool
$c/= :: SetupAttemptSetupError'Source'Object'
-> SetupAttemptSetupError'Source'Object' -> Bool
== :: SetupAttemptSetupError'Source'Object'
-> SetupAttemptSetupError'Source'Object' -> Bool
$c== :: SetupAttemptSetupError'Source'Object'
-> SetupAttemptSetupError'Source'Object' -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError'Source'Object' where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Source'Object'
parseJSON Value
val =
    SetupAttemptSetupError'Source'Object'
-> Parser SetupAttemptSetupError'Source'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" -> SetupAttemptSetupError'Source'Object'
SetupAttemptSetupError'Source'Object'EnumBankAccount
            | Bool
GHC.Base.otherwise -> Value -> SetupAttemptSetupError'Source'Object'
SetupAttemptSetupError'Source'Object'Other Value
val
      )

-- | Defines the object schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.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 SetupAttemptSetupError'Source'Owner' = SetupAttemptSetupError'Source'Owner'
  { -- | address: Owner\'s address.
    SetupAttemptSetupError'Source'Owner'
-> Maybe SetupAttemptSetupError'Source'Owner'Address'
setupAttemptSetupError'Source'Owner'Address :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'Owner'Address'),
    -- | email: Owner\'s email address.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name: Owner\'s full name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | phone: Owner\'s phone number (including extension).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source'Owner'
-> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
setupAttemptSetupError'Source'Owner'VerifiedAddress :: (GHC.Maybe.Maybe SetupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> SetupAttemptSetupError'Source'Owner' -> ShowS
[SetupAttemptSetupError'Source'Owner'] -> ShowS
SetupAttemptSetupError'Source'Owner' -> String
(Int -> SetupAttemptSetupError'Source'Owner' -> ShowS)
-> (SetupAttemptSetupError'Source'Owner' -> String)
-> ([SetupAttemptSetupError'Source'Owner'] -> ShowS)
-> Show SetupAttemptSetupError'Source'Owner'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'Owner'] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'Owner'] -> ShowS
show :: SetupAttemptSetupError'Source'Owner' -> String
$cshow :: SetupAttemptSetupError'Source'Owner' -> String
showsPrec :: Int -> SetupAttemptSetupError'Source'Owner' -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Source'Owner' -> ShowS
GHC.Show.Show,
      SetupAttemptSetupError'Source'Owner'
-> SetupAttemptSetupError'Source'Owner' -> Bool
(SetupAttemptSetupError'Source'Owner'
 -> SetupAttemptSetupError'Source'Owner' -> Bool)
-> (SetupAttemptSetupError'Source'Owner'
    -> SetupAttemptSetupError'Source'Owner' -> Bool)
-> Eq SetupAttemptSetupError'Source'Owner'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'Owner'
-> SetupAttemptSetupError'Source'Owner' -> Bool
$c/= :: SetupAttemptSetupError'Source'Owner'
-> SetupAttemptSetupError'Source'Owner' -> Bool
== :: SetupAttemptSetupError'Source'Owner'
-> SetupAttemptSetupError'Source'Owner' -> Bool
$c== :: SetupAttemptSetupError'Source'Owner'
-> SetupAttemptSetupError'Source'Owner' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttemptSetupError'Source'Owner' where
  toJSON :: SetupAttemptSetupError'Source'Owner' -> Value
toJSON SetupAttemptSetupError'Source'Owner'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text -> Maybe SetupAttemptSetupError'Source'Owner'Address' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'Owner'
-> Maybe SetupAttemptSetupError'Source'Owner'Address'
setupAttemptSetupError'Source'Owner'Address SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'Email SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'Name SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'Phone SetupAttemptSetupError'Source'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"verified_address" Text
-> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'Owner'
-> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
setupAttemptSetupError'Source'Owner'VerifiedAddress SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedEmail SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedName SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedPhone SetupAttemptSetupError'Source'Owner'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SetupAttemptSetupError'Source'Owner' -> Encoding
toEncoding SetupAttemptSetupError'Source'Owner'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text
-> Maybe SetupAttemptSetupError'Source'Owner'Address' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'Owner'
-> Maybe SetupAttemptSetupError'Source'Owner'Address'
setupAttemptSetupError'Source'Owner'Address SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'Email SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'Name SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'Phone SetupAttemptSetupError'Source'Owner'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"verified_address" Text
-> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SetupAttemptSetupError'Source'Owner'
-> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
setupAttemptSetupError'Source'Owner'VerifiedAddress SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedEmail SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedName SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedPhone SetupAttemptSetupError'Source'Owner'
obj))))))))

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError'Source'Owner' where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Source'Owner'
parseJSON = String
-> (Object -> Parser SetupAttemptSetupError'Source'Owner')
-> Value
-> Parser SetupAttemptSetupError'Source'Owner'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SetupAttemptSetupError'Source'Owner'" (\Object
obj -> ((((((((Maybe SetupAttemptSetupError'Source'Owner'Address'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> SetupAttemptSetupError'Source'Owner')
-> Parser
     (Maybe SetupAttemptSetupError'Source'Owner'Address'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'Owner')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe SetupAttemptSetupError'Source'Owner'Address'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SetupAttemptSetupError'Source'Owner'
SetupAttemptSetupError'Source'Owner' Parser
  (Maybe SetupAttemptSetupError'Source'Owner'Address'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SetupAttemptSetupError'Source'Owner')
-> Parser (Maybe SetupAttemptSetupError'Source'Owner'Address')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SetupAttemptSetupError'Source'Owner')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SetupAttemptSetupError'Source'Owner')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SetupAttemptSetupError'Source'Owner')
-> Parser (Maybe Text)
-> Parser
     (Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Owner'VerifiedAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SetupAttemptSetupError'Source'Owner')
-> Parser
     (Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'Owner')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> Maybe Text -> SetupAttemptSetupError'Source'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 -> SetupAttemptSetupError'Source'Owner')
-> Parser (Maybe Text)
-> Parser (Maybe Text -> SetupAttemptSetupError'Source'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 -> SetupAttemptSetupError'Source'Owner')
-> Parser (Maybe Text)
-> Parser SetupAttemptSetupError'Source'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 'SetupAttemptSetupError'Source'Owner'' with all required fields.
mkSetupAttemptSetupError'Source'Owner' :: SetupAttemptSetupError'Source'Owner'
mkSetupAttemptSetupError'Source'Owner' :: SetupAttemptSetupError'Source'Owner'
mkSetupAttemptSetupError'Source'Owner' =
  SetupAttemptSetupError'Source'Owner' :: Maybe SetupAttemptSetupError'Source'Owner'Address'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SetupAttemptSetupError'Source'Owner'
SetupAttemptSetupError'Source'Owner'
    { setupAttemptSetupError'Source'Owner'Address :: Maybe SetupAttemptSetupError'Source'Owner'Address'
setupAttemptSetupError'Source'Owner'Address = Maybe SetupAttemptSetupError'Source'Owner'Address'
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'Email :: Maybe Text
setupAttemptSetupError'Source'Owner'Email = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'Name :: Maybe Text
setupAttemptSetupError'Source'Owner'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'Phone :: Maybe Text
setupAttemptSetupError'Source'Owner'Phone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedAddress :: Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
setupAttemptSetupError'Source'Owner'VerifiedAddress = Maybe SetupAttemptSetupError'Source'Owner'VerifiedAddress'
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedEmail :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedName :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedPhone :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedPhone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.properties.source.anyOf.properties.owner.anyOf.properties.address.anyOf@ in the specification.
--
-- Owner\\\'s address.
data SetupAttemptSetupError'Source'Owner'Address' = SetupAttemptSetupError'Source'Owner'Address'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> SetupAttemptSetupError'Source'Owner'Address' -> ShowS
[SetupAttemptSetupError'Source'Owner'Address'] -> ShowS
SetupAttemptSetupError'Source'Owner'Address' -> String
(Int -> SetupAttemptSetupError'Source'Owner'Address' -> ShowS)
-> (SetupAttemptSetupError'Source'Owner'Address' -> String)
-> ([SetupAttemptSetupError'Source'Owner'Address'] -> ShowS)
-> Show SetupAttemptSetupError'Source'Owner'Address'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'Owner'Address'] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'Owner'Address'] -> ShowS
show :: SetupAttemptSetupError'Source'Owner'Address' -> String
$cshow :: SetupAttemptSetupError'Source'Owner'Address' -> String
showsPrec :: Int -> SetupAttemptSetupError'Source'Owner'Address' -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Source'Owner'Address' -> ShowS
GHC.Show.Show,
      SetupAttemptSetupError'Source'Owner'Address'
-> SetupAttemptSetupError'Source'Owner'Address' -> Bool
(SetupAttemptSetupError'Source'Owner'Address'
 -> SetupAttemptSetupError'Source'Owner'Address' -> Bool)
-> (SetupAttemptSetupError'Source'Owner'Address'
    -> SetupAttemptSetupError'Source'Owner'Address' -> Bool)
-> Eq SetupAttemptSetupError'Source'Owner'Address'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'Owner'Address'
-> SetupAttemptSetupError'Source'Owner'Address' -> Bool
$c/= :: SetupAttemptSetupError'Source'Owner'Address'
-> SetupAttemptSetupError'Source'Owner'Address' -> Bool
== :: SetupAttemptSetupError'Source'Owner'Address'
-> SetupAttemptSetupError'Source'Owner'Address' -> Bool
$c== :: SetupAttemptSetupError'Source'Owner'Address'
-> SetupAttemptSetupError'Source'Owner'Address' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttemptSetupError'Source'Owner'Address' where
  toJSON :: SetupAttemptSetupError'Source'Owner'Address' -> Value
toJSON SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'City SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'Country SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'Line1 SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'Line2 SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'PostalCode SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'State SetupAttemptSetupError'Source'Owner'Address'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SetupAttemptSetupError'Source'Owner'Address' -> Encoding
toEncoding SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'City SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'Country SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'Line1 SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'Line2 SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'PostalCode SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'Address' -> Maybe Text
setupAttemptSetupError'Source'Owner'Address'State SetupAttemptSetupError'Source'Owner'Address'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError'Source'Owner'Address' where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Source'Owner'Address'
parseJSON = String
-> (Object -> Parser SetupAttemptSetupError'Source'Owner'Address')
-> Value
-> Parser SetupAttemptSetupError'Source'Owner'Address'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SetupAttemptSetupError'Source'Owner'Address'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> SetupAttemptSetupError'Source'Owner'Address')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
-> SetupAttemptSetupError'Source'Owner'Address'
SetupAttemptSetupError'Source'Owner'Address' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SetupAttemptSetupError'Source'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> SetupAttemptSetupError'Source'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 -> SetupAttemptSetupError'Source'Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> SetupAttemptSetupError'Source'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 -> SetupAttemptSetupError'Source'Owner'Address')
-> Parser (Maybe Text)
-> Parser SetupAttemptSetupError'Source'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 'SetupAttemptSetupError'Source'Owner'Address'' with all required fields.
mkSetupAttemptSetupError'Source'Owner'Address' :: SetupAttemptSetupError'Source'Owner'Address'
mkSetupAttemptSetupError'Source'Owner'Address' :: SetupAttemptSetupError'Source'Owner'Address'
mkSetupAttemptSetupError'Source'Owner'Address' =
  SetupAttemptSetupError'Source'Owner'Address' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SetupAttemptSetupError'Source'Owner'Address'
SetupAttemptSetupError'Source'Owner'Address'
    { setupAttemptSetupError'Source'Owner'Address'City :: Maybe Text
setupAttemptSetupError'Source'Owner'Address'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'Address'Country :: Maybe Text
setupAttemptSetupError'Source'Owner'Address'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'Address'Line1 :: Maybe Text
setupAttemptSetupError'Source'Owner'Address'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'Address'Line2 :: Maybe Text
setupAttemptSetupError'Source'Owner'Address'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'Address'PostalCode :: Maybe Text
setupAttemptSetupError'Source'Owner'Address'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'Address'State :: Maybe Text
setupAttemptSetupError'Source'Owner'Address'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.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 SetupAttemptSetupError'Source'Owner'VerifiedAddress' = SetupAttemptSetupError'Source'Owner'VerifiedAddress'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'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
    SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> ShowS
[SetupAttemptSetupError'Source'Owner'VerifiedAddress'] -> ShowS
SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> String
(Int
 -> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> ShowS)
-> (SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> String)
-> ([SetupAttemptSetupError'Source'Owner'VerifiedAddress']
    -> ShowS)
-> Show SetupAttemptSetupError'Source'Owner'VerifiedAddress'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'Owner'VerifiedAddress'] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'Owner'VerifiedAddress'] -> ShowS
show :: SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> String
$cshow :: SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> String
showsPrec :: Int
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> ShowS
$cshowsPrec :: Int
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> ShowS
GHC.Show.Show,
      SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Bool
(SetupAttemptSetupError'Source'Owner'VerifiedAddress'
 -> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Bool)
-> (SetupAttemptSetupError'Source'Owner'VerifiedAddress'
    -> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Bool)
-> Eq SetupAttemptSetupError'Source'Owner'VerifiedAddress'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Bool
$c/= :: SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Bool
== :: SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Bool
$c== :: SetupAttemptSetupError'Source'Owner'VerifiedAddress'
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttemptSetupError'Source'Owner'VerifiedAddress' where
  toJSON :: SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Value
toJSON SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'City SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Country SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Line1 SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Line2 SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'PostalCode SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'State SetupAttemptSetupError'Source'Owner'VerifiedAddress'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Encoding
toEncoding SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'City SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Country SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Line1 SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Line2 SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'PostalCode SetupAttemptSetupError'Source'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..= SetupAttemptSetupError'Source'Owner'VerifiedAddress' -> Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'State SetupAttemptSetupError'Source'Owner'VerifiedAddress'
obj))))))

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError'Source'Owner'VerifiedAddress' where
  parseJSON :: Value
-> Parser SetupAttemptSetupError'Source'Owner'VerifiedAddress'
parseJSON = String
-> (Object
    -> Parser SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Value
-> Parser SetupAttemptSetupError'Source'Owner'VerifiedAddress'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SetupAttemptSetupError'Source'Owner'VerifiedAddress'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress'
SetupAttemptSetupError'Source'Owner'VerifiedAddress' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> SetupAttemptSetupError'Source'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
   -> SetupAttemptSetupError'Source'Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser SetupAttemptSetupError'Source'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 'SetupAttemptSetupError'Source'Owner'VerifiedAddress'' with all required fields.
mkSetupAttemptSetupError'Source'Owner'VerifiedAddress' :: SetupAttemptSetupError'Source'Owner'VerifiedAddress'
mkSetupAttemptSetupError'Source'Owner'VerifiedAddress' :: SetupAttemptSetupError'Source'Owner'VerifiedAddress'
mkSetupAttemptSetupError'Source'Owner'VerifiedAddress' =
  SetupAttemptSetupError'Source'Owner'VerifiedAddress' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> SetupAttemptSetupError'Source'Owner'VerifiedAddress'
SetupAttemptSetupError'Source'Owner'VerifiedAddress'
    { setupAttemptSetupError'Source'Owner'VerifiedAddress'City :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedAddress'Country :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedAddress'Line1 :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedAddress'Line2 :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedAddress'PostalCode :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      setupAttemptSetupError'Source'Owner'VerifiedAddress'State :: Maybe Text
setupAttemptSetupError'Source'Owner'VerifiedAddress'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.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 SetupAttemptSetupError'Source'Recipient'Variants
  = SetupAttemptSetupError'Source'Recipient'Text Data.Text.Internal.Text
  | SetupAttemptSetupError'Source'Recipient'Recipient Recipient
  deriving (Int -> SetupAttemptSetupError'Source'Recipient'Variants -> ShowS
[SetupAttemptSetupError'Source'Recipient'Variants] -> ShowS
SetupAttemptSetupError'Source'Recipient'Variants -> String
(Int -> SetupAttemptSetupError'Source'Recipient'Variants -> ShowS)
-> (SetupAttemptSetupError'Source'Recipient'Variants -> String)
-> ([SetupAttemptSetupError'Source'Recipient'Variants] -> ShowS)
-> Show SetupAttemptSetupError'Source'Recipient'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'Recipient'Variants] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'Recipient'Variants] -> ShowS
show :: SetupAttemptSetupError'Source'Recipient'Variants -> String
$cshow :: SetupAttemptSetupError'Source'Recipient'Variants -> String
showsPrec :: Int -> SetupAttemptSetupError'Source'Recipient'Variants -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Source'Recipient'Variants -> ShowS
GHC.Show.Show, SetupAttemptSetupError'Source'Recipient'Variants
-> SetupAttemptSetupError'Source'Recipient'Variants -> Bool
(SetupAttemptSetupError'Source'Recipient'Variants
 -> SetupAttemptSetupError'Source'Recipient'Variants -> Bool)
-> (SetupAttemptSetupError'Source'Recipient'Variants
    -> SetupAttemptSetupError'Source'Recipient'Variants -> Bool)
-> Eq SetupAttemptSetupError'Source'Recipient'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'Recipient'Variants
-> SetupAttemptSetupError'Source'Recipient'Variants -> Bool
$c/= :: SetupAttemptSetupError'Source'Recipient'Variants
-> SetupAttemptSetupError'Source'Recipient'Variants -> Bool
== :: SetupAttemptSetupError'Source'Recipient'Variants
-> SetupAttemptSetupError'Source'Recipient'Variants -> Bool
$c== :: SetupAttemptSetupError'Source'Recipient'Variants
-> SetupAttemptSetupError'Source'Recipient'Variants -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON SetupAttemptSetupError'Source'Recipient'Variants where
  toJSON :: SetupAttemptSetupError'Source'Recipient'Variants -> Value
toJSON (SetupAttemptSetupError'Source'Recipient'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Recipient'Variants where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Source'Recipient'Variants
parseJSON Value
val = case (Text -> SetupAttemptSetupError'Source'Recipient'Variants
SetupAttemptSetupError'Source'Recipient'Text (Text -> SetupAttemptSetupError'Source'Recipient'Variants)
-> Result Text
-> Result SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Recipient'Variants
-> Result SetupAttemptSetupError'Source'Recipient'Variants
-> Result SetupAttemptSetupError'Source'Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Recipient -> SetupAttemptSetupError'Source'Recipient'Variants
SetupAttemptSetupError'Source'Recipient'Recipient (Recipient -> SetupAttemptSetupError'Source'Recipient'Variants)
-> Result Recipient
-> Result SetupAttemptSetupError'Source'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 SetupAttemptSetupError'Source'Recipient'Variants
-> Result SetupAttemptSetupError'Source'Recipient'Variants
-> Result SetupAttemptSetupError'Source'Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SetupAttemptSetupError'Source'Recipient'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success SetupAttemptSetupError'Source'Recipient'Variants
a -> SetupAttemptSetupError'Source'Recipient'Variants
-> Parser SetupAttemptSetupError'Source'Recipient'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SetupAttemptSetupError'Source'Recipient'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser SetupAttemptSetupError'Source'Recipient'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a

-- | Defines the enum schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.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 SetupAttemptSetupError'Source'Type'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    SetupAttemptSetupError'Source'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.
    SetupAttemptSetupError'Source'Type'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"ach_credit_transfer"@
    SetupAttemptSetupError'Source'Type'EnumAchCreditTransfer
  | -- | Represents the JSON value @"ach_debit"@
    SetupAttemptSetupError'Source'Type'EnumAchDebit
  | -- | Represents the JSON value @"acss_debit"@
    SetupAttemptSetupError'Source'Type'EnumAcssDebit
  | -- | Represents the JSON value @"alipay"@
    SetupAttemptSetupError'Source'Type'EnumAlipay
  | -- | Represents the JSON value @"au_becs_debit"@
    SetupAttemptSetupError'Source'Type'EnumAuBecsDebit
  | -- | Represents the JSON value @"bancontact"@
    SetupAttemptSetupError'Source'Type'EnumBancontact
  | -- | Represents the JSON value @"card"@
    SetupAttemptSetupError'Source'Type'EnumCard
  | -- | Represents the JSON value @"card_present"@
    SetupAttemptSetupError'Source'Type'EnumCardPresent
  | -- | Represents the JSON value @"eps"@
    SetupAttemptSetupError'Source'Type'EnumEps
  | -- | Represents the JSON value @"giropay"@
    SetupAttemptSetupError'Source'Type'EnumGiropay
  | -- | Represents the JSON value @"ideal"@
    SetupAttemptSetupError'Source'Type'EnumIdeal
  | -- | Represents the JSON value @"klarna"@
    SetupAttemptSetupError'Source'Type'EnumKlarna
  | -- | Represents the JSON value @"multibanco"@
    SetupAttemptSetupError'Source'Type'EnumMultibanco
  | -- | Represents the JSON value @"p24"@
    SetupAttemptSetupError'Source'Type'EnumP24
  | -- | Represents the JSON value @"sepa_debit"@
    SetupAttemptSetupError'Source'Type'EnumSepaDebit
  | -- | Represents the JSON value @"sofort"@
    SetupAttemptSetupError'Source'Type'EnumSofort
  | -- | Represents the JSON value @"three_d_secure"@
    SetupAttemptSetupError'Source'Type'EnumThreeDSecure
  | -- | Represents the JSON value @"wechat"@
    SetupAttemptSetupError'Source'Type'EnumWechat
  deriving (Int -> SetupAttemptSetupError'Source'Type' -> ShowS
[SetupAttemptSetupError'Source'Type'] -> ShowS
SetupAttemptSetupError'Source'Type' -> String
(Int -> SetupAttemptSetupError'Source'Type' -> ShowS)
-> (SetupAttemptSetupError'Source'Type' -> String)
-> ([SetupAttemptSetupError'Source'Type'] -> ShowS)
-> Show SetupAttemptSetupError'Source'Type'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Source'Type'] -> ShowS
$cshowList :: [SetupAttemptSetupError'Source'Type'] -> ShowS
show :: SetupAttemptSetupError'Source'Type' -> String
$cshow :: SetupAttemptSetupError'Source'Type' -> String
showsPrec :: Int -> SetupAttemptSetupError'Source'Type' -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Source'Type' -> ShowS
GHC.Show.Show, SetupAttemptSetupError'Source'Type'
-> SetupAttemptSetupError'Source'Type' -> Bool
(SetupAttemptSetupError'Source'Type'
 -> SetupAttemptSetupError'Source'Type' -> Bool)
-> (SetupAttemptSetupError'Source'Type'
    -> SetupAttemptSetupError'Source'Type' -> Bool)
-> Eq SetupAttemptSetupError'Source'Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Source'Type'
-> SetupAttemptSetupError'Source'Type' -> Bool
$c/= :: SetupAttemptSetupError'Source'Type'
-> SetupAttemptSetupError'Source'Type' -> Bool
== :: SetupAttemptSetupError'Source'Type'
-> SetupAttemptSetupError'Source'Type' -> Bool
$c== :: SetupAttemptSetupError'Source'Type'
-> SetupAttemptSetupError'Source'Type' -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError'Source'Type' where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Source'Type'
parseJSON Value
val =
    SetupAttemptSetupError'Source'Type'
-> Parser SetupAttemptSetupError'Source'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" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumAchCreditTransfer
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ach_debit" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumAchDebit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"acss_debit" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumAcssDebit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"alipay" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumAlipay
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"au_becs_debit" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumAuBecsDebit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"bancontact" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumBancontact
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumCard
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card_present" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumCardPresent
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"eps" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumEps
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"giropay" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumGiropay
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"ideal" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumIdeal
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"klarna" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumKlarna
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"multibanco" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumMultibanco
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"p24" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumP24
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sepa_debit" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumSepaDebit
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"sofort" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumSofort
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"three_d_secure" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumThreeDSecure
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"wechat" -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'EnumWechat
            | Bool
GHC.Base.otherwise -> Value -> SetupAttemptSetupError'Source'Type'
SetupAttemptSetupError'Source'Type'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.setup_attempt.properties.setup_error.anyOf.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 SetupAttemptSetupError'Type'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    SetupAttemptSetupError'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.
    SetupAttemptSetupError'Type'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"api_connection_error"@
    SetupAttemptSetupError'Type'EnumApiConnectionError
  | -- | Represents the JSON value @"api_error"@
    SetupAttemptSetupError'Type'EnumApiError
  | -- | Represents the JSON value @"authentication_error"@
    SetupAttemptSetupError'Type'EnumAuthenticationError
  | -- | Represents the JSON value @"card_error"@
    SetupAttemptSetupError'Type'EnumCardError
  | -- | Represents the JSON value @"idempotency_error"@
    SetupAttemptSetupError'Type'EnumIdempotencyError
  | -- | Represents the JSON value @"invalid_request_error"@
    SetupAttemptSetupError'Type'EnumInvalidRequestError
  | -- | Represents the JSON value @"rate_limit_error"@
    SetupAttemptSetupError'Type'EnumRateLimitError
  deriving (Int -> SetupAttemptSetupError'Type' -> ShowS
[SetupAttemptSetupError'Type'] -> ShowS
SetupAttemptSetupError'Type' -> String
(Int -> SetupAttemptSetupError'Type' -> ShowS)
-> (SetupAttemptSetupError'Type' -> String)
-> ([SetupAttemptSetupError'Type'] -> ShowS)
-> Show SetupAttemptSetupError'Type'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupError'Type'] -> ShowS
$cshowList :: [SetupAttemptSetupError'Type'] -> ShowS
show :: SetupAttemptSetupError'Type' -> String
$cshow :: SetupAttemptSetupError'Type' -> String
showsPrec :: Int -> SetupAttemptSetupError'Type' -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupError'Type' -> ShowS
GHC.Show.Show, SetupAttemptSetupError'Type'
-> SetupAttemptSetupError'Type' -> Bool
(SetupAttemptSetupError'Type'
 -> SetupAttemptSetupError'Type' -> Bool)
-> (SetupAttemptSetupError'Type'
    -> SetupAttemptSetupError'Type' -> Bool)
-> Eq SetupAttemptSetupError'Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupError'Type'
-> SetupAttemptSetupError'Type' -> Bool
$c/= :: SetupAttemptSetupError'Type'
-> SetupAttemptSetupError'Type' -> Bool
== :: SetupAttemptSetupError'Type'
-> SetupAttemptSetupError'Type' -> Bool
$c== :: SetupAttemptSetupError'Type'
-> SetupAttemptSetupError'Type' -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupError'Type' where
  parseJSON :: Value -> Parser SetupAttemptSetupError'Type'
parseJSON Value
val =
    SetupAttemptSetupError'Type' -> Parser SetupAttemptSetupError'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
"api_connection_error" -> SetupAttemptSetupError'Type'
SetupAttemptSetupError'Type'EnumApiConnectionError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"api_error" -> SetupAttemptSetupError'Type'
SetupAttemptSetupError'Type'EnumApiError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"authentication_error" -> SetupAttemptSetupError'Type'
SetupAttemptSetupError'Type'EnumAuthenticationError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"card_error" -> SetupAttemptSetupError'Type'
SetupAttemptSetupError'Type'EnumCardError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"idempotency_error" -> SetupAttemptSetupError'Type'
SetupAttemptSetupError'Type'EnumIdempotencyError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"invalid_request_error" -> SetupAttemptSetupError'Type'
SetupAttemptSetupError'Type'EnumInvalidRequestError
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"rate_limit_error" -> SetupAttemptSetupError'Type'
SetupAttemptSetupError'Type'EnumRateLimitError
            | Bool
GHC.Base.otherwise -> Value -> SetupAttemptSetupError'Type'
SetupAttemptSetupError'Type'Other Value
val
      )

-- | Defines the oneOf schema located at @components.schemas.setup_attempt.properties.setup_intent.anyOf@ in the specification.
--
-- ID of the SetupIntent that this attempt belongs to.
data SetupAttemptSetupIntent'Variants
  = SetupAttemptSetupIntent'Text Data.Text.Internal.Text
  | SetupAttemptSetupIntent'SetupIntent SetupIntent
  deriving (Int -> SetupAttemptSetupIntent'Variants -> ShowS
[SetupAttemptSetupIntent'Variants] -> ShowS
SetupAttemptSetupIntent'Variants -> String
(Int -> SetupAttemptSetupIntent'Variants -> ShowS)
-> (SetupAttemptSetupIntent'Variants -> String)
-> ([SetupAttemptSetupIntent'Variants] -> ShowS)
-> Show SetupAttemptSetupIntent'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SetupAttemptSetupIntent'Variants] -> ShowS
$cshowList :: [SetupAttemptSetupIntent'Variants] -> ShowS
show :: SetupAttemptSetupIntent'Variants -> String
$cshow :: SetupAttemptSetupIntent'Variants -> String
showsPrec :: Int -> SetupAttemptSetupIntent'Variants -> ShowS
$cshowsPrec :: Int -> SetupAttemptSetupIntent'Variants -> ShowS
GHC.Show.Show, SetupAttemptSetupIntent'Variants
-> SetupAttemptSetupIntent'Variants -> Bool
(SetupAttemptSetupIntent'Variants
 -> SetupAttemptSetupIntent'Variants -> Bool)
-> (SetupAttemptSetupIntent'Variants
    -> SetupAttemptSetupIntent'Variants -> Bool)
-> Eq SetupAttemptSetupIntent'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SetupAttemptSetupIntent'Variants
-> SetupAttemptSetupIntent'Variants -> Bool
$c/= :: SetupAttemptSetupIntent'Variants
-> SetupAttemptSetupIntent'Variants -> Bool
== :: SetupAttemptSetupIntent'Variants
-> SetupAttemptSetupIntent'Variants -> Bool
$c== :: SetupAttemptSetupIntent'Variants
-> SetupAttemptSetupIntent'Variants -> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON SetupAttemptSetupIntent'Variants where
  parseJSON :: Value -> Parser SetupAttemptSetupIntent'Variants
parseJSON Value
val = case (Text -> SetupAttemptSetupIntent'Variants
SetupAttemptSetupIntent'Text (Text -> SetupAttemptSetupIntent'Variants)
-> Result Text -> Result SetupAttemptSetupIntent'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 SetupAttemptSetupIntent'Variants
-> Result SetupAttemptSetupIntent'Variants
-> Result SetupAttemptSetupIntent'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((SetupIntent -> SetupAttemptSetupIntent'Variants
SetupAttemptSetupIntent'SetupIntent (SetupIntent -> SetupAttemptSetupIntent'Variants)
-> Result SetupIntent -> Result SetupAttemptSetupIntent'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result SetupIntent
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result SetupAttemptSetupIntent'Variants
-> Result SetupAttemptSetupIntent'Variants
-> Result SetupAttemptSetupIntent'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result SetupAttemptSetupIntent'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success SetupAttemptSetupIntent'Variants
a -> SetupAttemptSetupIntent'Variants
-> Parser SetupAttemptSetupIntent'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure SetupAttemptSetupIntent'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String -> Parser SetupAttemptSetupIntent'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a