{-# 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 deleteCustomersCustomerBankAccountsId
module StripeAPI.Operations.DeleteCustomersCustomerBankAccountsId 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}/bank_accounts/{id}
--
-- \<p>Delete a specified source for a given customer.\<\/p>
deleteCustomersCustomerBankAccountsId ::
  forall m.
  StripeAPI.Common.MonadHTTP m =>
  -- | Contains all available parameters of this operation (query and path parameters)
  DeleteCustomersCustomerBankAccountsIdParameters ->
  -- | The request body to send
  GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdRequestBody ->
  -- | Monadic computation which returns the result of the operation
  StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response DeleteCustomersCustomerBankAccountsIdResponse)
deleteCustomersCustomerBankAccountsId :: DeleteCustomersCustomerBankAccountsIdParameters
-> Maybe DeleteCustomersCustomerBankAccountsIdRequestBody
-> ClientT
     m (Response DeleteCustomersCustomerBankAccountsIdResponse)
deleteCustomersCustomerBankAccountsId
  DeleteCustomersCustomerBankAccountsIdParameters
parameters
  Maybe DeleteCustomersCustomerBankAccountsIdRequestBody
body =
    (Response ByteString
 -> Response DeleteCustomersCustomerBankAccountsIdResponse)
-> ClientT m (Response ByteString)
-> ClientT
     m (Response DeleteCustomersCustomerBankAccountsIdResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
      ( \Response ByteString
response_0 ->
          (ByteString -> DeleteCustomersCustomerBankAccountsIdResponse)
-> Response ByteString
-> Response DeleteCustomersCustomerBankAccountsIdResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
            ( (String -> DeleteCustomersCustomerBankAccountsIdResponse)
-> (DeleteCustomersCustomerBankAccountsIdResponse
    -> DeleteCustomersCustomerBankAccountsIdResponse)
-> Either String DeleteCustomersCustomerBankAccountsIdResponse
-> DeleteCustomersCustomerBankAccountsIdResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> DeleteCustomersCustomerBankAccountsIdResponse
DeleteCustomersCustomerBankAccountsIdResponseError DeleteCustomersCustomerBankAccountsIdResponse
-> DeleteCustomersCustomerBankAccountsIdResponse
forall a. a -> a
GHC.Base.id
                (Either String DeleteCustomersCustomerBankAccountsIdResponse
 -> DeleteCustomersCustomerBankAccountsIdResponse)
-> (ByteString
    -> Either String DeleteCustomersCustomerBankAccountsIdResponse)
-> ByteString
-> DeleteCustomersCustomerBankAccountsIdResponse
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) ->
                                     DeleteCustomersCustomerBankAccountsIdResponseBody200
-> DeleteCustomersCustomerBankAccountsIdResponse
DeleteCustomersCustomerBankAccountsIdResponse200
                                       (DeleteCustomersCustomerBankAccountsIdResponseBody200
 -> DeleteCustomersCustomerBankAccountsIdResponse)
-> Either
     String DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Either String DeleteCustomersCustomerBankAccountsIdResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString
-> Either
     String DeleteCustomersCustomerBankAccountsIdResponseBody200
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                            Data.Either.Either
                                                              GHC.Base.String
                                                              DeleteCustomersCustomerBankAccountsIdResponseBody200
                                                        )
                                   | 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 -> DeleteCustomersCustomerBankAccountsIdResponse
DeleteCustomersCustomerBankAccountsIdResponseDefault
                                       (Error -> DeleteCustomersCustomerBankAccountsIdResponse)
-> Either String Error
-> Either String DeleteCustomersCustomerBankAccountsIdResponse
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 DeleteCustomersCustomerBankAccountsIdResponse
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 DeleteCustomersCustomerBankAccountsIdRequestBody
-> 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 (DeleteCustomersCustomerBankAccountsIdParameters -> Text
deleteCustomersCustomerBankAccountsIdParametersPathCustomer DeleteCustomersCustomerBankAccountsIdParameters
parameters))) String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ (String
"/bank_accounts/" 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 (DeleteCustomersCustomerBankAccountsIdParameters -> Text
deleteCustomersCustomerBankAccountsIdParametersPathId DeleteCustomersCustomerBankAccountsIdParameters
parameters))) String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ String
""))))) [QueryParameter]
forall a. Monoid a => a
GHC.Base.mempty Maybe DeleteCustomersCustomerBankAccountsIdRequestBody
body RequestBodyEncoding
StripeAPI.Common.RequestBodyEncodingFormData)

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

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdParameters where
  toJSON :: DeleteCustomersCustomerBankAccountsIdParameters -> Value
toJSON DeleteCustomersCustomerBankAccountsIdParameters
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..= DeleteCustomersCustomerBankAccountsIdParameters -> Text
deleteCustomersCustomerBankAccountsIdParametersPathCustomer DeleteCustomersCustomerBankAccountsIdParameters
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..= DeleteCustomersCustomerBankAccountsIdParameters -> Text
deleteCustomersCustomerBankAccountsIdParametersPathId DeleteCustomersCustomerBankAccountsIdParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerBankAccountsIdParameters -> Encoding
toEncoding DeleteCustomersCustomerBankAccountsIdParameters
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..= DeleteCustomersCustomerBankAccountsIdParameters -> Text
deleteCustomersCustomerBankAccountsIdParametersPathCustomer DeleteCustomersCustomerBankAccountsIdParameters
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..= DeleteCustomersCustomerBankAccountsIdParameters -> Text
deleteCustomersCustomerBankAccountsIdParametersPathId DeleteCustomersCustomerBankAccountsIdParameters
obj))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdParameters where
  parseJSON :: Value -> Parser DeleteCustomersCustomerBankAccountsIdParameters
parseJSON = String
-> (Object
    -> Parser DeleteCustomersCustomerBankAccountsIdParameters)
-> Value
-> Parser DeleteCustomersCustomerBankAccountsIdParameters
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerBankAccountsIdParameters" (\Object
obj -> ((Text -> Text -> DeleteCustomersCustomerBankAccountsIdParameters)
-> Parser
     (Text -> Text -> DeleteCustomersCustomerBankAccountsIdParameters)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Text -> Text -> DeleteCustomersCustomerBankAccountsIdParameters
DeleteCustomersCustomerBankAccountsIdParameters Parser
  (Text -> Text -> DeleteCustomersCustomerBankAccountsIdParameters)
-> Parser Text
-> Parser (Text -> DeleteCustomersCustomerBankAccountsIdParameters)
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 -> DeleteCustomersCustomerBankAccountsIdParameters)
-> Parser Text
-> Parser DeleteCustomersCustomerBankAccountsIdParameters
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 'DeleteCustomersCustomerBankAccountsIdParameters' with all required fields.
mkDeleteCustomersCustomerBankAccountsIdParameters ::
  -- | 'deleteCustomersCustomerBankAccountsIdParametersPathCustomer'
  Data.Text.Internal.Text ->
  -- | 'deleteCustomersCustomerBankAccountsIdParametersPathId'
  Data.Text.Internal.Text ->
  DeleteCustomersCustomerBankAccountsIdParameters
