{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE MultiWayIf #-}
-- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator.
{-# LANGUAGE OverloadedStrings #-}

-- | Contains the different functions to run the operation deleteCustomersCustomerSourcesId
module StripeAPI.Operations.DeleteCustomersCustomerSourcesId where

import qualified Control.Monad.Fail
import qualified Control.Monad.Trans.Reader
import qualified Data.Aeson
import qualified Data.Aeson as Data.Aeson.Encoding.Internal
import qualified Data.Aeson as Data.Aeson.Types
import qualified Data.Aeson as Data.Aeson.Types.FromJSON
import qualified Data.Aeson as Data.Aeson.Types.Internal
import qualified Data.Aeson as Data.Aeson.Types.ToJSON
import qualified Data.ByteString.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
import qualified Data.Either
import qualified Data.Functor
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text.Internal
import qualified Data.Time.Calendar as Data.Time.Calendar.Days
import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
import qualified Data.Vector
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified Network.HTTP.Client
import qualified Network.HTTP.Client as Network.HTTP.Client.Request
import qualified Network.HTTP.Client as Network.HTTP.Client.Types
import qualified Network.HTTP.Simple
import qualified Network.HTTP.Types
import qualified Network.HTTP.Types as Network.HTTP.Types.Status
import qualified Network.HTTP.Types as Network.HTTP.Types.URI
import qualified StripeAPI.Common
import StripeAPI.Types
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | > DELETE /v1/customers/{customer}/sources/{id}
--
-- \<p>Delete a specified source for a given customer.\<\/p>
deleteCustomersCustomerSourcesId ::
  forall m.
  StripeAPI.Common.MonadHTTP m =>
  -- | Contains all available parameters of this operation (query and path parameters)
  DeleteCustomersCustomerSourcesIdParameters ->
  -- | The request body to send
  GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdRequestBody ->
  -- | Monadic computation which returns the result of the operation
  StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response DeleteCustomersCustomerSourcesIdResponse)
deleteCustomersCustomerSourcesId :: DeleteCustomersCustomerSourcesIdParameters
-> Maybe DeleteCustomersCustomerSourcesIdRequestBody
-> ClientT m (Response DeleteCustomersCustomerSourcesIdResponse)
deleteCustomersCustomerSourcesId
  DeleteCustomersCustomerSourcesIdParameters
parameters
  Maybe DeleteCustomersCustomerSourcesIdRequestBody
body =
    (Response ByteString
 -> Response DeleteCustomersCustomerSourcesIdResponse)
-> ClientT m (Response ByteString)
-> ClientT m (Response DeleteCustomersCustomerSourcesIdResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
      ( \Response ByteString
response_0 ->
          (ByteString -> DeleteCustomersCustomerSourcesIdResponse)
-> Response ByteString
-> Response DeleteCustomersCustomerSourcesIdResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
            ( (String -> DeleteCustomersCustomerSourcesIdResponse)
-> (DeleteCustomersCustomerSourcesIdResponse
    -> DeleteCustomersCustomerSourcesIdResponse)
-> Either String DeleteCustomersCustomerSourcesIdResponse
-> DeleteCustomersCustomerSourcesIdResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> DeleteCustomersCustomerSourcesIdResponse
DeleteCustomersCustomerSourcesIdResponseError DeleteCustomersCustomerSourcesIdResponse
-> DeleteCustomersCustomerSourcesIdResponse
forall a. a -> a
GHC.Base.id
                (Either String DeleteCustomersCustomerSourcesIdResponse
 -> DeleteCustomersCustomerSourcesIdResponse)
-> (ByteString
    -> Either String DeleteCustomersCustomerSourcesIdResponse)
-> ByteString
-> DeleteCustomersCustomerSourcesIdResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. ( \Response ByteString
response ByteString
body ->
                               if
                                   | (\Status
status_1 -> Status -> Int
Network.HTTP.Types.Status.statusCode Status
status_1 Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Int
200) (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                     DeleteCustomersCustomerSourcesIdResponseBody200
-> DeleteCustomersCustomerSourcesIdResponse
DeleteCustomersCustomerSourcesIdResponse200
                                       (DeleteCustomersCustomerSourcesIdResponseBody200
 -> DeleteCustomersCustomerSourcesIdResponse)
-> Either String DeleteCustomersCustomerSourcesIdResponseBody200
-> Either String DeleteCustomersCustomerSourcesIdResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString
-> Either String DeleteCustomersCustomerSourcesIdResponseBody200
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              DeleteCustomersCustomerSourcesIdResponseBody200
                                                        )
                                   | Bool -> Status -> Bool
forall a b. a -> b -> a
GHC.Base.const Bool
GHC.Types.True (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
                                     Error -> DeleteCustomersCustomerSourcesIdResponse
DeleteCustomersCustomerSourcesIdResponseDefault
                                       (Error -> DeleteCustomersCustomerSourcesIdResponse)
-> Either String Error
-> Either String DeleteCustomersCustomerSourcesIdResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Error
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              Error
                                                        )
                                   | Bool
GHC.Base.otherwise -> String -> Either String DeleteCustomersCustomerSourcesIdResponse
forall a b. a -> Either a b
Data.Either.Left String
"Missing default response type"
                           )
                  Response ByteString
response_0
            )
            Response ByteString
response_0
      )
      (Text
-> Text
-> [QueryParameter]
-> Maybe DeleteCustomersCustomerSourcesIdRequestBody
-> RequestBodyEncoding
-> ClientT m (Response ByteString)
forall (m :: * -> *) body.
(MonadHTTP m, ToJSON body) =>
Text
-> Text
-> [QueryParameter]
-> Maybe body
-> RequestBodyEncoding
-> ClientT m (Response ByteString)
StripeAPI.Common.doBodyCallWithConfigurationM (Text -> Text
Data.Text.toUpper (Text -> Text) -> Text -> Text
forall a b. (a -> b) -> a -> b
GHC.Base.$ String -> Text
Data.Text.pack String
"DELETE") (String -> Text
Data.Text.pack (String
"/v1/customers/" String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ (ByteString -> String
Data.ByteString.Char8.unpack (Bool -> ByteString -> ByteString
Network.HTTP.Types.URI.urlEncode Bool
GHC.Types.True (ByteString -> ByteString) -> ByteString -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ (String -> ByteString
Data.ByteString.Char8.pack (String -> ByteString) -> String -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ Text -> String
forall a. StringifyModel a => a -> String
StripeAPI.Common.stringifyModel (DeleteCustomersCustomerSourcesIdParameters -> Text
deleteCustomersCustomerSourcesIdParametersPathCustomer DeleteCustomersCustomerSourcesIdParameters
parameters))) String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ (String
"/sources/" String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ (ByteString -> String
Data.ByteString.Char8.unpack (Bool -> ByteString -> ByteString
Network.HTTP.Types.URI.urlEncode Bool
GHC.Types.True (ByteString -> ByteString) -> ByteString -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ (String -> ByteString
Data.ByteString.Char8.pack (String -> ByteString) -> String -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ Text -> String
forall a. StringifyModel a => a -> String
StripeAPI.Common.stringifyModel (DeleteCustomersCustomerSourcesIdParameters -> Text
deleteCustomersCustomerSourcesIdParametersPathId DeleteCustomersCustomerSourcesIdParameters
parameters))) String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ String
""))))) [QueryParameter]
forall a. Monoid a => a
GHC.Base.mempty Maybe DeleteCustomersCustomerSourcesIdRequestBody
body RequestBodyEncoding
StripeAPI.Common.RequestBodyEncodingFormData)

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.parameters@ in the specification.
data DeleteCustomersCustomerSourcesIdParameters = DeleteCustomersCustomerSourcesIdParameters
  { -- | pathCustomer: Represents the parameter named \'customer\'
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdParameters -> Text
deleteCustomersCustomerSourcesIdParametersPathCustomer :: Data.Text.Internal.Text,
    -- | pathId: Represents the parameter named \'id\'
    DeleteCustomersCustomerSourcesIdParameters -> Text
deleteCustomersCustomerSourcesIdParametersPathId :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdParameters -> String -> String
[DeleteCustomersCustomerSourcesIdParameters] -> String -> String
DeleteCustomersCustomerSourcesIdParameters -> String
(Int
 -> DeleteCustomersCustomerSourcesIdParameters -> String -> String)
-> (DeleteCustomersCustomerSourcesIdParameters -> String)
-> ([DeleteCustomersCustomerSourcesIdParameters]
    -> String -> String)
-> Show DeleteCustomersCustomerSourcesIdParameters
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdParameters] -> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdParameters] -> String -> String
show :: DeleteCustomersCustomerSourcesIdParameters -> String
$cshow :: DeleteCustomersCustomerSourcesIdParameters -> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdParameters -> String -> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdParameters -> String -> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdParameters
-> DeleteCustomersCustomerSourcesIdParameters -> Bool
(DeleteCustomersCustomerSourcesIdParameters
 -> DeleteCustomersCustomerSourcesIdParameters -> Bool)
-> (DeleteCustomersCustomerSourcesIdParameters
    -> DeleteCustomersCustomerSourcesIdParameters -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdParameters
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdParameters
-> DeleteCustomersCustomerSourcesIdParameters -> Bool
$c/= :: DeleteCustomersCustomerSourcesIdParameters
-> DeleteCustomersCustomerSourcesIdParameters -> Bool
== :: DeleteCustomersCustomerSourcesIdParameters
-> DeleteCustomersCustomerSourcesIdParameters -> Bool
$c== :: DeleteCustomersCustomerSourcesIdParameters
-> DeleteCustomersCustomerSourcesIdParameters -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdParameters where
  toJSON :: DeleteCustomersCustomerSourcesIdParameters -> Value
toJSON DeleteCustomersCustomerSourcesIdParameters
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"pathCustomer" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdParameters -> Text
deleteCustomersCustomerSourcesIdParametersPathCustomer DeleteCustomersCustomerSourcesIdParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pathId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdParameters -> Text
deleteCustomersCustomerSourcesIdParametersPathId DeleteCustomersCustomerSourcesIdParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerSourcesIdParameters -> Encoding
toEncoding DeleteCustomersCustomerSourcesIdParameters
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"pathCustomer" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdParameters -> Text
deleteCustomersCustomerSourcesIdParametersPathCustomer DeleteCustomersCustomerSourcesIdParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"pathId" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdParameters -> Text
deleteCustomersCustomerSourcesIdParametersPathId DeleteCustomersCustomerSourcesIdParameters
obj))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdParameters where
  parseJSON :: Value -> Parser DeleteCustomersCustomerSourcesIdParameters