mkDeleteCustomersCustomerBankAccountsIdParameters :: Text -> Text -> DeleteCustomersCustomerBankAccountsIdParameters
mkDeleteCustomersCustomerBankAccountsIdParameters Text
deleteCustomersCustomerBankAccountsIdParametersPathCustomer Text
deleteCustomersCustomerBankAccountsIdParametersPathId =
  DeleteCustomersCustomerBankAccountsIdParameters :: Text -> Text -> DeleteCustomersCustomerBankAccountsIdParameters
DeleteCustomersCustomerBankAccountsIdParameters
    { deleteCustomersCustomerBankAccountsIdParametersPathCustomer :: Text
deleteCustomersCustomerBankAccountsIdParametersPathCustomer = Text
deleteCustomersCustomerBankAccountsIdParametersPathCustomer,
      deleteCustomersCustomerBankAccountsIdParametersPathId :: Text
deleteCustomersCustomerBankAccountsIdParametersPathId = Text
deleteCustomersCustomerBankAccountsIdParametersPathId
    }

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

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdRequestBody where
  toJSON :: DeleteCustomersCustomerBankAccountsIdRequestBody -> Value
toJSON DeleteCustomersCustomerBankAccountsIdRequestBody
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..= DeleteCustomersCustomerBankAccountsIdRequestBody -> Maybe [Text]
deleteCustomersCustomerBankAccountsIdRequestBodyExpand DeleteCustomersCustomerBankAccountsIdRequestBody
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerBankAccountsIdRequestBody -> Encoding
toEncoding DeleteCustomersCustomerBankAccountsIdRequestBody
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..= DeleteCustomersCustomerBankAccountsIdRequestBody -> Maybe [Text]
deleteCustomersCustomerBankAccountsIdRequestBodyExpand DeleteCustomersCustomerBankAccountsIdRequestBody
obj)

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdRequestBody where
  parseJSON :: Value -> Parser DeleteCustomersCustomerBankAccountsIdRequestBody
parseJSON = String
-> (Object
    -> Parser DeleteCustomersCustomerBankAccountsIdRequestBody)
-> Value
-> Parser DeleteCustomersCustomerBankAccountsIdRequestBody
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerBankAccountsIdRequestBody" (\Object
obj -> (Maybe [Text] -> DeleteCustomersCustomerBankAccountsIdRequestBody)
-> Parser
     (Maybe [Text] -> DeleteCustomersCustomerBankAccountsIdRequestBody)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe [Text] -> DeleteCustomersCustomerBankAccountsIdRequestBody
DeleteCustomersCustomerBankAccountsIdRequestBody Parser
  (Maybe [Text] -> DeleteCustomersCustomerBankAccountsIdRequestBody)
-> Parser (Maybe [Text])
-> Parser DeleteCustomersCustomerBankAccountsIdRequestBody
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 'DeleteCustomersCustomerBankAccountsIdRequestBody' with all required fields.
mkDeleteCustomersCustomerBankAccountsIdRequestBody :: DeleteCustomersCustomerBankAccountsIdRequestBody
mkDeleteCustomersCustomerBankAccountsIdRequestBody :: DeleteCustomersCustomerBankAccountsIdRequestBody
mkDeleteCustomersCustomerBankAccountsIdRequestBody = DeleteCustomersCustomerBankAccountsIdRequestBody :: Maybe [Text] -> DeleteCustomersCustomerBankAccountsIdRequestBody
DeleteCustomersCustomerBankAccountsIdRequestBody {deleteCustomersCustomerBankAccountsIdRequestBodyExpand :: Maybe [Text]
deleteCustomersCustomerBankAccountsIdRequestBodyExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing}

-- | Represents a response of the operation 'deleteCustomersCustomerBankAccountsId'.
--
-- 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), 'DeleteCustomersCustomerBankAccountsIdResponseError' is used.
data DeleteCustomersCustomerBankAccountsIdResponse
  = -- | Means either no matching case available or a parse error
    DeleteCustomersCustomerBankAccountsIdResponseError GHC.Base.String
  | -- | Successful response.
    DeleteCustomersCustomerBankAccountsIdResponse200 DeleteCustomersCustomerBankAccountsIdResponseBody200
  | -- | Error response.
    DeleteCustomersCustomerBankAccountsIdResponseDefault Error
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponse
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponse] -> String -> String
DeleteCustomersCustomerBankAccountsIdResponse -> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponse
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponse -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponse]
    -> String -> String)
-> Show DeleteCustomersCustomerBankAccountsIdResponse
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponse] -> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponse] -> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponse -> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponse -> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponse
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponse
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponse
-> DeleteCustomersCustomerBankAccountsIdResponse -> Bool
(DeleteCustomersCustomerBankAccountsIdResponse
 -> DeleteCustomersCustomerBankAccountsIdResponse -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponse
    -> DeleteCustomersCustomerBankAccountsIdResponse -> Bool)