parseJSON = String
-> (Object -> Parser DeleteCustomersCustomerSourcesIdParameters)
-> Value
-> Parser DeleteCustomersCustomerSourcesIdParameters
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdParameters" (\Object
obj -> ((Text -> Text -> DeleteCustomersCustomerSourcesIdParameters)
-> Parser
     (Text -> Text -> DeleteCustomersCustomerSourcesIdParameters)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Text -> Text -> DeleteCustomersCustomerSourcesIdParameters
DeleteCustomersCustomerSourcesIdParameters Parser (Text -> Text -> DeleteCustomersCustomerSourcesIdParameters)
-> Parser Text
-> Parser (Text -> DeleteCustomersCustomerSourcesIdParameters)
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
"pathCustomer")) Parser (Text -> DeleteCustomersCustomerSourcesIdParameters)
-> Parser Text -> Parser DeleteCustomersCustomerSourcesIdParameters
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
"pathId"))

-- | Create a new 'DeleteCustomersCustomerSourcesIdParameters' with all required fields.
mkDeleteCustomersCustomerSourcesIdParameters ::
  -- | 'deleteCustomersCustomerSourcesIdParametersPathCustomer'
  Data.Text.Internal.Text ->
  -- | 'deleteCustomersCustomerSourcesIdParametersPathId'
  Data.Text.Internal.Text ->
  DeleteCustomersCustomerSourcesIdParameters
mkDeleteCustomersCustomerSourcesIdParameters :: Text -> Text -> DeleteCustomersCustomerSourcesIdParameters
mkDeleteCustomersCustomerSourcesIdParameters Text
deleteCustomersCustomerSourcesIdParametersPathCustomer Text
deleteCustomersCustomerSourcesIdParametersPathId =
  DeleteCustomersCustomerSourcesIdParameters :: Text -> Text -> DeleteCustomersCustomerSourcesIdParameters
DeleteCustomersCustomerSourcesIdParameters
    { deleteCustomersCustomerSourcesIdParametersPathCustomer :: Text
deleteCustomersCustomerSourcesIdParametersPathCustomer = Text
deleteCustomersCustomerSourcesIdParametersPathCustomer,
      deleteCustomersCustomerSourcesIdParametersPathId :: Text
deleteCustomersCustomerSourcesIdParametersPathId = Text
deleteCustomersCustomerSourcesIdParametersPathId
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification.
data DeleteCustomersCustomerSourcesIdRequestBody = DeleteCustomersCustomerSourcesIdRequestBody
  { -- | expand: Specifies which fields in the response should be expanded.
    DeleteCustomersCustomerSourcesIdRequestBody -> Maybe [Text]
deleteCustomersCustomerSourcesIdRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text]))
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdRequestBody -> String -> String
[DeleteCustomersCustomerSourcesIdRequestBody] -> String -> String
DeleteCustomersCustomerSourcesIdRequestBody -> String
(Int
 -> DeleteCustomersCustomerSourcesIdRequestBody -> String -> String)
-> (DeleteCustomersCustomerSourcesIdRequestBody -> String)
-> ([DeleteCustomersCustomerSourcesIdRequestBody]
    -> String -> String)
-> Show DeleteCustomersCustomerSourcesIdRequestBody
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdRequestBody] -> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdRequestBody] -> String -> String
show :: DeleteCustomersCustomerSourcesIdRequestBody -> String
$cshow :: DeleteCustomersCustomerSourcesIdRequestBody -> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdRequestBody -> String -> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdRequestBody -> String -> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdRequestBody
-> DeleteCustomersCustomerSourcesIdRequestBody -> Bool
(DeleteCustomersCustomerSourcesIdRequestBody
 -> DeleteCustomersCustomerSourcesIdRequestBody -> Bool)
-> (DeleteCustomersCustomerSourcesIdRequestBody
    -> DeleteCustomersCustomerSourcesIdRequestBody -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdRequestBody
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdRequestBody
-> DeleteCustomersCustomerSourcesIdRequestBody -> Bool
$c/= :: DeleteCustomersCustomerSourcesIdRequestBody
-> DeleteCustomersCustomerSourcesIdRequestBody -> Bool
== :: DeleteCustomersCustomerSourcesIdRequestBody
-> DeleteCustomersCustomerSourcesIdRequestBody -> Bool
$c== :: DeleteCustomersCustomerSourcesIdRequestBody
-> DeleteCustomersCustomerSourcesIdRequestBody -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdRequestBody where
  toJSON :: DeleteCustomersCustomerSourcesIdRequestBody -> Value
toJSON DeleteCustomersCustomerSourcesIdRequestBody
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"expand" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdRequestBody -> Maybe [Text]
deleteCustomersCustomerSourcesIdRequestBodyExpand DeleteCustomersCustomerSourcesIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerSourcesIdRequestBody -> Encoding
toEncoding DeleteCustomersCustomerSourcesIdRequestBody
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs (Text
"expand" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdRequestBody -> Maybe [Text]
deleteCustomersCustomerSourcesIdRequestBodyExpand DeleteCustomersCustomerSourcesIdRequestBody
obj)

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdRequestBody where
  parseJSON :: Value -> Parser DeleteCustomersCustomerSourcesIdRequestBody
parseJSON = String
-> (Object -> Parser DeleteCustomersCustomerSourcesIdRequestBody)
-> Value
-> Parser DeleteCustomersCustomerSourcesIdRequestBody
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdRequestBody" (\Object
obj -> (Maybe [Text] -> DeleteCustomersCustomerSourcesIdRequestBody)
-> Parser
     (Maybe [Text] -> DeleteCustomersCustomerSourcesIdRequestBody)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text] -> DeleteCustomersCustomerSourcesIdRequestBody
DeleteCustomersCustomerSourcesIdRequestBody Parser
  (Maybe [Text] -> DeleteCustomersCustomerSourcesIdRequestBody)
-> Parser (Maybe [Text])
-> Parser DeleteCustomersCustomerSourcesIdRequestBody
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
"expand"))

-- | Create a new 'DeleteCustomersCustomerSourcesIdRequestBody' with all required fields.
mkDeleteCustomersCustomerSourcesIdRequestBody :: DeleteCustomersCustomerSourcesIdRequestBody
mkDeleteCustomersCustomerSourcesIdRequestBody :: DeleteCustomersCustomerSourcesIdRequestBody
mkDeleteCustomersCustomerSourcesIdRequestBody = DeleteCustomersCustomerSourcesIdRequestBody :: Maybe [Text] -> DeleteCustomersCustomerSourcesIdRequestBody
DeleteCustomersCustomerSourcesIdRequestBody {deleteCustomersCustomerSourcesIdRequestBodyExpand :: Maybe [Text]
deleteCustomersCustomerSourcesIdRequestBodyExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Represents a response of the operation 'deleteCustomersCustomerSourcesId'.
--
-- The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), 'DeleteCustomersCustomerSourcesIdResponseError' is used.
data DeleteCustomersCustomerSourcesIdResponse
  = -- | Means either no matching case available or a parse error
    DeleteCustomersCustomerSourcesIdResponseError GHC.Base.String
  | -- | Successful response.
    DeleteCustomersCustomerSourcesIdResponse200 DeleteCustomersCustomerSourcesIdResponseBody200
  | -- | Error response.
    DeleteCustomersCustomerSourcesIdResponseDefault Error
  deriving (Int -> DeleteCustomersCustomerSourcesIdResponse -> String -> String
[DeleteCustomersCustomerSourcesIdResponse] -> String -> String
DeleteCustomersCustomerSourcesIdResponse -> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponse -> String -> String)
-> (DeleteCustomersCustomerSourcesIdResponse -> String)
-> ([DeleteCustomersCustomerSourcesIdResponse] -> String -> String)
-> Show DeleteCustomersCustomerSourcesIdResponse
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponse] -> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponse] -> String -> String
show :: DeleteCustomersCustomerSourcesIdResponse -> String
$cshow :: DeleteCustomersCustomerSourcesIdResponse -> String
showsPrec :: Int -> DeleteCustomersCustomerSourcesIdResponse -> String -> String
$cshowsPrec :: Int -> DeleteCustomersCustomerSourcesIdResponse -> String -> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponse
-> DeleteCustomersCustomerSourcesIdResponse -> Bool
(DeleteCustomersCustomerSourcesIdResponse
 -> DeleteCustomersCustomerSourcesIdResponse -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponse
    -> DeleteCustomersCustomerSourcesIdResponse -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponse
-> DeleteCustomersCustomerSourcesIdResponse -> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponse
-> DeleteCustomersCustomerSourcesIdResponse -> Bool
== :: DeleteCustomersCustomerSourcesIdResponse
-> DeleteCustomersCustomerSourcesIdResponse -> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponse
-> DeleteCustomersCustomerSourcesIdResponse -> Bool
GHC.Classes.Eq)

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf@ in the specification.
data DeleteCustomersCustomerSourcesIdResponseBody200 = DeleteCustomersCustomerSourcesIdResponseBody200
  { -- | account: The ID of the account that the bank account is associated with.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
deleteCustomersCustomerSourcesIdResponseBody200Account :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants),
    -- | account_holder_name: The name of the person or business that owns the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AccountHolderName :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AccountHolderType :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ach_credit_transfer
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAchCreditTransfer
deleteCustomersCustomerSourcesIdResponseBody200AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer),
    -- | ach_debit
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAchDebit
deleteCustomersCustomerSourcesIdResponseBody200AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit),
    -- | acss_debit
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAcssDebit
deleteCustomersCustomerSourcesIdResponseBody200AcssDebit :: (GHC.Maybe.Maybe SourceTypeAcssDebit),
    -- | active: True when this bitcoin receiver has received a non-zero amount of bitcoin.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Active :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | address_city: City\/District\/Suburb\/Town\/Village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressCity :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_country: Billing address country, if provided when creating card.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressCountry :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine1 :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine1Check :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_state: State\/County\/Province\/Region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressState :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_zip: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressZip :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressZipCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | alipay
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAlipay
deleteCustomersCustomerSourcesIdResponseBody200Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay),
    -- | amount: The amount of \`currency\` that you are collecting as payment.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200Amount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | amount_received: The amount of \`currency\` to which \`bitcoin_amount_received\` has been converted.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200AmountReceived :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | au_becs_debit
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAuBecsDebit
deleteCustomersCustomerSourcesIdResponseBody200AuBecsDebit :: (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.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
deleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods :: (GHC.Maybe.Maybe ([DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'])),
    -- | bancontact
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeBancontact
deleteCustomersCustomerSourcesIdResponseBody200Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact),
    -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BankName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | bitcoin_amount: The amount of bitcoin that the customer should send to fill the receiver. The \`bitcoin_amount\` is denominated in Satoshi: there are 10^8 Satoshi in one bitcoin.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | bitcoin_amount_received: The amount of bitcoin that has been sent by the customer to this receiver.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmountReceived :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | bitcoin_uri: This URI can be displayed to the customer as a clickable link (to activate their bitcoin client) or as a QR code (for mobile wallets).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BitcoinUri :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Brand :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | business_profile: Business information about the account.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'),
    -- | business_type: The business type.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
deleteCustomersCustomerSourcesIdResponseBody200BusinessType :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'),
    -- | capabilities:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountCapabilities
deleteCustomersCustomerSourcesIdResponseBody200Capabilities :: (GHC.Maybe.Maybe AccountCapabilities),
    -- | card
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeCard
deleteCustomersCustomerSourcesIdResponseBody200Card :: (GHC.Maybe.Maybe SourceTypeCard),
    -- | card_present
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeCardPresent
deleteCustomersCustomerSourcesIdResponseBody200CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent),
    -- | charges_enabled: Whether the account can create live charges.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200ChargesEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ClientSecret :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | code_verification:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceCodeVerificationFlow
deleteCustomersCustomerSourcesIdResponseBody200CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow),
    -- | company:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe LegalEntityCompany
deleteCustomersCustomerSourcesIdResponseBody200Company :: (GHC.Maybe.Maybe LegalEntityCompany),
    -- | controller:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountController
deleteCustomersCustomerSourcesIdResponseBody200Controller :: (GHC.Maybe.Maybe AccountController),
    -- | country: The account\'s country.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200Created :: (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.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer: The ID of the customer associated with this Alipay Account.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
deleteCustomersCustomerSourcesIdResponseBody200Customer :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Customer'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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200CvcCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_currency: Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account\'s country](https:\/\/stripe.com\/docs\/payouts).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200DefaultCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_for_currency: Whether this bank account is the default external account for its currency.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | description: An arbitrary string attached to the object. Often useful for displaying to users.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | details_submitted: Whether account details have been submitted. Standard accounts cannot receive payouts before this is true.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200DetailsSubmitted :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200DynamicLast4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | email: An email address associated with the account. You can treat this as metadata: it is not used for authentication or messaging account holders.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | eps
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeEps
deleteCustomersCustomerSourcesIdResponseBody200Eps :: (GHC.Maybe.Maybe SourceTypeEps),
    -- | exp_month: Two-digit number representing the card\'s expiration month.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | exp_year: Four-digit number representing the card\'s expiration year.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExpYear :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | external_accounts: External accounts (bank accounts and debit cards) currently attached to this account
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'),
    -- | filled: This flag is initially false and updates to true when the customer sends the \`bitcoin_amount\` to this receiver.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Filled :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | fingerprint: Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Fingerprint :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Flow :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Funding :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | giropay
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeGiropay
deleteCustomersCustomerSourcesIdResponseBody200Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ideal
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeIdeal
deleteCustomersCustomerSourcesIdResponseBody200Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal),
    -- | inbound_address: A bitcoin address that is specific to this receiver. The customer can send bitcoin to this address to fill the receiver.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200InboundAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | individual: This is an object representing a person associated with a Stripe account.
    --
    -- A platform cannot access a Standard or Express account\'s persons after the account starts onboarding, such as after generating an account link for the account.
    -- See the [Standard onboarding](https:\/\/stripe.com\/docs\/connect\/standard-accounts) or [Express onboarding documentation](https:\/\/stripe.com\/docs\/connect\/express-accounts) for information about platform pre-filling and account onboarding steps.
    --
    -- Related guide: [Handling Identity Verification with the API](https:\/\/stripe.com\/docs\/connect\/identity-verification-api\#person-information).
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Person
deleteCustomersCustomerSourcesIdResponseBody200Individual :: (GHC.Maybe.Maybe Person),
    -- | klarna
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeKlarna
deleteCustomersCustomerSourcesIdResponseBody200Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna),
    -- | last4: The last four digits of the bank account number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Last4 :: (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.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Livemode :: (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.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Object
deleteCustomersCustomerSourcesIdResponseBody200Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
    -- | multibanco
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeMultibanco
deleteCustomersCustomerSourcesIdResponseBody200Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco),
    -- | name: Cardholder name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | object: String representing the object\'s type. Objects of the same type share the same value.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
deleteCustomersCustomerSourcesIdResponseBody200Object :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'),
    -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
deleteCustomersCustomerSourcesIdResponseBody200Owner :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'),
    -- | p24
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeP24
deleteCustomersCustomerSourcesIdResponseBody200P24 :: (GHC.Maybe.Maybe SourceTypeP24),
    -- | payment: The ID of the payment created from the receiver, if any. Hidden when viewing the receiver with a publishable key.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Payment :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | payment_amount: If the Alipay account object is not reusable, the exact amount that you can create a charge for.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200PaymentAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | payment_currency: If the Alipay account object is not reusable, the exact currency that you can create a charge for.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200PaymentCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | payouts_enabled: Whether Stripe can send payouts to this account.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200PayoutsEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | receiver:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceReceiverFlow
deleteCustomersCustomerSourcesIdResponseBody200Receiver :: (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.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
deleteCustomersCustomerSourcesIdResponseBody200Recipient :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants),
    -- | redirect:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceRedirectFlow
deleteCustomersCustomerSourcesIdResponseBody200Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow),
    -- | refund_address: The refund address of this bitcoin receiver.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200RefundAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | requirements:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountRequirements
deleteCustomersCustomerSourcesIdResponseBody200Requirements :: (GHC.Maybe.Maybe AccountRequirements),
    -- | reusable: True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Reusable :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | routing_number: The routing transit number for the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200RoutingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | sepa_debit
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeSepaDebit
deleteCustomersCustomerSourcesIdResponseBody200SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit),
    -- | settings: Options for customizing how the account functions within Stripe.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
deleteCustomersCustomerSourcesIdResponseBody200Settings :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'),
    -- | sofort
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeSofort
deleteCustomersCustomerSourcesIdResponseBody200Sofort :: (GHC.Maybe.Maybe SourceTypeSofort),
    -- | source_order:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceOrder
deleteCustomersCustomerSourcesIdResponseBody200SourceOrder :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200StatementDescriptor :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Status :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | three_d_secure
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeThreeDSecure
deleteCustomersCustomerSourcesIdResponseBody200ThreeDSecure :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200TokenizationMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | tos_acceptance:
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountTosAcceptance
deleteCustomersCustomerSourcesIdResponseBody200TosAcceptance :: (GHC.Maybe.Maybe AccountTosAcceptance),
    -- | transactions: A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
deleteCustomersCustomerSourcesIdResponseBody200Transactions :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Transactions'),
    -- | type: The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`.
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
deleteCustomersCustomerSourcesIdResponseBody200Type :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'),
    -- | uncaptured_funds: This receiver contains uncaptured funds that can be used for a payment or refunded.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200UncapturedFunds :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | 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
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Usage :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | used: Whether this Alipay account object has ever been used for a payment.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Used :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | used_for_payment: Indicate if this source is used for payment.
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200UsedForPayment :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | username: The username for the Alipay account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Username :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | wechat
    DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeWechat
deleteCustomersCustomerSourcesIdResponseBody200Wechat :: (GHC.Maybe.Maybe SourceTypeWechat)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200]
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200 -> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200 -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200]
    -> String -> String)