-> Eq DeleteCustomersCustomerBankAccountsIdResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponse
-> DeleteCustomersCustomerBankAccountsIdResponse -> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponse
-> DeleteCustomersCustomerBankAccountsIdResponse -> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponse
-> DeleteCustomersCustomerBankAccountsIdResponse -> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponse
-> DeleteCustomersCustomerBankAccountsIdResponse -> Bool
GHC.Classes.Eq)

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf@ in the specification.
data DeleteCustomersCustomerBankAccountsIdResponseBody200 = DeleteCustomersCustomerBankAccountsIdResponseBody200
  { -- | account: The ID of the account that the bank account is associated with.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Account :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants),
    -- | account_holder_name: The name of the person or business that owns the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderName :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderType :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ach_credit_transfer
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAchCreditTransfer
deleteCustomersCustomerBankAccountsIdResponseBody200AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer),
    -- | ach_debit
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAchDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit),
    -- | acss_debit
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAcssDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AcssDebit :: (GHC.Maybe.Maybe SourceTypeAcssDebit),
    -- | active: True when this bitcoin receiver has received a non-zero amount of bitcoin.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Active :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | address_city: City\/District\/Suburb\/Town\/Village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressCity :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_country: Billing address country, if provided when creating card.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressCountry :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line1: Address line 1 (Street address\/PO Box\/Company name).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1 :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1Check :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_state: State\/County\/Province\/Region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressState :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_zip: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressZip :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressZipCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | alipay
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAlipay
deleteCustomersCustomerBankAccountsIdResponseBody200Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay),
    -- | amount: The amount of \`currency\` that you are collecting as payment.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200Amount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | amount_received: The amount of \`currency\` to which \`bitcoin_amount_received\` has been converted.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200AmountReceived :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | au_becs_debit
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAuBecsDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AuBecsDebit :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
deleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods :: (GHC.Maybe.Maybe ([DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'])),
    -- | bancontact
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeBancontact
deleteCustomersCustomerBankAccountsIdResponseBody200Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact),
    -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BankName :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | bitcoin_amount_received: The amount of bitcoin that has been sent by the customer to this receiver.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmountReceived :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinUri :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Brand :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | business_profile: Business information about the account.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'),
    -- | business_type: The business type.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessType :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'),
    -- | capabilities:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountCapabilities
deleteCustomersCustomerBankAccountsIdResponseBody200Capabilities :: (GHC.Maybe.Maybe AccountCapabilities),
    -- | card
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeCard
deleteCustomersCustomerBankAccountsIdResponseBody200Card :: (GHC.Maybe.Maybe SourceTypeCard),
    -- | card_present
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeCardPresent
deleteCustomersCustomerBankAccountsIdResponseBody200CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent),
    -- | charges_enabled: Whether the account can create live charges.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ChargesEnabled :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ClientSecret :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | code_verification:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceCodeVerificationFlow
deleteCustomersCustomerBankAccountsIdResponseBody200CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow),
    -- | company:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe LegalEntityCompany
deleteCustomersCustomerBankAccountsIdResponseBody200Company :: (GHC.Maybe.Maybe LegalEntityCompany),
    -- | controller:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountController
deleteCustomersCustomerBankAccountsIdResponseBody200Controller :: (GHC.Maybe.Maybe AccountController),
    -- | country: The account\'s country.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200Created :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer: The ID of the customer associated with this Alipay Account.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Customer :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200CvcCheck :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200DefaultCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_for_currency: Whether this bank account is the default external account for its currency.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200DefaultForCurrency :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | details_submitted: Whether account details have been submitted. Standard accounts cannot receive payouts before this is true.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200DetailsSubmitted :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200DynamicLast4 :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | eps
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeEps
deleteCustomersCustomerBankAccountsIdResponseBody200Eps :: (GHC.Maybe.Maybe SourceTypeEps),
    -- | exp_month: Two-digit number representing the card\'s expiration month.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | exp_year: Four-digit number representing the card\'s expiration year.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExpYear :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | external_accounts: External accounts (bank accounts and debit cards) currently attached to this account
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'),
    -- | filled: This flag is initially false and updates to true when the customer sends the \`bitcoin_amount\` to this receiver.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Filled :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Fingerprint :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Flow :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Funding :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | giropay
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeGiropay
deleteCustomersCustomerBankAccountsIdResponseBody200Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ideal
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeIdeal
deleteCustomersCustomerBankAccountsIdResponseBody200Ideal :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200InboundAddress :: (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).
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe Person
deleteCustomersCustomerBankAccountsIdResponseBody200Individual :: (GHC.Maybe.Maybe Person),
    -- | klarna
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeKlarna
deleteCustomersCustomerBankAccountsIdResponseBody200Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna),
    -- | last4: The last four digits of the bank account number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Last4 :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Livemode :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe Object
deleteCustomersCustomerBankAccountsIdResponseBody200Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
    -- | multibanco
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeMultibanco
deleteCustomersCustomerBankAccountsIdResponseBody200Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco),
    -- | name: Cardholder name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | object: String representing the object\'s type. Objects of the same type share the same value.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
deleteCustomersCustomerBankAccountsIdResponseBody200Object :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Object'),
    -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
deleteCustomersCustomerBankAccountsIdResponseBody200Owner :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'),
    -- | p24
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeP24
deleteCustomersCustomerBankAccountsIdResponseBody200P24 :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Payment :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200PaymentAmount :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200PaymentCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | payouts_enabled: Whether Stripe can send payouts to this account.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200PayoutsEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | receiver:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceReceiverFlow
deleteCustomersCustomerBankAccountsIdResponseBody200Receiver :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Recipient :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants),
    -- | redirect:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceRedirectFlow
deleteCustomersCustomerBankAccountsIdResponseBody200Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow),
    -- | refund_address: The refund address of this bitcoin receiver.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200RefundAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | requirements:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountRequirements
deleteCustomersCustomerBankAccountsIdResponseBody200Requirements :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Reusable :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | routing_number: The routing transit number for the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200RoutingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | sepa_debit
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeSepaDebit
deleteCustomersCustomerBankAccountsIdResponseBody200SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit),
    -- | settings: Options for customizing how the account functions within Stripe.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
deleteCustomersCustomerBankAccountsIdResponseBody200Settings :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'),
    -- | sofort
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeSofort
deleteCustomersCustomerBankAccountsIdResponseBody200Sofort :: (GHC.Maybe.Maybe SourceTypeSofort),
    -- | source_order:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceOrder
deleteCustomersCustomerBankAccountsIdResponseBody200SourceOrder :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200StatementDescriptor :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Status :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | three_d_secure
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeThreeDSecure
deleteCustomersCustomerBankAccountsIdResponseBody200ThreeDSecure :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200TokenizationMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | tos_acceptance:
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountTosAcceptance
deleteCustomersCustomerBankAccountsIdResponseBody200TosAcceptance :: (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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'),
    -- | type: The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`.
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
deleteCustomersCustomerBankAccountsIdResponseBody200Type :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'),
    -- | uncaptured_funds: This receiver contains uncaptured funds that can be used for a payment or refunded.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200UncapturedFunds :: (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
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Usage :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | used: Whether this Alipay account object has ever been used for a payment.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Used :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | used_for_payment: Indicate if this source is used for payment.
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200UsedForPayment :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | username: The username for the Alipay account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Username :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | wechat
    DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeWechat
deleteCustomersCustomerBankAccountsIdResponseBody200Wechat :: (GHC.Maybe.Maybe SourceTypeWechat)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200]
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200 -> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200 -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200]
    -> String -> String)
-> Show DeleteCustomersCustomerBankAccountsIdResponseBody200
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200]
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200]
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200 -> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200 -> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerBankAccountsIdResponseBody200
-> DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Bool)
-> Eq DeleteCustomersCustomerBankAccountsIdResponseBody200
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200
-> DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200
-> DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200
-> DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200
-> DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdResponseBody200 where
  toJSON :: DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Value