-> Show DeleteCustomersCustomerSourcesIdResponseBody200
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200]
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200]
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200 -> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200 -> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200
-> DeleteCustomersCustomerSourcesIdResponseBody200 -> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200
 -> DeleteCustomersCustomerSourcesIdResponseBody200 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200
    -> DeleteCustomersCustomerSourcesIdResponseBody200 -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponseBody200
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200
-> DeleteCustomersCustomerSourcesIdResponseBody200 -> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200
-> DeleteCustomersCustomerSourcesIdResponseBody200 -> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200
-> DeleteCustomersCustomerSourcesIdResponseBody200 -> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200
-> DeleteCustomersCustomerSourcesIdResponseBody200 -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200 where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200 -> Value
toJSON DeleteCustomersCustomerSourcesIdResponseBody200
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"account" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
deleteCustomersCustomerSourcesIdResponseBody200Account DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AccountHolderName DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AccountHolderType DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAchCreditTransfer
deleteCustomersCustomerSourcesIdResponseBody200AchCreditTransfer DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAchDebit
deleteCustomersCustomerSourcesIdResponseBody200AchDebit DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAcssDebit
deleteCustomersCustomerSourcesIdResponseBody200AcssDebit DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"active" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Active DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressCity DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressCountry DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine1 DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine1Check DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine2 DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressState DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressZip DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressZipCheck DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAlipay
deleteCustomersCustomerSourcesIdResponseBody200Alipay DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200Amount DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"amount_received" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200AmountReceived DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAuBecsDebit
deleteCustomersCustomerSourcesIdResponseBody200AuBecsDebit DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"available_payout_methods" Text
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
deleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeBancontact
deleteCustomersCustomerSourcesIdResponseBody200Bancontact DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BankName DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bitcoin_amount" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmount DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bitcoin_amount_received" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmountReceived DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bitcoin_uri" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BitcoinUri DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Brand DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"business_profile" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"business_type" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
deleteCustomersCustomerSourcesIdResponseBody200BusinessType DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"capabilities" Text -> Maybe AccountCapabilities -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountCapabilities
deleteCustomersCustomerSourcesIdResponseBody200Capabilities DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeCard
deleteCustomersCustomerSourcesIdResponseBody200Card DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeCardPresent
deleteCustomersCustomerSourcesIdResponseBody200CardPresent DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"charges_enabled" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200ChargesEnabled DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ClientSecret DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceCodeVerificationFlow
deleteCustomersCustomerSourcesIdResponseBody200CodeVerification DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"company" Text -> Maybe LegalEntityCompany -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe LegalEntityCompany
deleteCustomersCustomerSourcesIdResponseBody200Company DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"controller" Text -> Maybe AccountController -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountController
deleteCustomersCustomerSourcesIdResponseBody200Controller DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Country DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200Created DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Currency DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
deleteCustomersCustomerSourcesIdResponseBody200Customer DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200CvcCheck DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"default_currency" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200DefaultCurrency DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200DefaultForCurrency DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"description" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Description DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"details_submitted" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200DetailsSubmitted DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200DynamicLast4 DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Email DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeEps
deleteCustomersCustomerSourcesIdResponseBody200Eps DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExpMonth DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExpYear DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"external_accounts" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"filled" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Filled DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Fingerprint DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Flow DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Funding DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeGiropay
deleteCustomersCustomerSourcesIdResponseBody200Giropay DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Id DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeIdeal
deleteCustomersCustomerSourcesIdResponseBody200Ideal DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"inbound_address" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200InboundAddress DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"individual" Text -> Maybe Person -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Person
deleteCustomersCustomerSourcesIdResponseBody200Individual DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeKlarna
deleteCustomersCustomerSourcesIdResponseBody200Klarna DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Last4 DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Livemode DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Object
deleteCustomersCustomerSourcesIdResponseBody200Metadata DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeMultibanco
deleteCustomersCustomerSourcesIdResponseBody200Multibanco DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Name DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
deleteCustomersCustomerSourcesIdResponseBody200Object DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"owner" Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
deleteCustomersCustomerSourcesIdResponseBody200Owner DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeP24
deleteCustomersCustomerSourcesIdResponseBody200P24 DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Payment DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_amount" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200PaymentAmount DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_currency" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200PaymentCurrency DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payouts_enabled" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200PayoutsEnabled DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceReceiverFlow
deleteCustomersCustomerSourcesIdResponseBody200Receiver DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"recipient" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
deleteCustomersCustomerSourcesIdResponseBody200Recipient DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceRedirectFlow
deleteCustomersCustomerSourcesIdResponseBody200Redirect DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"refund_address" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200RefundAddress DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"requirements" Text -> Maybe AccountRequirements -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountRequirements
deleteCustomersCustomerSourcesIdResponseBody200Requirements DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"reusable" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Reusable DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200RoutingNumber DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeSepaDebit
deleteCustomersCustomerSourcesIdResponseBody200SepaDebit DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"settings" Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
deleteCustomersCustomerSourcesIdResponseBody200Settings DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeSofort
deleteCustomersCustomerSourcesIdResponseBody200Sofort DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceOrder
deleteCustomersCustomerSourcesIdResponseBody200SourceOrder DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200StatementDescriptor DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Status DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeThreeDSecure
deleteCustomersCustomerSourcesIdResponseBody200ThreeDSecure DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200TokenizationMethod DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tos_acceptance" Text -> Maybe AccountTosAcceptance -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountTosAcceptance
deleteCustomersCustomerSourcesIdResponseBody200TosAcceptance DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"transactions" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
deleteCustomersCustomerSourcesIdResponseBody200Transactions DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
deleteCustomersCustomerSourcesIdResponseBody200Type DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"uncaptured_funds" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200UncapturedFunds DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Usage DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"used" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Used DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"used_for_payment" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200UsedForPayment DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"username" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Username DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeWechat
deleteCustomersCustomerSourcesIdResponseBody200Wechat DeleteCustomersCustomerSourcesIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerSourcesIdResponseBody200 -> Encoding
toEncoding DeleteCustomersCustomerSourcesIdResponseBody200
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"account" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
deleteCustomersCustomerSourcesIdResponseBody200Account DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AccountHolderName DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AccountHolderType DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAchCreditTransfer
deleteCustomersCustomerSourcesIdResponseBody200AchCreditTransfer DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAchDebit
deleteCustomersCustomerSourcesIdResponseBody200AchDebit DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAcssDebit
deleteCustomersCustomerSourcesIdResponseBody200AcssDebit DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"active" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Active DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressCity DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressCountry DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine1 DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine1Check DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine2 DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressState DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressZip DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressZipCheck DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAlipay
deleteCustomersCustomerSourcesIdResponseBody200Alipay DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200Amount DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"amount_received" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200AmountReceived DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeAuBecsDebit
deleteCustomersCustomerSourcesIdResponseBody200AuBecsDebit DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"available_payout_methods" Text
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
deleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeBancontact
deleteCustomersCustomerSourcesIdResponseBody200Bancontact DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BankName DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bitcoin_amount" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmount DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bitcoin_amount_received" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmountReceived DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bitcoin_uri" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BitcoinUri DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Brand DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"business_profile" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"business_type" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
deleteCustomersCustomerSourcesIdResponseBody200BusinessType DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"capabilities" Text -> Maybe AccountCapabilities -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountCapabilities
deleteCustomersCustomerSourcesIdResponseBody200Capabilities DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeCard
deleteCustomersCustomerSourcesIdResponseBody200Card DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeCardPresent
deleteCustomersCustomerSourcesIdResponseBody200CardPresent DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"charges_enabled" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200ChargesEnabled DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ClientSecret DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceCodeVerificationFlow
deleteCustomersCustomerSourcesIdResponseBody200CodeVerification DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"company" Text -> Maybe LegalEntityCompany -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe LegalEntityCompany
deleteCustomersCustomerSourcesIdResponseBody200Company DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"controller" Text -> Maybe AccountController -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountController
deleteCustomersCustomerSourcesIdResponseBody200Controller DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Country DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200Created DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Currency DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
deleteCustomersCustomerSourcesIdResponseBody200Customer DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200CvcCheck DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"default_currency" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200DefaultCurrency DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200DefaultForCurrency DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"description" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Description DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"details_submitted" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200DetailsSubmitted DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200DynamicLast4 DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Email DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeEps
deleteCustomersCustomerSourcesIdResponseBody200Eps DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExpMonth DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExpYear DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"external_accounts" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"filled" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Filled DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Fingerprint DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Flow DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Funding DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeGiropay
deleteCustomersCustomerSourcesIdResponseBody200Giropay DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Id DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeIdeal
deleteCustomersCustomerSourcesIdResponseBody200Ideal DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"inbound_address" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200InboundAddress DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"individual" Text -> Maybe Person -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Person
deleteCustomersCustomerSourcesIdResponseBody200Individual DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeKlarna
deleteCustomersCustomerSourcesIdResponseBody200Klarna DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Last4 DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Livemode DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Object
deleteCustomersCustomerSourcesIdResponseBody200Metadata DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeMultibanco
deleteCustomersCustomerSourcesIdResponseBody200Multibanco DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Name DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"object" Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
deleteCustomersCustomerSourcesIdResponseBody200Object DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"owner" Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
deleteCustomersCustomerSourcesIdResponseBody200Owner DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeP24
deleteCustomersCustomerSourcesIdResponseBody200P24 DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Payment DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_amount" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200PaymentAmount DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_currency" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200PaymentCurrency DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payouts_enabled" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200PayoutsEnabled DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceReceiverFlow
deleteCustomersCustomerSourcesIdResponseBody200Receiver DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"recipient" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
deleteCustomersCustomerSourcesIdResponseBody200Recipient DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceRedirectFlow
deleteCustomersCustomerSourcesIdResponseBody200Redirect DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"refund_address" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200RefundAddress DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"requirements" Text -> Maybe AccountRequirements -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountRequirements
deleteCustomersCustomerSourcesIdResponseBody200Requirements DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"reusable" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Reusable DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200RoutingNumber DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeSepaDebit
deleteCustomersCustomerSourcesIdResponseBody200SepaDebit DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"settings" Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
deleteCustomersCustomerSourcesIdResponseBody200Settings DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeSofort
deleteCustomersCustomerSourcesIdResponseBody200Sofort DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceOrder
deleteCustomersCustomerSourcesIdResponseBody200SourceOrder DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200StatementDescriptor DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Status DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeThreeDSecure
deleteCustomersCustomerSourcesIdResponseBody200ThreeDSecure DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200TokenizationMethod DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tos_acceptance" Text -> Maybe AccountTosAcceptance -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe AccountTosAcceptance
deleteCustomersCustomerSourcesIdResponseBody200TosAcceptance DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"transactions" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
deleteCustomersCustomerSourcesIdResponseBody200Transactions DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"type" Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
deleteCustomersCustomerSourcesIdResponseBody200Type DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"uncaptured_funds" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200UncapturedFunds DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Usage DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"used" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Used DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"used_for_payment" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200UsedForPayment DeleteCustomersCustomerSourcesIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"username" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200 -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Username DeleteCustomersCustomerSourcesIdResponseBody200
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..= DeleteCustomersCustomerSourcesIdResponseBody200
-> Maybe SourceTypeWechat
deleteCustomersCustomerSourcesIdResponseBody200Wechat DeleteCustomersCustomerSourcesIdResponseBody200
obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200 where
  parseJSON :: Value -> Parser DeleteCustomersCustomerSourcesIdResponseBody200
parseJSON = String
-> (Object
    -> Parser DeleteCustomersCustomerSourcesIdResponseBody200)
-> Value
-> Parser DeleteCustomersCustomerSourcesIdResponseBody200
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200" (\Object
obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Maybe
   DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeAchCreditTransfer
 -> Maybe SourceTypeAchDebit
 -> Maybe SourceTypeAcssDebit
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeAlipay
 -> Maybe Int
 -> Maybe Int
 -> Maybe SourceTypeAuBecsDebit
 -> Maybe
      [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
 -> Maybe SourceTypeBancontact
 -> Maybe Text
 -> Maybe Int
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
 -> Maybe AccountCapabilities
 -> Maybe SourceTypeCard
 -> Maybe SourceTypeCardPresent
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceCodeVerificationFlow
 -> Maybe LegalEntityCompany
 -> Maybe AccountController
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeEps
 -> Maybe Int
 -> Maybe Int
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeGiropay
 -> Maybe Text
 -> Maybe SourceTypeIdeal
 -> Maybe Text
 -> Maybe Person
 -> Maybe SourceTypeKlarna
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Object
 -> Maybe SourceTypeMultibanco
 -> Maybe Text
 -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
 -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
 -> Maybe SourceTypeP24
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Bool
 -> Maybe SourceReceiverFlow
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
 -> Maybe SourceRedirectFlow
 -> Maybe Text
 -> Maybe AccountRequirements
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceTypeSepaDebit
 -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
 -> Maybe SourceTypeSofort
 -> Maybe SourceOrder
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeThreeDSecure
 -> Maybe Text
 -> Maybe AccountTosAcceptance
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
 -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceTypeWechat
 -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAchCreditTransfer
      -> Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeAchCreditTransfer
-> Maybe SourceTypeAchDebit
-> Maybe SourceTypeAcssDebit
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeAlipay
-> Maybe Int
-> Maybe Int
-> Maybe SourceTypeAuBecsDebit
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Maybe AccountCapabilities
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Bool
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe LegalEntityCompany
-> Maybe AccountController
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeEps
-> Maybe Int
-> Maybe Int
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeGiropay
-> Maybe Text
-> Maybe SourceTypeIdeal
-> Maybe Text
-> Maybe Person
-> Maybe SourceTypeKlarna
-> Maybe Text
-> Maybe Bool
-> Maybe Object
-> Maybe SourceTypeMultibanco
-> Maybe Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> Maybe SourceTypeP24
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Bool
-> Maybe SourceReceiverFlow
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe AccountRequirements
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe AccountTosAcceptance
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeWechat
-> DeleteCustomersCustomerSourcesIdResponseBody200
DeleteCustomersCustomerSourcesIdResponseBody200 Parser
  (Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAchCreditTransfer
   -> Maybe SourceTypeAchDebit
   -> Maybe SourceTypeAcssDebit
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAchCreditTransfer
      -> Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Account'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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeAchCreditTransfer
      -> Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeAchCreditTransfer
      -> Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeAchCreditTransfer)
-> Parser
     (Maybe SourceTypeAchDebit
      -> Maybe SourceTypeAcssDebit
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeAchDebit)
-> Parser
     (Maybe SourceTypeAcssDebit
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeAcssDebit)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"active")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeAlipay)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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_received")) Parser
  (Maybe SourceTypeAuBecsDebit
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeAuBecsDebit)
-> Parser
     (Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
     [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'])
-> Parser
     (Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"available_payout_methods")) Parser
  (Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeBancontact)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"bitcoin_amount")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"bitcoin_amount_received")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"bitcoin_uri")) Parser
  (Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"business_profile")) Parser
  (Maybe DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType')
-> Parser
     (Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessType')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"business_type")) Parser
  (Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe AccountCapabilities)
-> Parser
     (Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilities)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"capabilities")) Parser
  (Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeCard)
-> Parser
     (Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeCardPresent)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"charges_enabled")) Parser
  (Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceCodeVerificationFlow)
-> Parser
     (Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe LegalEntityCompany)
-> Parser
     (Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe LegalEntityCompany)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"company")) Parser
  (Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe AccountController)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountController)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"controller")) Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"customer")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"default_currency")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"description")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"details_submitted")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeEps)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"external_accounts")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"filled")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeGiropay)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeIdeal)
-> Parser
     (Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"inbound_address")) Parser
  (Maybe Person
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Person)
-> Parser
     (Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Person)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"individual")) Parser
  (Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeKlarna)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Object)
-> Parser
     (Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeMultibanco)
-> Parser
     (Maybe Text
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 DeleteCustomersCustomerSourcesIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object')
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"object")) Parser
  (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner')
-> Parser
     (Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"owner")) Parser
  (Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeP24)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"payment_amount")) Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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_currency")) Parser
  (Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"payouts_enabled")) Parser
  (Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceReceiverFlow)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants)
-> Parser
     (Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"recipient")) Parser
  (Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceRedirectFlow)
-> Parser
     (Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"refund_address")) Parser
  (Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe AccountRequirements)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountRequirements)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"requirements")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"reusable")) Parser
  (Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeSepaDebit
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeSepaDebit)
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 DeleteCustomersCustomerSourcesIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser
     (Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"settings")) Parser
  (Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeSofort)
-> Parser
     (Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceOrder)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeThreeDSecure)
-> Parser
     (Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe AccountTosAcceptance)
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountTosAcceptance)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tos_acceptance")) Parser
  (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"transactions")) Parser
  (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type')
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"type")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"uncaptured_funds")) Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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 Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"used")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"used_for_payment")) Parser
  (Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeWechat
      -> DeleteCustomersCustomerSourcesIdResponseBody200)
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
"username")) Parser
  (Maybe SourceTypeWechat
   -> DeleteCustomersCustomerSourcesIdResponseBody200)
-> Parser (Maybe SourceTypeWechat)
-> Parser DeleteCustomersCustomerSourcesIdResponseBody200
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 'DeleteCustomersCustomerSourcesIdResponseBody200' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200 :: DeleteCustomersCustomerSourcesIdResponseBody200
mkDeleteCustomersCustomerSourcesIdResponseBody200 :: DeleteCustomersCustomerSourcesIdResponseBody200
mkDeleteCustomersCustomerSourcesIdResponseBody200 =
  DeleteCustomersCustomerSourcesIdResponseBody200 :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeAchCreditTransfer
-> Maybe SourceTypeAchDebit
-> Maybe SourceTypeAcssDebit
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeAlipay
-> Maybe Int
-> Maybe Int
-> Maybe SourceTypeAuBecsDebit
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Maybe AccountCapabilities
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Bool
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe LegalEntityCompany
-> Maybe AccountController
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeEps
-> Maybe Int
-> Maybe Int
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeGiropay
-> Maybe Text
-> Maybe SourceTypeIdeal
-> Maybe Text
-> Maybe Person
-> Maybe SourceTypeKlarna
-> Maybe Text
-> Maybe Bool
-> Maybe Object
-> Maybe SourceTypeMultibanco
-> Maybe Text
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> Maybe SourceTypeP24
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Bool
-> Maybe SourceReceiverFlow
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe AccountRequirements
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe AccountTosAcceptance
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeWechat
-> DeleteCustomersCustomerSourcesIdResponseBody200
DeleteCustomersCustomerSourcesIdResponseBody200
    { deleteCustomersCustomerSourcesIdResponseBody200Account :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
deleteCustomersCustomerSourcesIdResponseBody200Account = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AccountHolderName :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AccountHolderName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AccountHolderType :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AccountHolderType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AchCreditTransfer :: Maybe SourceTypeAchCreditTransfer
deleteCustomersCustomerSourcesIdResponseBody200AchCreditTransfer = Maybe SourceTypeAchCreditTransfer
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AchDebit :: Maybe SourceTypeAchDebit
deleteCustomersCustomerSourcesIdResponseBody200AchDebit = Maybe SourceTypeAchDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AcssDebit :: Maybe SourceTypeAcssDebit
deleteCustomersCustomerSourcesIdResponseBody200AcssDebit = Maybe SourceTypeAcssDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Active :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Active = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AddressCity :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressCity = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AddressCountry :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressCountry = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AddressLine1 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AddressLine1Check :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine1Check = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AddressLine2 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressLine2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AddressState :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressState = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AddressZip :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressZip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AddressZipCheck :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200AddressZipCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Alipay :: Maybe SourceTypeAlipay
deleteCustomersCustomerSourcesIdResponseBody200Alipay = Maybe SourceTypeAlipay
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Amount :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200Amount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AmountReceived :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200AmountReceived = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AuBecsDebit :: Maybe SourceTypeAuBecsDebit
deleteCustomersCustomerSourcesIdResponseBody200AuBecsDebit = Maybe SourceTypeAuBecsDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods :: Maybe
  [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
deleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods = Maybe
  [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Bancontact :: Maybe SourceTypeBancontact
deleteCustomersCustomerSourcesIdResponseBody200Bancontact = Maybe SourceTypeBancontact
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BankName :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BankName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmount :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmountReceived :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200BitcoinAmountReceived = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BitcoinUri :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BitcoinUri = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Brand :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Brand = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessType :: Maybe DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
deleteCustomersCustomerSourcesIdResponseBody200BusinessType = Maybe DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Capabilities :: Maybe AccountCapabilities
deleteCustomersCustomerSourcesIdResponseBody200Capabilities = Maybe AccountCapabilities
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Card :: Maybe SourceTypeCard
deleteCustomersCustomerSourcesIdResponseBody200Card = Maybe SourceTypeCard
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200CardPresent :: Maybe SourceTypeCardPresent
deleteCustomersCustomerSourcesIdResponseBody200CardPresent = Maybe SourceTypeCardPresent
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ChargesEnabled :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200ChargesEnabled = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ClientSecret :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ClientSecret = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200CodeVerification :: Maybe SourceCodeVerificationFlow
deleteCustomersCustomerSourcesIdResponseBody200CodeVerification = Maybe SourceCodeVerificationFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Company :: Maybe LegalEntityCompany
deleteCustomersCustomerSourcesIdResponseBody200Company = Maybe LegalEntityCompany
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Controller :: Maybe AccountController
deleteCustomersCustomerSourcesIdResponseBody200Controller = Maybe AccountController
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Country :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Created :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200Created = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Currency :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Customer :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
deleteCustomersCustomerSourcesIdResponseBody200Customer = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200CvcCheck :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200CvcCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200DefaultCurrency :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200DefaultCurrency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200DefaultForCurrency :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200DefaultForCurrency = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Description :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Description = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200DetailsSubmitted :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200DetailsSubmitted = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200DynamicLast4 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200DynamicLast4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Email :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Email = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Eps :: Maybe SourceTypeEps
deleteCustomersCustomerSourcesIdResponseBody200Eps = Maybe SourceTypeEps
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExpMonth :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExpMonth = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExpYear :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExpYear = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Filled :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Filled = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Fingerprint :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Fingerprint = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Flow :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Flow = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Funding :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Funding = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Giropay :: Maybe SourceTypeGiropay
deleteCustomersCustomerSourcesIdResponseBody200Giropay = Maybe SourceTypeGiropay
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Id :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Ideal :: Maybe SourceTypeIdeal
deleteCustomersCustomerSourcesIdResponseBody200Ideal = Maybe SourceTypeIdeal
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200InboundAddress :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200InboundAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Individual :: Maybe Person
deleteCustomersCustomerSourcesIdResponseBody200Individual = Maybe Person
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Klarna :: Maybe SourceTypeKlarna
deleteCustomersCustomerSourcesIdResponseBody200Klarna = Maybe SourceTypeKlarna
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Last4 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Last4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Livemode :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Livemode = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Metadata :: Maybe Object
deleteCustomersCustomerSourcesIdResponseBody200Metadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Multibanco :: Maybe SourceTypeMultibanco
deleteCustomersCustomerSourcesIdResponseBody200Multibanco = Maybe SourceTypeMultibanco
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Name :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Object :: Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
deleteCustomersCustomerSourcesIdResponseBody200Object = Maybe DeleteCustomersCustomerSourcesIdResponseBody200Object'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner :: Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
deleteCustomersCustomerSourcesIdResponseBody200Owner = Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200P24 :: Maybe SourceTypeP24
deleteCustomersCustomerSourcesIdResponseBody200P24 = Maybe SourceTypeP24
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Payment :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Payment = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200PaymentAmount :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200PaymentAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200PaymentCurrency :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200PaymentCurrency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200PayoutsEnabled :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200PayoutsEnabled = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Receiver :: Maybe SourceReceiverFlow
deleteCustomersCustomerSourcesIdResponseBody200Receiver = Maybe SourceReceiverFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Recipient :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
deleteCustomersCustomerSourcesIdResponseBody200Recipient = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Redirect :: Maybe SourceRedirectFlow
deleteCustomersCustomerSourcesIdResponseBody200Redirect = Maybe SourceRedirectFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200RefundAddress :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200RefundAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Requirements :: Maybe AccountRequirements
deleteCustomersCustomerSourcesIdResponseBody200Requirements = Maybe AccountRequirements
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Reusable :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Reusable = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200RoutingNumber :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200RoutingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200SepaDebit :: Maybe SourceTypeSepaDebit
deleteCustomersCustomerSourcesIdResponseBody200SepaDebit = Maybe SourceTypeSepaDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Settings :: Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
deleteCustomersCustomerSourcesIdResponseBody200Settings = Maybe DeleteCustomersCustomerSourcesIdResponseBody200Settings'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Sofort :: Maybe SourceTypeSofort
deleteCustomersCustomerSourcesIdResponseBody200Sofort = Maybe SourceTypeSofort
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200SourceOrder :: Maybe SourceOrder
deleteCustomersCustomerSourcesIdResponseBody200SourceOrder = Maybe SourceOrder
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200StatementDescriptor :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200StatementDescriptor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Status :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Status = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ThreeDSecure :: Maybe SourceTypeThreeDSecure
deleteCustomersCustomerSourcesIdResponseBody200ThreeDSecure = Maybe SourceTypeThreeDSecure
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200TokenizationMethod :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200TokenizationMethod = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200TosAcceptance :: Maybe AccountTosAcceptance
deleteCustomersCustomerSourcesIdResponseBody200TosAcceptance = Maybe AccountTosAcceptance
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Transactions :: Maybe DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
deleteCustomersCustomerSourcesIdResponseBody200Transactions = Maybe DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Type :: Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
deleteCustomersCustomerSourcesIdResponseBody200Type = Maybe DeleteCustomersCustomerSourcesIdResponseBody200Type'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200UncapturedFunds :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200UncapturedFunds = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Usage :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Usage = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Used :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200Used = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200UsedForPayment :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200UsedForPayment = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Username :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Username = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Wechat :: Maybe SourceTypeWechat
deleteCustomersCustomerSourcesIdResponseBody200Wechat = Maybe SourceTypeWechat
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.account.anyOf@ in the specification.
--
-- The ID of the account that the bank account is associated with.
data DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
  = DeleteCustomersCustomerSourcesIdResponseBody200Account'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerSourcesIdResponseBody200Account'Account Account
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants]
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants]
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
 -> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
    -> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Account'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.available_payout_methods.items@ in the specification.
data DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'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.
    DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"instant"@
    DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'EnumInstant
  | -- | Represents the JSON value @"standard"@
    DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'EnumStandard
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
 -> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
    -> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200AvailablePayoutMethods'
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.business_profile.anyOf@ in the specification.
--
-- Business information about the account.
data DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile' = DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
  { -- | mcc: [The merchant category code for the account](https:\/\/stripe.com\/docs\/connect\/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Mcc :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name: The customer-facing business name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | product_description: Internal-only description of the product sold or service provided by the business. It\'s used by Stripe for risk and underwriting purposes.
    --
    -- Constraints:
    --
    -- * Maximum length of 40000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'ProductDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | support_address: A publicly available mailing address for sending support issues to.
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'),
    -- | support_email: A publicly available email address for sending support issues to.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | support_phone: A publicly available phone number to call with support issues.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | support_url: A publicly available website for handling support issues.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | url: The business\'s publicly available website.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Url :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
 -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
    -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile' where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Value
toJSON DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"mcc" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Mcc DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
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..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Name DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"product_description" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'ProductDescription DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"support_address" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"support_email" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportEmail DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"support_phone" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportPhone DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"support_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportUrl DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Url DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Encoding
toEncoding DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"mcc" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Mcc DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
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..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Name DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"product_description" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'ProductDescription DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"support_address" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"support_email" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportEmail DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"support_phone" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportPhone DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"support_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportUrl DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Url DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
obj))))))))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'" (\Object
obj -> ((((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
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
"mcc")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
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
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
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
"product_description")) Parser
  (Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"support_address")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
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
"support_email")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
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
"support_phone")) Parser
  (Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
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
"support_url")) Parser
  (Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
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
"url"))