toJSON DeleteCustomersCustomerBankAccountsIdResponseBody200
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"account" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Account DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderName DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderType DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAchCreditTransfer
deleteCustomersCustomerBankAccountsIdResponseBody200AchCreditTransfer DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAchDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AchDebit DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAcssDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AcssDebit DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Active DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressCity DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressCountry DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1Check DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine2 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressState DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressZip DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressZipCheck DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAlipay
deleteCustomersCustomerBankAccountsIdResponseBody200Alipay DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200Amount DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200AmountReceived DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAuBecsDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AuBecsDebit DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"available_payout_methods" Text
-> Maybe
     [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
deleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeBancontact
deleteCustomersCustomerBankAccountsIdResponseBody200Bancontact DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BankName DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmount DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmountReceived DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinUri DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Brand DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"business_profile" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"business_type" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessType DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountCapabilities
deleteCustomersCustomerBankAccountsIdResponseBody200Capabilities DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeCard
deleteCustomersCustomerBankAccountsIdResponseBody200Card DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeCardPresent
deleteCustomersCustomerBankAccountsIdResponseBody200CardPresent DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ChargesEnabled DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ClientSecret DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceCodeVerificationFlow
deleteCustomersCustomerBankAccountsIdResponseBody200CodeVerification DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe LegalEntityCompany
deleteCustomersCustomerBankAccountsIdResponseBody200Company DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountController
deleteCustomersCustomerBankAccountsIdResponseBody200Controller DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Country DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200Created DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Currency DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Customer DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200CvcCheck DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200DefaultCurrency DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200DefaultForCurrency DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Description DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200DetailsSubmitted DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200DynamicLast4 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Email DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeEps
deleteCustomersCustomerBankAccountsIdResponseBody200Eps DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExpMonth DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExpYear DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"external_accounts" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Filled DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Fingerprint DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Flow DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Funding DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeGiropay
deleteCustomersCustomerBankAccountsIdResponseBody200Giropay DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Id DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeIdeal
deleteCustomersCustomerBankAccountsIdResponseBody200Ideal DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200InboundAddress DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe Person
deleteCustomersCustomerBankAccountsIdResponseBody200Individual DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeKlarna
deleteCustomersCustomerBankAccountsIdResponseBody200Klarna DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Last4 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Livemode DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe Object
deleteCustomersCustomerBankAccountsIdResponseBody200Metadata DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeMultibanco
deleteCustomersCustomerBankAccountsIdResponseBody200Multibanco DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Name DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
deleteCustomersCustomerBankAccountsIdResponseBody200Object DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"owner" Text
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
deleteCustomersCustomerBankAccountsIdResponseBody200Owner DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeP24
deleteCustomersCustomerBankAccountsIdResponseBody200P24 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Payment DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200PaymentAmount DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200PaymentCurrency DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200PayoutsEnabled DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceReceiverFlow
deleteCustomersCustomerBankAccountsIdResponseBody200Receiver DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"recipient" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Recipient DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceRedirectFlow
deleteCustomersCustomerBankAccountsIdResponseBody200Redirect DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200RefundAddress DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountRequirements
deleteCustomersCustomerBankAccountsIdResponseBody200Requirements DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Reusable DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200RoutingNumber DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeSepaDebit
deleteCustomersCustomerBankAccountsIdResponseBody200SepaDebit DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"settings" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
deleteCustomersCustomerBankAccountsIdResponseBody200Settings DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeSofort
deleteCustomersCustomerBankAccountsIdResponseBody200Sofort DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceOrder
deleteCustomersCustomerBankAccountsIdResponseBody200SourceOrder DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200StatementDescriptor DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Status DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeThreeDSecure
deleteCustomersCustomerBankAccountsIdResponseBody200ThreeDSecure DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200TokenizationMethod DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountTosAcceptance
deleteCustomersCustomerBankAccountsIdResponseBody200TosAcceptance DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"transactions" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
deleteCustomersCustomerBankAccountsIdResponseBody200Type DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200UncapturedFunds DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Usage DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Used DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200UsedForPayment DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Username DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeWechat
deleteCustomersCustomerBankAccountsIdResponseBody200Wechat DeleteCustomersCustomerBankAccountsIdResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Encoding
toEncoding DeleteCustomersCustomerBankAccountsIdResponseBody200
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"account" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Account DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderName DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderType DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAchCreditTransfer
deleteCustomersCustomerBankAccountsIdResponseBody200AchCreditTransfer DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAchDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AchDebit DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAcssDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AcssDebit DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Active DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressCity DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressCountry DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1Check DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine2 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressState DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressZip DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressZipCheck DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAlipay
deleteCustomersCustomerBankAccountsIdResponseBody200Alipay DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200Amount DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200AmountReceived DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeAuBecsDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AuBecsDebit DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"available_payout_methods" Text
-> Maybe
     [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
deleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeBancontact
deleteCustomersCustomerBankAccountsIdResponseBody200Bancontact DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BankName DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmount DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmountReceived DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinUri DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Brand DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"business_profile" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"business_type" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessType DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountCapabilities
deleteCustomersCustomerBankAccountsIdResponseBody200Capabilities DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeCard
deleteCustomersCustomerBankAccountsIdResponseBody200Card DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeCardPresent
deleteCustomersCustomerBankAccountsIdResponseBody200CardPresent DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ChargesEnabled DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ClientSecret DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceCodeVerificationFlow
deleteCustomersCustomerBankAccountsIdResponseBody200CodeVerification DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe LegalEntityCompany
deleteCustomersCustomerBankAccountsIdResponseBody200Company DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountController
deleteCustomersCustomerBankAccountsIdResponseBody200Controller DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Country DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200Created DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Currency DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Customer DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200CvcCheck DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200DefaultCurrency DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200DefaultForCurrency DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Description DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200DetailsSubmitted DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200DynamicLast4 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Email DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeEps
deleteCustomersCustomerBankAccountsIdResponseBody200Eps DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExpMonth DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExpYear DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"external_accounts" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Filled DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Fingerprint DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Flow DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Funding DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeGiropay
deleteCustomersCustomerBankAccountsIdResponseBody200Giropay DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Id DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeIdeal
deleteCustomersCustomerBankAccountsIdResponseBody200Ideal DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200InboundAddress DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe Person
deleteCustomersCustomerBankAccountsIdResponseBody200Individual DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeKlarna
deleteCustomersCustomerBankAccountsIdResponseBody200Klarna DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Last4 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Livemode DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe Object
deleteCustomersCustomerBankAccountsIdResponseBody200Metadata DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeMultibanco
deleteCustomersCustomerBankAccountsIdResponseBody200Multibanco DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Name DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"object" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
deleteCustomersCustomerBankAccountsIdResponseBody200Object DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"owner" Text
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
deleteCustomersCustomerBankAccountsIdResponseBody200Owner DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeP24
deleteCustomersCustomerBankAccountsIdResponseBody200P24 DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Payment DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200PaymentAmount DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200PaymentCurrency DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200PayoutsEnabled DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceReceiverFlow
deleteCustomersCustomerBankAccountsIdResponseBody200Receiver DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"recipient" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Recipient DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceRedirectFlow
deleteCustomersCustomerBankAccountsIdResponseBody200Redirect DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200RefundAddress DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountRequirements
deleteCustomersCustomerBankAccountsIdResponseBody200Requirements DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Reusable DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200RoutingNumber DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeSepaDebit
deleteCustomersCustomerBankAccountsIdResponseBody200SepaDebit DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"settings" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
deleteCustomersCustomerBankAccountsIdResponseBody200Settings DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeSofort
deleteCustomersCustomerBankAccountsIdResponseBody200Sofort DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceOrder
deleteCustomersCustomerBankAccountsIdResponseBody200SourceOrder DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200StatementDescriptor DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Status DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeThreeDSecure
deleteCustomersCustomerBankAccountsIdResponseBody200ThreeDSecure DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200TokenizationMethod DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe AccountTosAcceptance
deleteCustomersCustomerBankAccountsIdResponseBody200TosAcceptance DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"transactions" Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions DeleteCustomersCustomerBankAccountsIdResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"type" Text
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
deleteCustomersCustomerBankAccountsIdResponseBody200Type DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200UncapturedFunds DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Usage DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Used DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200UsedForPayment DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200 -> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Username DeleteCustomersCustomerBankAccountsIdResponseBody200
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200
-> Maybe SourceTypeWechat
deleteCustomersCustomerBankAccountsIdResponseBody200Wechat DeleteCustomersCustomerBankAccountsIdResponseBody200
obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdResponseBody200 where
  parseJSON :: Value
-> Parser DeleteCustomersCustomerBankAccountsIdResponseBody200
parseJSON = String
-> (Object
    -> Parser DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Value
-> Parser DeleteCustomersCustomerBankAccountsIdResponseBody200
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerBankAccountsIdResponseBody200" (\Object
obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Maybe
   DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
      [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
 -> Maybe SourceTypeBancontact
 -> Maybe Text
 -> Maybe Int
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
 -> Maybe AccountCapabilities
 -> Maybe SourceTypeCard
 -> Maybe SourceTypeCardPresent
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceCodeVerificationFlow
 -> Maybe LegalEntityCompany
 -> Maybe AccountController
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeEps
 -> Maybe Int
 -> Maybe Int
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
 -> 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
      DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
 -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
 -> Maybe SourceTypeP24
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Bool
 -> Maybe SourceReceiverFlow
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
 -> Maybe SourceRedirectFlow
 -> Maybe Text
 -> Maybe AccountRequirements
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceTypeSepaDebit
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
 -> Maybe SourceTypeSofort
 -> Maybe SourceOrder
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeThreeDSecure
 -> Maybe Text
 -> Maybe AccountTosAcceptance
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
 -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceTypeWechat
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
     [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
-> Maybe AccountCapabilities
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Bool
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe LegalEntityCompany
-> Maybe AccountController
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeEps
-> Maybe Int
-> Maybe Int
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> 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
     DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
-> Maybe SourceTypeP24
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Bool
-> Maybe SourceReceiverFlow
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe AccountRequirements
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe AccountTosAcceptance
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeWechat
-> DeleteCustomersCustomerBankAccountsIdResponseBody200
DeleteCustomersCustomerBankAccountsIdResponseBody200 Parser
  (Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeAlipay)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe SourceTypeAuBecsDebit
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeAuBecsDebit)
-> Parser
     (Maybe
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
     [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'])
-> Parser
     (Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'])
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeBancontact)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
      -> Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"business_profile")) Parser
  (Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
   -> Maybe AccountCapabilities
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe LegalEntityCompany
   -> Maybe AccountController
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType')
-> Parser
     (Maybe AccountCapabilities
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType')
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeCard)
-> Parser
     (Maybe SourceTypeCardPresent
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeCardPresent)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceCodeVerificationFlow
      -> Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceCodeVerificationFlow)
-> Parser
     (Maybe LegalEntityCompany
      -> Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe LegalEntityCompany)
-> Parser
     (Maybe AccountController
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe AccountController)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeEps)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
      -> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
   -> 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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
-> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> 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
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeIdeal)
-> Parser
     (Maybe Text
      -> Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Person
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Person)
-> Parser
     (Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeKlarna)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Object)
-> Parser
     (Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeMultibanco)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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 DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Object')
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Object')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"object")) Parser
  (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Bool
   -> Maybe SourceReceiverFlow
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner')
-> Parser
     (Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner')
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeP24)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe SourceReceiverFlow
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceReceiverFlow)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe AccountRequirements
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants)
-> Parser
     (Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceRedirectFlow)