-- | Create a new 'DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile' :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
mkDeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile' :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
mkDeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile' =
  DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'
    { deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Mcc :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Mcc = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Name :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'ProductDescription :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'ProductDescription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportEmail :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportPhone :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportPhone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportUrl :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Url :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'Url = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.business_profile.anyOf.properties.support_address.anyOf@ in the specification.
--
-- A publicly available mailing address for sending support issues to.
data DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress' = DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'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
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'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
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
 -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
    -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
-> Bool
GHC.Classes.Eq
    )

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

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
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
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
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
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
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
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
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
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
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
   -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress')
-> Parser (Maybe Text)
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
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 'DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress' :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
mkDeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress' :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
mkDeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress' =
  DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'
    { deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'City :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'Country :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'Line1 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'Line2 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'PostalCode :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'State :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200BusinessProfile'SupportAddress'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.business_type@ in the specification.
--
-- The business type.
data DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'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.
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"company"@
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumCompany
  | -- | Represents the JSON value @"government_entity"@
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumGovernmentEntity
  | -- | Represents the JSON value @"individual"@
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumIndividual
  | -- | Represents the JSON value @"non_profit"@
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumNonProfit
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200BusinessType']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200BusinessType']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200BusinessType']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200BusinessType']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
 -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
    -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
    -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200BusinessType' where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Value
toJSON (DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'Other Value
val) = Value
val
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumCompany) = Value
"company"
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumGovernmentEntity) = Value
"government_entity"
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumIndividual) = Value
"individual"
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumNonProfit) = Value
"non_profit"

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200BusinessType' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
parseJSON Value
val =
    DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
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
"company" -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumCompany
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"government_entity" -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumGovernmentEntity
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"individual" -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumIndividual
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"non_profit" -> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'EnumNonProfit
            | Bool
GHC.Base.otherwise -> Value
-> DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'
DeleteCustomersCustomerSourcesIdResponseBody200BusinessType'Other Value
val
      )

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.customer.anyOf@ in the specification.
--
-- The ID of the customer associated with this Alipay Account.
data DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
  = DeleteCustomersCustomerSourcesIdResponseBody200Customer'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerSourcesIdResponseBody200Customer'Customer Customer
  | DeleteCustomersCustomerSourcesIdResponseBody200Customer'DeletedCustomer DeletedCustomer
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants]
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants]
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
 -> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
    -> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Customer'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.external_accounts@ in the specification.
--
-- External accounts (bank accounts and debit cards) currently attached to this account
data DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts' = DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
  { -- | data: The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data :: ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
    -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts' where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Value
toJSON DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"data" Text
-> [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"has_more" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'HasMore DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Url DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
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
"list" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Encoding
toEncoding DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"data" Text
-> [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"has_more" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'HasMore DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"url" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
-> Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Url DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
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
"list"))))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
-> Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'" (\Object
obj -> ((([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
 -> Bool
 -> Text
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
-> Parser
     ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
      -> Bool
      -> Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> Bool
-> Text
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts' Parser
  ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
   -> Bool
   -> Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
-> Parser
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> Parser
     (Bool
      -> Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"data")) Parser
  (Bool
   -> Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
-> Parser Bool
-> Parser
     (Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
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
"has_more")) Parser
  (Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts')
-> Parser Text
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
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
"url"))

-- | Create a new 'DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts' ::
  -- | 'deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
  [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'] ->
  -- | 'deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'HasMore'
  GHC.Types.Bool ->
  -- | 'deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Url'
  Data.Text.Internal.Text ->
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
mkDeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts' :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> Bool
-> Text
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
mkDeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts' [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'HasMore Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Url =
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts' :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> Bool
-> Text
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'
    { deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data = [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'HasMore :: Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'HasMore = Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'HasMore,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Url :: Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Url = Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Url
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.external_accounts.properties.data.items.anyOf@ in the specification.
data DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data' = DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
  { -- | account: The ID of the account that the bank account is associated with.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants),
    -- | account_holder_name: The name of the person or business that owns the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderType :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_city: City\/District\/Suburb\/Town\/Village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCity :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_country: Billing address country, if provided when creating card.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCountry :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1Check :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_state: State\/County\/Province\/Region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressState :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_zip: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZipCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | 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.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'])),
    -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Brand :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country: Two-letter ISO code representing the country the bank account is located in.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer: The ID of the customer that the bank account is associated with.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'CvcCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_for_currency: Whether this bank account is the default external account for its currency.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DynamicLast4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | exp_month: Two-digit number representing the card\'s expiration month.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | exp_year: Four-digit number representing the card\'s expiration year.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Fingerprint :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Funding :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | last4: The last four digits of the bank account number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Last4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Object
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
    -- | name: Cardholder name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | object: String representing the object\'s type. Objects of the same type share the same value.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'),
    -- | 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.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants),
    -- | routing_number: The routing transit number for the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'RoutingNumber :: (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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Status :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | 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
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'TokenizationMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
    -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data' where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Value
toJSON DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"account" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderName DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderType DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCity DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCountry DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1Check DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine2 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressState DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZip DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZipCheck DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"available_payout_methods" Text
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'BankName DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Brand DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Country DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Currency DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'CvcCheck DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DefaultForCurrency DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DynamicLast4 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpMonth DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpYear DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Fingerprint DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Funding DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Id DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Last4 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Object
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Metadata DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Name DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"recipient" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'RoutingNumber DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Status DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'TokenizationMethod DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Encoding
toEncoding DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"account" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderName DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderType DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCity DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCountry DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1Check DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine2 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressState DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZip DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZipCheck DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"available_payout_methods" Text
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'BankName DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Brand DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Country DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Currency DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'CvcCheck DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DefaultForCurrency DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DynamicLast4 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpMonth DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpYear DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Fingerprint DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Funding DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Id DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Last4 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Object
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Metadata DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Name DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"object" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"recipient" Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'RoutingNumber DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Status DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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..= DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'TokenizationMethod DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
obj)))))))))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'" (\Object
obj -> (((((((((((((((((((((((((((((((((Maybe
   DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Int
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Object
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
 -> Maybe
      DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Object
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data' Parser
  (Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"account")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"available_payout_methods")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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 Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Object
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Object)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object')
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"object")) Parser
  (Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"recipient")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
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 Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
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"))

-- | Create a new 'DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data' :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
mkDeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data' :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
mkDeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data' =
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data' :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Object
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'
    { deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderName :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderType :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AccountHolderType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCity :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCity = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCountry :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressCountry = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1Check :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine1Check = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine2 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressLine2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressState :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressState = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZip :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZipCheck :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AddressZipCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods :: Maybe
  [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods = Maybe
  [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'BankName :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'BankName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Brand :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Brand = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Country :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Currency :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'CvcCheck :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'CvcCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DefaultForCurrency :: Maybe Bool
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DefaultForCurrency = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DynamicLast4 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'DynamicLast4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpMonth :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpMonth = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpYear :: Maybe Int
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'ExpYear = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Fingerprint :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Fingerprint = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Funding :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Funding = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Id :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Last4 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Last4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Metadata :: Maybe Object
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Metadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Name :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient :: Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient = Maybe
  DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'RoutingNumber :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'RoutingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Status :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Status = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'TokenizationMethod :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'TokenizationMethod = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.external_accounts.properties.data.items.anyOf.properties.account.anyOf@ in the specification.
--
-- The ID of the account that the bank account is associated with.
data DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
  = DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Account Account
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants]
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants]
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
    -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
GHC.Classes.Eq)

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

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.external_accounts.properties.data.items.anyOf.properties.available_payout_methods.items@ in the specification.
data DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"instant"@
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'EnumInstant
  | -- | Represents the JSON value @"standard"@
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'EnumStandard
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
    -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.external_accounts.properties.data.items.anyOf.properties.customer.anyOf@ in the specification.
--
-- The ID of the customer that the bank account is associated with.
data DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
  = DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Customer Customer
  | DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'DeletedCustomer DeletedCustomer
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants]
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants]
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
    -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
GHC.Classes.Eq)

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

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.external_accounts.properties.data.items.anyOf.properties.object@ in the specification.
--
-- String representing the object\'s type. Objects of the same type share the same value.
data DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'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.
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"bank_account"@
    DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'EnumBankAccount
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
    -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.external_accounts.properties.data.items.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 DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
  = DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Recipient Recipient
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants]
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants]
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
 -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
    -> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Bool
GHC.Classes.Eq)

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

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.object@ in the specification.
--
-- String representing the object\'s type. Objects of the same type share the same value.
data DeleteCustomersCustomerSourcesIdResponseBody200Object'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerSourcesIdResponseBody200Object'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.
    DeleteCustomersCustomerSourcesIdResponseBody200Object'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"account"@
    DeleteCustomersCustomerSourcesIdResponseBody200Object'EnumAccount
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Object']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Object' -> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Object'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Object'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Object']
    -> String -> String)
-> Show DeleteCustomersCustomerSourcesIdResponseBody200Object'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Object']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Object']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Object' -> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Object' -> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200Object' -> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Object'
 -> DeleteCustomersCustomerSourcesIdResponseBody200Object' -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Object'
    -> DeleteCustomersCustomerSourcesIdResponseBody200Object' -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponseBody200Object'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200Object' -> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200Object' -> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200Object' -> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Object'
-> DeleteCustomersCustomerSourcesIdResponseBody200Object' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200Object' where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200Object' -> Value
toJSON (DeleteCustomersCustomerSourcesIdResponseBody200Object'Other Value
val) = Value
val
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200Object'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200Object'
DeleteCustomersCustomerSourcesIdResponseBody200Object'EnumAccount) = Value
"account"

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.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 DeleteCustomersCustomerSourcesIdResponseBody200Owner' = DeleteCustomersCustomerSourcesIdResponseBody200Owner'
  { -- | address: Owner\'s address.
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'),
    -- | email: Owner\'s email address.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name: Owner\'s full name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | phone: Owner\'s phone number (including extension).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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.
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> Maybe
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress :: (GHC.Maybe.Maybe DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Owner']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Owner'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Owner']
    -> String -> String)
-> Show DeleteCustomersCustomerSourcesIdResponseBody200Owner'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Owner']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Owner']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Owner'
 -> DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Owner'
    -> DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponseBody200Owner'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner' -> Bool
GHC.Classes.Eq
    )

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

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.owner.anyOf.properties.address.anyOf@ in the specification.
--
-- Owner\\\'s address.
data DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address' = DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
 -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
    -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
    -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
-> Bool
GHC.Classes.Eq
    )

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

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
-> Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address')
-> Parser (Maybe Text)
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'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 'DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200Owner'Address' :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
mkDeleteCustomersCustomerSourcesIdResponseBody200Owner'Address' :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
mkDeleteCustomersCustomerSourcesIdResponseBody200Owner'Address' =
  DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
DeleteCustomersCustomerSourcesIdResponseBody200Owner'Address'
    { deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'City :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'Country :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'Line1 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'Line2 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'PostalCode :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'State :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'Address'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.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 DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress' = DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'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
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
 -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
    -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
-> Bool
GHC.Classes.Eq
    )

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

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
-> Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'" (\Object
obj -> ((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'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
   -> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress')
-> Parser (Maybe Text)
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Owner'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 'DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress' :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
mkDeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress' :: DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
mkDeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress' =
  DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
DeleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'
    { deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'City :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'Country :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'Line1 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'Line2 :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'PostalCode :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'State :: Maybe Text
deleteCustomersCustomerSourcesIdResponseBody200Owner'VerifiedAddress'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.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 DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
  = DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Recipient Recipient
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants]
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants]
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
 -> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
    -> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> DeleteCustomersCustomerSourcesIdResponseBody200Recipient'Variants
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.settings.anyOf@ in the specification.
--
-- Options for customizing how the account functions within Stripe.
data DeleteCustomersCustomerSourcesIdResponseBody200Settings' = DeleteCustomersCustomerSourcesIdResponseBody200Settings'
  { -- | bacs_debit_payments:
    DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountBacsDebitPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'BacsDebitPayments :: (GHC.Maybe.Maybe AccountBacsDebitPaymentsSettings),
    -- | branding:
    DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountBrandingSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Branding :: (GHC.Maybe.Maybe AccountBrandingSettings),
    -- | card_issuing:
    DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountCardIssuingSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'CardIssuing :: (GHC.Maybe.Maybe AccountCardIssuingSettings),
    -- | card_payments:
    DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountCardPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'CardPayments :: (GHC.Maybe.Maybe AccountCardPaymentsSettings),
    -- | dashboard:
    DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountDashboardSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Dashboard :: (GHC.Maybe.Maybe AccountDashboardSettings),
    -- | payments:
    DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Payments :: (GHC.Maybe.Maybe AccountPaymentsSettings),
    -- | payouts:
    DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountPayoutSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Payouts :: (GHC.Maybe.Maybe AccountPayoutSettings),
    -- | sepa_debit_payments:
    DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountSepaDebitPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'SepaDebitPayments :: (GHC.Maybe.Maybe AccountSepaDebitPaymentsSettings)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Settings']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Settings'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Settings'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Settings']
    -> String -> String)
-> Show DeleteCustomersCustomerSourcesIdResponseBody200Settings'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Settings']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Settings']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Settings'
 -> DeleteCustomersCustomerSourcesIdResponseBody200Settings'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Settings'
    -> DeleteCustomersCustomerSourcesIdResponseBody200Settings'
    -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponseBody200Settings'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200Settings' where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200Settings' -> Value
toJSON DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"bacs_debit_payments" Text -> Maybe AccountBacsDebitPaymentsSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountBacsDebitPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'BacsDebitPayments DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"branding" Text -> Maybe AccountBrandingSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountBrandingSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Branding DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_issuing" Text -> Maybe AccountCardIssuingSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountCardIssuingSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'CardIssuing DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_payments" Text -> Maybe AccountCardPaymentsSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountCardPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'CardPayments DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"dashboard" Text -> Maybe AccountDashboardSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountDashboardSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Dashboard DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payments" Text -> Maybe AccountPaymentsSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Payments DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payouts" Text -> Maybe AccountPayoutSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountPayoutSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Payouts DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sepa_debit_payments" Text -> Maybe AccountSepaDebitPaymentsSettings -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountSepaDebitPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'SepaDebitPayments DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Encoding
toEncoding DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"bacs_debit_payments" Text -> Maybe AccountBacsDebitPaymentsSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountBacsDebitPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'BacsDebitPayments DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"branding" Text -> Maybe AccountBrandingSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountBrandingSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Branding DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_issuing" Text -> Maybe AccountCardIssuingSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountCardIssuingSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'CardIssuing DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_payments" Text -> Maybe AccountCardPaymentsSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountCardPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'CardPayments DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"dashboard" Text -> Maybe AccountDashboardSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountDashboardSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Dashboard DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payments" Text -> Maybe AccountPaymentsSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Payments DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payouts" Text -> Maybe AccountPayoutSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountPayoutSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Payouts DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"sepa_debit_payments" Text -> Maybe AccountSepaDebitPaymentsSettings -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Settings'
-> Maybe AccountSepaDebitPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'SepaDebitPayments DeleteCustomersCustomerSourcesIdResponseBody200Settings'
obj))))))))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200Settings' where
  parseJSON :: Value
-> Parser DeleteCustomersCustomerSourcesIdResponseBody200Settings'
parseJSON = String
-> (Object
    -> Parser DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Value
-> Parser DeleteCustomersCustomerSourcesIdResponseBody200Settings'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200Settings'" (\Object
obj -> ((((((((Maybe AccountBacsDebitPaymentsSettings
 -> Maybe AccountBrandingSettings
 -> Maybe AccountCardIssuingSettings
 -> Maybe AccountCardPaymentsSettings
 -> Maybe AccountDashboardSettings
 -> Maybe AccountPaymentsSettings
 -> Maybe AccountPayoutSettings
 -> Maybe AccountSepaDebitPaymentsSettings
 -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser
     (Maybe AccountBacsDebitPaymentsSettings
      -> Maybe AccountBrandingSettings
      -> Maybe AccountCardIssuingSettings
      -> Maybe AccountCardPaymentsSettings
      -> Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe AccountBacsDebitPaymentsSettings
-> Maybe AccountBrandingSettings
-> Maybe AccountCardIssuingSettings
-> Maybe AccountCardPaymentsSettings
-> Maybe AccountDashboardSettings
-> Maybe AccountPaymentsSettings
-> Maybe AccountPayoutSettings
-> Maybe AccountSepaDebitPaymentsSettings
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings'
DeleteCustomersCustomerSourcesIdResponseBody200Settings' Parser
  (Maybe AccountBacsDebitPaymentsSettings
   -> Maybe AccountBrandingSettings
   -> Maybe AccountCardIssuingSettings
   -> Maybe AccountCardPaymentsSettings
   -> Maybe AccountDashboardSettings
   -> Maybe AccountPaymentsSettings
   -> Maybe AccountPayoutSettings
   -> Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser (Maybe AccountBacsDebitPaymentsSettings)
-> Parser
     (Maybe AccountBrandingSettings
      -> Maybe AccountCardIssuingSettings
      -> Maybe AccountCardPaymentsSettings
      -> Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountBacsDebitPaymentsSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bacs_debit_payments")) Parser
  (Maybe AccountBrandingSettings
   -> Maybe AccountCardIssuingSettings
   -> Maybe AccountCardPaymentsSettings
   -> Maybe AccountDashboardSettings
   -> Maybe AccountPaymentsSettings
   -> Maybe AccountPayoutSettings
   -> Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser (Maybe AccountBrandingSettings)
-> Parser
     (Maybe AccountCardIssuingSettings
      -> Maybe AccountCardPaymentsSettings
      -> Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountBrandingSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"branding")) Parser
  (Maybe AccountCardIssuingSettings
   -> Maybe AccountCardPaymentsSettings
   -> Maybe AccountDashboardSettings
   -> Maybe AccountPaymentsSettings
   -> Maybe AccountPayoutSettings
   -> Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser (Maybe AccountCardIssuingSettings)
-> Parser
     (Maybe AccountCardPaymentsSettings
      -> Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCardIssuingSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_issuing")) Parser
  (Maybe AccountCardPaymentsSettings
   -> Maybe AccountDashboardSettings
   -> Maybe AccountPaymentsSettings
   -> Maybe AccountPayoutSettings
   -> Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser (Maybe AccountCardPaymentsSettings)
-> Parser
     (Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCardPaymentsSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_payments")) Parser
  (Maybe AccountDashboardSettings
   -> Maybe AccountPaymentsSettings
   -> Maybe AccountPayoutSettings
   -> Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser (Maybe AccountDashboardSettings)
-> Parser
     (Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountDashboardSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"dashboard")) Parser
  (Maybe AccountPaymentsSettings
   -> Maybe AccountPayoutSettings
   -> Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser (Maybe AccountPaymentsSettings)
-> Parser
     (Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountPaymentsSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payments")) Parser
  (Maybe AccountPayoutSettings
   -> Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser (Maybe AccountPayoutSettings)
-> Parser
     (Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountPayoutSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payouts")) Parser
  (Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerSourcesIdResponseBody200Settings')
-> Parser (Maybe AccountSepaDebitPaymentsSettings)
-> Parser DeleteCustomersCustomerSourcesIdResponseBody200Settings'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountSepaDebitPaymentsSettings)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sepa_debit_payments"))

-- | Create a new 'DeleteCustomersCustomerSourcesIdResponseBody200Settings'' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200Settings' :: DeleteCustomersCustomerSourcesIdResponseBody200Settings'
mkDeleteCustomersCustomerSourcesIdResponseBody200Settings' :: DeleteCustomersCustomerSourcesIdResponseBody200Settings'
mkDeleteCustomersCustomerSourcesIdResponseBody200Settings' =
  DeleteCustomersCustomerSourcesIdResponseBody200Settings' :: Maybe AccountBacsDebitPaymentsSettings
-> Maybe AccountBrandingSettings
-> Maybe AccountCardIssuingSettings
-> Maybe AccountCardPaymentsSettings
-> Maybe AccountDashboardSettings
-> Maybe AccountPaymentsSettings
-> Maybe AccountPayoutSettings
-> Maybe AccountSepaDebitPaymentsSettings
-> DeleteCustomersCustomerSourcesIdResponseBody200Settings'
DeleteCustomersCustomerSourcesIdResponseBody200Settings'
    { deleteCustomersCustomerSourcesIdResponseBody200Settings'BacsDebitPayments :: Maybe AccountBacsDebitPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'BacsDebitPayments = Maybe AccountBacsDebitPaymentsSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Settings'Branding :: Maybe AccountBrandingSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Branding = Maybe AccountBrandingSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Settings'CardIssuing :: Maybe AccountCardIssuingSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'CardIssuing = Maybe AccountCardIssuingSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Settings'CardPayments :: Maybe AccountCardPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'CardPayments = Maybe AccountCardPaymentsSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Settings'Dashboard :: Maybe AccountDashboardSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Dashboard = Maybe AccountDashboardSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Settings'Payments :: Maybe AccountPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Payments = Maybe AccountPaymentsSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Settings'Payouts :: Maybe AccountPayoutSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'Payouts = Maybe AccountPayoutSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerSourcesIdResponseBody200Settings'SepaDebitPayments :: Maybe AccountSepaDebitPaymentsSettings
deleteCustomersCustomerSourcesIdResponseBody200Settings'SepaDebitPayments = Maybe AccountSepaDebitPaymentsSettings
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.transactions@ in the specification.
--
-- A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key.
data DeleteCustomersCustomerSourcesIdResponseBody200Transactions' = DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
  { -- | data: Details about each object.
    DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> [BitcoinTransaction]
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Data :: ([BitcoinTransaction]),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Bool
deleteCustomersCustomerSourcesIdResponseBody200Transactions'HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Text
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Transactions']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
    -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Transactions']
    -> String -> String)
-> Show
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Transactions']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Transactions']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
 -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
 -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
    -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
    -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200Transactions' where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Value
toJSON DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"data" Text -> [BitcoinTransaction] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> [BitcoinTransaction]
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Data DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"has_more" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Bool
deleteCustomersCustomerSourcesIdResponseBody200Transactions'HasMore DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Text
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Url DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
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
"list" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Encoding
toEncoding DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"data" Text -> [BitcoinTransaction] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> [BitcoinTransaction]
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Data DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"has_more" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Bool
deleteCustomersCustomerSourcesIdResponseBody200Transactions'HasMore DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"url" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
-> Text
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Url DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
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
"list"))))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200Transactions' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
-> Value
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerSourcesIdResponseBody200Transactions'" (\Object
obj -> ((([BitcoinTransaction]
 -> Bool
 -> Text
 -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
-> Parser
     ([BitcoinTransaction]
      -> Bool
      -> Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure [BitcoinTransaction]
-> Bool
-> Text
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
DeleteCustomersCustomerSourcesIdResponseBody200Transactions' Parser
  ([BitcoinTransaction]
   -> Bool
   -> Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
-> Parser [BitcoinTransaction]
-> Parser
     (Bool
      -> Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser [BitcoinTransaction]
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"data")) Parser
  (Bool
   -> Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
-> Parser Bool
-> Parser
     (Text
      -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
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
"has_more")) Parser
  (Text
   -> DeleteCustomersCustomerSourcesIdResponseBody200Transactions')
-> Parser Text
-> Parser
     DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
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
"url"))

-- | Create a new 'DeleteCustomersCustomerSourcesIdResponseBody200Transactions'' with all required fields.
mkDeleteCustomersCustomerSourcesIdResponseBody200Transactions' ::
  -- | 'deleteCustomersCustomerSourcesIdResponseBody200Transactions'Data'
  [BitcoinTransaction] ->
  -- | 'deleteCustomersCustomerSourcesIdResponseBody200Transactions'HasMore'
  GHC.Types.Bool ->
  -- | 'deleteCustomersCustomerSourcesIdResponseBody200Transactions'Url'
  Data.Text.Internal.Text ->
  DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
mkDeleteCustomersCustomerSourcesIdResponseBody200Transactions' :: [BitcoinTransaction]
-> Bool
-> Text
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
mkDeleteCustomersCustomerSourcesIdResponseBody200Transactions' [BitcoinTransaction]
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Data Bool
deleteCustomersCustomerSourcesIdResponseBody200Transactions'HasMore Text
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Url =
  DeleteCustomersCustomerSourcesIdResponseBody200Transactions' :: [BitcoinTransaction]
-> Bool
-> Text
-> DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
DeleteCustomersCustomerSourcesIdResponseBody200Transactions'
    { deleteCustomersCustomerSourcesIdResponseBody200Transactions'Data :: [BitcoinTransaction]
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Data = [BitcoinTransaction]
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Data,
      deleteCustomersCustomerSourcesIdResponseBody200Transactions'HasMore :: Bool
deleteCustomersCustomerSourcesIdResponseBody200Transactions'HasMore = Bool
deleteCustomersCustomerSourcesIdResponseBody200Transactions'HasMore,
      deleteCustomersCustomerSourcesIdResponseBody200Transactions'Url :: Text
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Url = Text
deleteCustomersCustomerSourcesIdResponseBody200Transactions'Url
    }

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}\/sources\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.type@ in the specification.
--
-- The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`.
data DeleteCustomersCustomerSourcesIdResponseBody200Type'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerSourcesIdResponseBody200Type'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.
    DeleteCustomersCustomerSourcesIdResponseBody200Type'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"custom"@
    DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumCustom
  | -- | Represents the JSON value @"express"@
    DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumExpress
  | -- | Represents the JSON value @"standard"@
    DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumStandard
  deriving (Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> String
-> String
[DeleteCustomersCustomerSourcesIdResponseBody200Type']
-> String -> String
DeleteCustomersCustomerSourcesIdResponseBody200Type' -> String
(Int
 -> DeleteCustomersCustomerSourcesIdResponseBody200Type'
 -> String
 -> String)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Type' -> String)
-> ([DeleteCustomersCustomerSourcesIdResponseBody200Type']
    -> String -> String)
-> Show DeleteCustomersCustomerSourcesIdResponseBody200Type'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerSourcesIdResponseBody200Type']
-> String -> String
$cshowList :: [DeleteCustomersCustomerSourcesIdResponseBody200Type']
-> String -> String
show :: DeleteCustomersCustomerSourcesIdResponseBody200Type' -> String
$cshow :: DeleteCustomersCustomerSourcesIdResponseBody200Type' -> String
showsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> DeleteCustomersCustomerSourcesIdResponseBody200Type' -> Bool
(DeleteCustomersCustomerSourcesIdResponseBody200Type'
 -> DeleteCustomersCustomerSourcesIdResponseBody200Type' -> Bool)
-> (DeleteCustomersCustomerSourcesIdResponseBody200Type'
    -> DeleteCustomersCustomerSourcesIdResponseBody200Type' -> Bool)
-> Eq DeleteCustomersCustomerSourcesIdResponseBody200Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> DeleteCustomersCustomerSourcesIdResponseBody200Type' -> Bool
$c/= :: DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> DeleteCustomersCustomerSourcesIdResponseBody200Type' -> Bool
== :: DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> DeleteCustomersCustomerSourcesIdResponseBody200Type' -> Bool
$c== :: DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> DeleteCustomersCustomerSourcesIdResponseBody200Type' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerSourcesIdResponseBody200Type' where
  toJSON :: DeleteCustomersCustomerSourcesIdResponseBody200Type' -> Value
toJSON (DeleteCustomersCustomerSourcesIdResponseBody200Type'Other Value
val) = Value
val
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200Type'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200Type'
DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumCustom) = Value
"custom"
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200Type'
DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumExpress) = Value
"express"
  toJSON (DeleteCustomersCustomerSourcesIdResponseBody200Type'
DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumStandard) = Value
"standard"

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerSourcesIdResponseBody200Type' where
  parseJSON :: Value
-> Parser DeleteCustomersCustomerSourcesIdResponseBody200Type'
parseJSON Value
val =
    DeleteCustomersCustomerSourcesIdResponseBody200Type'
-> Parser DeleteCustomersCustomerSourcesIdResponseBody200Type'
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
"custom" -> DeleteCustomersCustomerSourcesIdResponseBody200Type'
DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumCustom
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"express" -> DeleteCustomersCustomerSourcesIdResponseBody200Type'
DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumExpress
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"standard" -> DeleteCustomersCustomerSourcesIdResponseBody200Type'
DeleteCustomersCustomerSourcesIdResponseBody200Type'EnumStandard
            | Bool
GHC.Base.otherwise -> Value -> DeleteCustomersCustomerSourcesIdResponseBody200Type'
DeleteCustomersCustomerSourcesIdResponseBody200Type'Other Value
val
      )