-> Parser
     (Maybe Text
      -> Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe AccountRequirements
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe AccountRequirements)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeSepaDebit
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeSepaDebit)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe AccountTosAcceptance
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser
     (Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeSofort)
-> Parser
     (Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceOrder)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeThreeDSecure)
-> Parser
     (Maybe Text
      -> Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe AccountTosAcceptance
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe AccountTosAcceptance)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
      -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
   -> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"transactions")) Parser
  (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type')
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeWechat
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200)
-> Parser (Maybe SourceTypeWechat)
-> Parser DeleteCustomersCustomerBankAccountsIdResponseBody200
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 'DeleteCustomersCustomerBankAccountsIdResponseBody200' with all required fields.
mkDeleteCustomersCustomerBankAccountsIdResponseBody200 :: DeleteCustomersCustomerBankAccountsIdResponseBody200
mkDeleteCustomersCustomerBankAccountsIdResponseBody200 :: DeleteCustomersCustomerBankAccountsIdResponseBody200
mkDeleteCustomersCustomerBankAccountsIdResponseBody200 =
  DeleteCustomersCustomerBankAccountsIdResponseBody200 :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
     [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
-> Maybe AccountCapabilities
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Bool
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe LegalEntityCompany
-> Maybe AccountController
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeEps
-> Maybe Int
-> Maybe Int
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> 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
     DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
-> Maybe SourceTypeP24
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Bool
-> Maybe SourceReceiverFlow
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe AccountRequirements
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe AccountTosAcceptance
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeWechat
-> DeleteCustomersCustomerBankAccountsIdResponseBody200
DeleteCustomersCustomerBankAccountsIdResponseBody200
    { deleteCustomersCustomerBankAccountsIdResponseBody200Account :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Account = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderName :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderType :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AccountHolderType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AchCreditTransfer :: Maybe SourceTypeAchCreditTransfer
deleteCustomersCustomerBankAccountsIdResponseBody200AchCreditTransfer = Maybe SourceTypeAchCreditTransfer
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AchDebit :: Maybe SourceTypeAchDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AchDebit = Maybe SourceTypeAchDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AcssDebit :: Maybe SourceTypeAcssDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AcssDebit = Maybe SourceTypeAcssDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Active :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Active = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AddressCity :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressCity = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AddressCountry :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressCountry = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1 :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1Check :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine1Check = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine2 :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressLine2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AddressState :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressState = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AddressZip :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressZip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AddressZipCheck :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200AddressZipCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Alipay :: Maybe SourceTypeAlipay
deleteCustomersCustomerBankAccountsIdResponseBody200Alipay = Maybe SourceTypeAlipay
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Amount :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200Amount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AmountReceived :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200AmountReceived = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AuBecsDebit :: Maybe SourceTypeAuBecsDebit
deleteCustomersCustomerBankAccountsIdResponseBody200AuBecsDebit = Maybe SourceTypeAuBecsDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods :: Maybe
  [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
deleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods = Maybe
  [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Bancontact :: Maybe SourceTypeBancontact
deleteCustomersCustomerBankAccountsIdResponseBody200Bancontact = Maybe SourceTypeBancontact
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BankName :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BankName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmount :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmountReceived :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinAmountReceived = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinUri :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BitcoinUri = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Brand :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Brand = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessType :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessType = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessType'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Capabilities :: Maybe AccountCapabilities
deleteCustomersCustomerBankAccountsIdResponseBody200Capabilities = Maybe AccountCapabilities
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Card :: Maybe SourceTypeCard
deleteCustomersCustomerBankAccountsIdResponseBody200Card = Maybe SourceTypeCard
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200CardPresent :: Maybe SourceTypeCardPresent
deleteCustomersCustomerBankAccountsIdResponseBody200CardPresent = Maybe SourceTypeCardPresent
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ChargesEnabled :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ChargesEnabled = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ClientSecret :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ClientSecret = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200CodeVerification :: Maybe SourceCodeVerificationFlow
deleteCustomersCustomerBankAccountsIdResponseBody200CodeVerification = Maybe SourceCodeVerificationFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Company :: Maybe LegalEntityCompany
deleteCustomersCustomerBankAccountsIdResponseBody200Company = Maybe LegalEntityCompany
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Controller :: Maybe AccountController
deleteCustomersCustomerBankAccountsIdResponseBody200Controller = Maybe AccountController
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Country :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Created :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200Created = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Currency :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Customer :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Customer = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200CvcCheck :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200CvcCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200DefaultCurrency :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200DefaultCurrency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200DefaultForCurrency :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200DefaultForCurrency = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Description :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Description = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200DetailsSubmitted :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200DetailsSubmitted = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200DynamicLast4 :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200DynamicLast4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Email :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Email = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Eps :: Maybe SourceTypeEps
deleteCustomersCustomerBankAccountsIdResponseBody200Eps = Maybe SourceTypeEps
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExpMonth :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExpMonth = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExpYear :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExpYear = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Filled :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Filled = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Fingerprint :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Fingerprint = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Flow :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Flow = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Funding :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Funding = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Giropay :: Maybe SourceTypeGiropay
deleteCustomersCustomerBankAccountsIdResponseBody200Giropay = Maybe SourceTypeGiropay
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Id :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Ideal :: Maybe SourceTypeIdeal
deleteCustomersCustomerBankAccountsIdResponseBody200Ideal = Maybe SourceTypeIdeal
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200InboundAddress :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200InboundAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Individual :: Maybe Person
deleteCustomersCustomerBankAccountsIdResponseBody200Individual = Maybe Person
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Klarna :: Maybe SourceTypeKlarna
deleteCustomersCustomerBankAccountsIdResponseBody200Klarna = Maybe SourceTypeKlarna
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Last4 :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Last4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Livemode :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Livemode = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Metadata :: Maybe Object
deleteCustomersCustomerBankAccountsIdResponseBody200Metadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Multibanco :: Maybe SourceTypeMultibanco
deleteCustomersCustomerBankAccountsIdResponseBody200Multibanco = Maybe SourceTypeMultibanco
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Name :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Object :: Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
deleteCustomersCustomerBankAccountsIdResponseBody200Object = Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Owner :: Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
deleteCustomersCustomerBankAccountsIdResponseBody200Owner = Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Owner'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200P24 :: Maybe SourceTypeP24
deleteCustomersCustomerBankAccountsIdResponseBody200P24 = Maybe SourceTypeP24
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Payment :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Payment = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200PaymentAmount :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200PaymentAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200PaymentCurrency :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200PaymentCurrency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200PayoutsEnabled :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200PayoutsEnabled = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Receiver :: Maybe SourceReceiverFlow
deleteCustomersCustomerBankAccountsIdResponseBody200Receiver = Maybe SourceReceiverFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Recipient :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200Recipient = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Redirect :: Maybe SourceRedirectFlow
deleteCustomersCustomerBankAccountsIdResponseBody200Redirect = Maybe SourceRedirectFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200RefundAddress :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200RefundAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Requirements :: Maybe AccountRequirements
deleteCustomersCustomerBankAccountsIdResponseBody200Requirements = Maybe AccountRequirements
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Reusable :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Reusable = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200RoutingNumber :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200RoutingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200SepaDebit :: Maybe SourceTypeSepaDebit
deleteCustomersCustomerBankAccountsIdResponseBody200SepaDebit = Maybe SourceTypeSepaDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Settings :: Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
deleteCustomersCustomerBankAccountsIdResponseBody200Settings = Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Sofort :: Maybe SourceTypeSofort
deleteCustomersCustomerBankAccountsIdResponseBody200Sofort = Maybe SourceTypeSofort
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200SourceOrder :: Maybe SourceOrder
deleteCustomersCustomerBankAccountsIdResponseBody200SourceOrder = Maybe SourceOrder
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200StatementDescriptor :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200StatementDescriptor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Status :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Status = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ThreeDSecure :: Maybe SourceTypeThreeDSecure
deleteCustomersCustomerBankAccountsIdResponseBody200ThreeDSecure = Maybe SourceTypeThreeDSecure
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200TokenizationMethod :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200TokenizationMethod = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200TosAcceptance :: Maybe AccountTosAcceptance
deleteCustomersCustomerBankAccountsIdResponseBody200TosAcceptance = Maybe AccountTosAcceptance
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Transactions :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Type :: Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
deleteCustomersCustomerBankAccountsIdResponseBody200Type = Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200UncapturedFunds :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200UncapturedFunds = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Usage :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Usage = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Used :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Used = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200UsedForPayment :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200UsedForPayment = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Username :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200Username = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Wechat :: Maybe SourceTypeWechat
deleteCustomersCustomerBankAccountsIdResponseBody200Wechat = Maybe SourceTypeWechat
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
  = DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Account Account
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants]
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants]
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
parseJSON Value
val = case (Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Text (Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants)
-> Result Text
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Account
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Account (Account
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants)
-> Result Account
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
a -> DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DeleteCustomersCustomerBankAccountsIdResponseBody200Account'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Account'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}\/bank_accounts\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.available_payout_methods.items@ in the specification.
data DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"instant"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'EnumInstant
  | -- | Represents the JSON value @"standard"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'EnumStandard
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200AvailablePayoutMethods'
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.business_profile.anyOf@ in the specification.
--
-- Business information about the account.
data DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile' = DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
  { -- | 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
    DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'Mcc :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name: The customer-facing business name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'ProductDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | support_address: A publicly available mailing address for sending support issues to.
    DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'),
    -- | support_email: A publicly available email address for sending support issues to.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | support_url: A publicly available website for handling support issues.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | url: The business\'s publicly available website.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'Url :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile']
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
-> Bool
GHC.Classes.Eq
    )

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

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'" (\Object
obj -> ((((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile' Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
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
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
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
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile')
-> Parser (Maybe Text)
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
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 'DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'' with all required fields.
mkDeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile' :: DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile' :: DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile' =
  DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'
    { deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'Mcc :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'Mcc = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'Name :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'ProductDescription :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'ProductDescription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportAddress'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportEmail :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportPhone :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportPhone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportUrl :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'SupportUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'Url :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200BusinessProfile'Url = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

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

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

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

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

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
  = DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Customer Customer
  | DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'DeletedCustomer DeletedCustomer
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants]
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants]
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
parseJSON Value
val = case (Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Text (Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants)
-> Result Text
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Customer
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Customer (Customer
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants)
-> Result Customer
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((DeletedCustomer
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'DeletedCustomer (DeletedCustomer
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants)
-> Result DeletedCustomer
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched")) of
    Data.Aeson.Types.Internal.Success DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
a -> DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Customer'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}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts' = DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
  { -- | data: The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data :: ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts']
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts' where
  toJSON :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Value
toJSON DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"data" Text
-> [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'HasMore DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Url DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
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 :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Encoding
toEncoding DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"data" Text
-> [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'HasMore DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
-> Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Url DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
-> Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'" (\Object
obj -> ((([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
 -> Bool
 -> Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
-> Parser
     ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
      -> Bool
      -> Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> Bool
-> Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts' Parser
  ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
   -> Bool
   -> Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
-> Parser
     [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> Parser
     (Bool
      -> Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"data")) Parser
  (Bool
   -> Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
-> Parser Bool
-> Parser
     (Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts')
-> Parser Text
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
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 'DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'' with all required fields.
mkDeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts' ::
  -- | 'deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
  [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'] ->
  -- | 'deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'HasMore'
  GHC.Types.Bool ->
  -- | 'deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Url'
  Data.Text.Internal.Text ->
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts' :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> Bool
-> Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts' [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'HasMore Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Url =
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts' :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> Bool
-> Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'
    { deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data = [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'HasMore :: Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'HasMore = Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'HasMore,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Url :: Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Url = Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Url
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{id}.DELETE.responses.200.content.application\/json.schema.anyOf.anyOf.properties.external_accounts.properties.data.items.anyOf@ in the specification.
data DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data' = DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
  { -- | account: The ID of the account that the bank account is associated with.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants),
    -- | account_holder_name: The name of the person or business that owns the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AccountHolderType :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_city: City\/District\/Suburb\/Town\/Village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressCity :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_country: Billing address country, if provided when creating card.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressLine1Check :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressLine2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_state: State\/County\/Province\/Region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressState :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_zip: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe
     [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'])),
    -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer: The ID of the customer that the bank account is associated with.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'CvcCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_for_currency: Whether this bank account is the default external account for its currency.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'DynamicLast4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | exp_month: Two-digit number representing the card\'s expiration month.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | exp_year: Four-digit number representing the card\'s expiration year.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Funding :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | last4: The last four digits of the bank account number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Object
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
    -- | name: Cardholder name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient :: (GHC.Maybe.Maybe DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants),
    -- | routing_number: The routing transit number for the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'TokenizationMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
-> Bool
GHC.Classes.Eq
    )

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

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'" (\Object
obj -> (((((((((((((((((((((((((((((((((Maybe
   DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
      DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
 -> Maybe
      DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data' Parser
  (Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
     [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'])
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Object
      -> Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Object)
-> Parser
     (Maybe Text
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
      -> Maybe
           DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
   -> Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object')
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"object")) Parser
  (Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data')
-> Parser (Maybe Text)
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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 'DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'' with all required fields.
mkDeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data' :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data' :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data' =
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data' :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> Maybe
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'
    { deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AccountHolderName :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AccountHolderName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AccountHolderType :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AccountHolderType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressCity :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressCity = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressCountry :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressCountry = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressLine1 :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressLine1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressLine1Check :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressLine1Check = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressLine2 :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressLine2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressState :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressState = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressZip :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressZip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressZipCheck :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AddressZipCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods :: Maybe
  [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods = Maybe
  [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'BankName :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'BankName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Brand :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Brand = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Country :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Currency :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'CvcCheck :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'CvcCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'DefaultForCurrency :: Maybe Bool
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'DefaultForCurrency = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'DynamicLast4 :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'DynamicLast4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'ExpMonth :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'ExpMonth = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'ExpYear :: Maybe Int
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'ExpYear = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Fingerprint :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Fingerprint = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Funding :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Funding = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Id :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Last4 :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Last4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Metadata :: Maybe Object
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Metadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Name :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient :: Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient = Maybe
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'RoutingNumber :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'RoutingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Status :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Status = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'TokenizationMethod :: Maybe Text
deleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'TokenizationMethod = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
  = DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Account Account
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants]
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants]
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants where
  toJSON :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Value
toJSON (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
parseJSON Value
val = case (Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Text (Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants)
-> Result Text
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Account
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Account (Account
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants)
-> Result Account
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
a -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Account'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"instant"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'EnumInstant
  | -- | Represents the JSON value @"standard"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'EnumStandard
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'AvailablePayoutMethods'
-> Bool
GHC.Classes.Eq)

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
  = DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Text Data.Text.Internal.Text
  | DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Customer Customer
  | DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'DeletedCustomer DeletedCustomer
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants]
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants]
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants]
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants]
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants where
  toJSON :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Value
toJSON (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Customer Customer
a) = Customer -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Customer
a
  toJSON (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
parseJSON Value
val = case (Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Text (Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants)
-> Result Text
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Customer
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Customer (Customer
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants)
-> Result Customer
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((DeletedCustomer
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'DeletedCustomer (DeletedCustomer
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants)
-> Result DeletedCustomer
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched")) of
    Data.Aeson.Types.Internal.Success DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
a -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Customer'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"bank_account"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'EnumBankAccount
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object']
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Object'
-> Bool
GHC.Classes.Eq)

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

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

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

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants where
  toJSON :: DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Value
toJSON (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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 DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
parseJSON Value
val = case (Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Text (Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants)
-> Result Text
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Recipient
-> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Recipient (Recipient
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants)
-> Result Recipient
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
a -> DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'Data'Recipient'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200ExternalAccounts'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}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerBankAccountsIdResponseBody200Object'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200Object'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"account"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200Object'EnumAccount
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200Object']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200Object']
    -> String -> String)
-> Show DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Object']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Object']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
    -> Bool)
-> Eq DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Object'
-> Bool
GHC.Classes.Eq)

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

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

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

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

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

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

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

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

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

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

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

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

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

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
parseJSON Value
val = case (Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Text (Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants)
-> Result Text
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Recipient
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Recipient (Recipient
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants)
-> Result Recipient
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'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
  DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
a -> DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Recipient'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}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200Settings' = DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
  { -- | bacs_debit_payments:
    DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountBacsDebitPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'BacsDebitPayments :: (GHC.Maybe.Maybe AccountBacsDebitPaymentsSettings),
    -- | branding:
    DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountBrandingSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Branding :: (GHC.Maybe.Maybe AccountBrandingSettings),
    -- | card_issuing:
    DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountCardIssuingSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardIssuing :: (GHC.Maybe.Maybe AccountCardIssuingSettings),
    -- | card_payments:
    DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountCardPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardPayments :: (GHC.Maybe.Maybe AccountCardPaymentsSettings),
    -- | dashboard:
    DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountDashboardSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Dashboard :: (GHC.Maybe.Maybe AccountDashboardSettings),
    -- | payments:
    DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payments :: (GHC.Maybe.Maybe AccountPaymentsSettings),
    -- | payouts:
    DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountPayoutSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payouts :: (GHC.Maybe.Maybe AccountPayoutSettings),
    -- | sepa_debit_payments:
    DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountSepaDebitPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'SepaDebitPayments :: (GHC.Maybe.Maybe AccountSepaDebitPaymentsSettings)
  }
  deriving
    ( Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200Settings']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200Settings']
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Settings']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Settings']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
    -> Bool)
-> Eq DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdResponseBody200Settings' where
  toJSON :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Value
toJSON DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountBacsDebitPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'BacsDebitPayments DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountBrandingSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Branding DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountCardIssuingSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardIssuing DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountCardPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardPayments DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountDashboardSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Dashboard DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payments DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountPayoutSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payouts DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountSepaDebitPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'SepaDebitPayments DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Encoding
toEncoding DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountBacsDebitPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'BacsDebitPayments DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountBrandingSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Branding DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountCardIssuingSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardIssuing DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountCardPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardPayments DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountDashboardSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Dashboard DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payments DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountPayoutSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payouts DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
-> Maybe AccountSepaDebitPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'SepaDebitPayments DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
obj))))))))

instance Data.Aeson.Types.FromJSON.FromJSON DeleteCustomersCustomerBankAccountsIdResponseBody200Settings' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'" (\Object
obj -> ((((((((Maybe AccountBacsDebitPaymentsSettings
 -> Maybe AccountBrandingSettings
 -> Maybe AccountCardIssuingSettings
 -> Maybe AccountCardPaymentsSettings
 -> Maybe AccountDashboardSettings
 -> Maybe AccountPaymentsSettings
 -> Maybe AccountPayoutSettings
 -> Maybe AccountSepaDebitPaymentsSettings
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser
     (Maybe AccountBacsDebitPaymentsSettings
      -> Maybe AccountBrandingSettings
      -> Maybe AccountCardIssuingSettings
      -> Maybe AccountCardPaymentsSettings
      -> Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
DeleteCustomersCustomerBankAccountsIdResponseBody200Settings' Parser
  (Maybe AccountBacsDebitPaymentsSettings
   -> Maybe AccountBrandingSettings
   -> Maybe AccountCardIssuingSettings
   -> Maybe AccountCardPaymentsSettings
   -> Maybe AccountDashboardSettings
   -> Maybe AccountPaymentsSettings
   -> Maybe AccountPayoutSettings
   -> Maybe AccountSepaDebitPaymentsSettings
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser (Maybe AccountBacsDebitPaymentsSettings)
-> Parser
     (Maybe AccountBrandingSettings
      -> Maybe AccountCardIssuingSettings
      -> Maybe AccountCardPaymentsSettings
      -> Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser (Maybe AccountBrandingSettings)
-> Parser
     (Maybe AccountCardIssuingSettings
      -> Maybe AccountCardPaymentsSettings
      -> Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser (Maybe AccountCardIssuingSettings)
-> Parser
     (Maybe AccountCardPaymentsSettings
      -> Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser (Maybe AccountCardPaymentsSettings)
-> Parser
     (Maybe AccountDashboardSettings
      -> Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser (Maybe AccountDashboardSettings)
-> Parser
     (Maybe AccountPaymentsSettings
      -> Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser (Maybe AccountPaymentsSettings)
-> Parser
     (Maybe AccountPayoutSettings
      -> Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser (Maybe AccountPayoutSettings)
-> Parser
     (Maybe AccountSepaDebitPaymentsSettings
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings')
-> Parser (Maybe AccountSepaDebitPaymentsSettings)
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
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 'DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'' with all required fields.
mkDeleteCustomersCustomerBankAccountsIdResponseBody200Settings' :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200Settings' :: DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200Settings' =
  DeleteCustomersCustomerBankAccountsIdResponseBody200Settings' :: Maybe AccountBacsDebitPaymentsSettings
-> Maybe AccountBrandingSettings
-> Maybe AccountCardIssuingSettings
-> Maybe AccountCardPaymentsSettings
-> Maybe AccountDashboardSettings
-> Maybe AccountPaymentsSettings
-> Maybe AccountPayoutSettings
-> Maybe AccountSepaDebitPaymentsSettings
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
DeleteCustomersCustomerBankAccountsIdResponseBody200Settings'
    { deleteCustomersCustomerBankAccountsIdResponseBody200Settings'BacsDebitPayments :: Maybe AccountBacsDebitPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'BacsDebitPayments = Maybe AccountBacsDebitPaymentsSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Branding :: Maybe AccountBrandingSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Branding = Maybe AccountBrandingSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardIssuing :: Maybe AccountCardIssuingSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardIssuing = Maybe AccountCardIssuingSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardPayments :: Maybe AccountCardPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'CardPayments = Maybe AccountCardPaymentsSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Dashboard :: Maybe AccountDashboardSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Dashboard = Maybe AccountDashboardSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payments :: Maybe AccountPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payments = Maybe AccountPaymentsSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payouts :: Maybe AccountPayoutSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'Payouts = Maybe AccountPayoutSettings
forall a. Maybe a
GHC.Maybe.Nothing,
      deleteCustomersCustomerBankAccountsIdResponseBody200Settings'SepaDebitPayments :: Maybe AccountSepaDebitPaymentsSettings
deleteCustomersCustomerBankAccountsIdResponseBody200Settings'SepaDebitPayments = Maybe AccountSepaDebitPaymentsSettings
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions' = DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
  { -- | data: Details about each object.
    DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> [BitcoinTransaction]
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Data :: ([BitcoinTransaction]),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Text
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions']
    -> String -> String)
-> Show
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> String
-> String
GHC.Show.Show,
      DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
    -> Bool)
-> Eq
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions' where
  toJSON :: DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Value
toJSON DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> [BitcoinTransaction]
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Data DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'HasMore DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Text
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Url DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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 :: DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Encoding
toEncoding DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> [BitcoinTransaction]
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Data DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'HasMore DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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..= DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
-> Text
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Url DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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 DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions' where
  parseJSON :: Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
parseJSON = String
-> (Object
    -> Parser
         DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
-> Value
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'" (\Object
obj -> ((([BitcoinTransaction]
 -> Bool
 -> Text
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
-> Parser
     ([BitcoinTransaction]
      -> Bool
      -> Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure [BitcoinTransaction]
-> Bool
-> Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions' Parser
  ([BitcoinTransaction]
   -> Bool
   -> Text
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
-> Parser [BitcoinTransaction]
-> Parser
     (Bool
      -> Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
-> Parser Bool
-> Parser
     (Text
      -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
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
   -> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions')
-> Parser Text
-> Parser
     DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
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 'DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'' with all required fields.
mkDeleteCustomersCustomerBankAccountsIdResponseBody200Transactions' ::
  -- | 'deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Data'
  [BitcoinTransaction] ->
  -- | 'deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'HasMore'
  GHC.Types.Bool ->
  -- | 'deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Url'
  Data.Text.Internal.Text ->
  DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200Transactions' :: [BitcoinTransaction]
-> Bool
-> Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
mkDeleteCustomersCustomerBankAccountsIdResponseBody200Transactions' [BitcoinTransaction]
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Data Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'HasMore Text
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Url =
  DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions' :: [BitcoinTransaction]
-> Bool
-> Text
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
DeleteCustomersCustomerBankAccountsIdResponseBody200Transactions'
    { deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Data :: [BitcoinTransaction]
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Data = [BitcoinTransaction]
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Data,
      deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'HasMore :: Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'HasMore = Bool
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'HasMore,
      deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Url :: Text
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Url = Text
deleteCustomersCustomerBankAccountsIdResponseBody200Transactions'Url
    }

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}\/bank_accounts\/{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 DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    DeleteCustomersCustomerBankAccountsIdResponseBody200Type'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.
    DeleteCustomersCustomerBankAccountsIdResponseBody200Type'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"custom"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200Type'EnumCustom
  | -- | Represents the JSON value @"express"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200Type'EnumExpress
  | -- | Represents the JSON value @"standard"@
    DeleteCustomersCustomerBankAccountsIdResponseBody200Type'EnumStandard
  deriving (Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> String
-> String
[DeleteCustomersCustomerBankAccountsIdResponseBody200Type']
-> String -> String
DeleteCustomersCustomerBankAccountsIdResponseBody200Type' -> String
(Int
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
 -> String
 -> String)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
    -> String)
-> ([DeleteCustomersCustomerBankAccountsIdResponseBody200Type']
    -> String -> String)
-> Show DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Type']
-> String -> String
$cshowList :: [DeleteCustomersCustomerBankAccountsIdResponseBody200Type']
-> String -> String
show :: DeleteCustomersCustomerBankAccountsIdResponseBody200Type' -> String
$cshow :: DeleteCustomersCustomerBankAccountsIdResponseBody200Type' -> String
showsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> String
-> String
$cshowsPrec :: Int
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> String
-> String
GHC.Show.Show, DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Bool
(DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
 -> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
 -> Bool)
-> (DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
    -> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
    -> Bool)
-> Eq DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Bool
$c/= :: DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Bool
== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Bool
$c== :: DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> DeleteCustomersCustomerBankAccountsIdResponseBody200Type'
-> Bool
GHC.Classes.Eq)

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

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