{-# 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 getCustomersCustomer
module StripeAPI.Operations.GetCustomersCustomer 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

-- | > GET /v1/customers/{customer}
--
-- \<p>Retrieves the details of an existing customer. You need only supply the unique customer identifier that was returned upon customer creation.\<\/p>
getCustomersCustomer ::
  forall m.
  StripeAPI.Common.MonadHTTP m =>
  -- | Contains all available parameters of this operation (query and path parameters)
  GetCustomersCustomerParameters ->
  -- | Monadic computation which returns the result of the operation
  StripeAPI.Common.StripeT m (Network.HTTP.Client.Types.Response GetCustomersCustomerResponse)
getCustomersCustomer :: GetCustomersCustomerParameters
-> StripeT m (Response GetCustomersCustomerResponse)
getCustomersCustomer GetCustomersCustomerParameters
parameters =
  (Response ByteString -> Response GetCustomersCustomerResponse)
-> StripeT m (Response ByteString)
-> StripeT m (Response GetCustomersCustomerResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
    ( \Response ByteString
response_0 ->
        (ByteString -> GetCustomersCustomerResponse)
-> Response ByteString -> Response GetCustomersCustomerResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
          ( (String -> GetCustomersCustomerResponse)
-> (GetCustomersCustomerResponse -> GetCustomersCustomerResponse)
-> Either String GetCustomersCustomerResponse
-> GetCustomersCustomerResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> GetCustomersCustomerResponse
GetCustomersCustomerResponseError GetCustomersCustomerResponse -> GetCustomersCustomerResponse
forall a. a -> a
GHC.Base.id
              (Either String GetCustomersCustomerResponse
 -> GetCustomersCustomerResponse)
-> (ByteString -> Either String GetCustomersCustomerResponse)
-> ByteString
-> GetCustomersCustomerResponse
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) ->
                                   GetCustomersCustomerResponseBody200 -> GetCustomersCustomerResponse
GetCustomersCustomerResponse200
                                     (GetCustomersCustomerResponseBody200
 -> GetCustomersCustomerResponse)
-> Either String GetCustomersCustomerResponseBody200
-> Either String GetCustomersCustomerResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String GetCustomersCustomerResponseBody200
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
                                                          Data.Either.Either
                                                            GHC.Base.String
                                                            GetCustomersCustomerResponseBody200
                                                      )
                                 | 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 -> GetCustomersCustomerResponse
GetCustomersCustomerResponseDefault
                                     (Error -> GetCustomersCustomerResponse)
-> Either String Error
-> Either String GetCustomersCustomerResponse
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 GetCustomersCustomerResponse
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] -> StripeT m (Response ByteString)
forall (m :: * -> *).
MonadHTTP m =>
Text -> Text -> [QueryParameter] -> StripeT m (Response ByteString)
StripeAPI.Common.doCallWithConfigurationM (Text -> Text
Data.Text.toUpper (Text -> Text) -> Text -> Text
forall a b. (a -> b) -> a -> b
GHC.Base.$ String -> Text
Data.Text.pack String
"GET") (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 (GetCustomersCustomerParameters -> Text
getCustomersCustomerParametersPathCustomer GetCustomersCustomerParameters
parameters))) String -> String -> String
forall a. [a] -> [a] -> [a]
GHC.Base.++ String
""))) [Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"expand") ([Text] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON ([Text] -> Value) -> Maybe [Text] -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetCustomersCustomerParameters -> Maybe [Text]
getCustomersCustomerParametersQueryExpand GetCustomersCustomerParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True])

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}.GET.parameters@ in the specification.
data GetCustomersCustomerParameters = GetCustomersCustomerParameters
  { -- | pathCustomer: Represents the parameter named \'customer\'
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerParameters -> Text
getCustomersCustomerParametersPathCustomer :: Data.Text.Internal.Text,
    -- | queryExpand: Represents the parameter named \'expand\'
    --
    -- Specifies which fields in the response should be expanded.
    GetCustomersCustomerParameters -> Maybe [Text]
getCustomersCustomerParametersQueryExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text]))
  }
  deriving
    ( Int -> GetCustomersCustomerParameters -> String -> String
[GetCustomersCustomerParameters] -> String -> String
GetCustomersCustomerParameters -> String
(Int -> GetCustomersCustomerParameters -> String -> String)
-> (GetCustomersCustomerParameters -> String)
-> ([GetCustomersCustomerParameters] -> String -> String)
-> Show GetCustomersCustomerParameters
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerParameters] -> String -> String
$cshowList :: [GetCustomersCustomerParameters] -> String -> String
show :: GetCustomersCustomerParameters -> String
$cshow :: GetCustomersCustomerParameters -> String
showsPrec :: Int -> GetCustomersCustomerParameters -> String -> String
$cshowsPrec :: Int -> GetCustomersCustomerParameters -> String -> String
GHC.Show.Show,
      GetCustomersCustomerParameters
-> GetCustomersCustomerParameters -> Bool
(GetCustomersCustomerParameters
 -> GetCustomersCustomerParameters -> Bool)
-> (GetCustomersCustomerParameters
    -> GetCustomersCustomerParameters -> Bool)
-> Eq GetCustomersCustomerParameters
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerParameters
-> GetCustomersCustomerParameters -> Bool
$c/= :: GetCustomersCustomerParameters
-> GetCustomersCustomerParameters -> Bool
== :: GetCustomersCustomerParameters
-> GetCustomersCustomerParameters -> Bool
$c== :: GetCustomersCustomerParameters
-> GetCustomersCustomerParameters -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetCustomersCustomerParameters where
  toJSON :: GetCustomersCustomerParameters -> Value
toJSON GetCustomersCustomerParameters
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..= GetCustomersCustomerParameters -> Text
getCustomersCustomerParametersPathCustomer GetCustomersCustomerParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryExpand" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerParameters -> Maybe [Text]
getCustomersCustomerParametersQueryExpand GetCustomersCustomerParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetCustomersCustomerParameters -> Encoding
toEncoding GetCustomersCustomerParameters
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..= GetCustomersCustomerParameters -> Text
getCustomersCustomerParametersPathCustomer GetCustomersCustomerParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"queryExpand" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerParameters -> Maybe [Text]
getCustomersCustomerParametersQueryExpand GetCustomersCustomerParameters
obj))

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

-- | Create a new 'GetCustomersCustomerParameters' with all required fields.
mkGetCustomersCustomerParameters ::
  -- | 'getCustomersCustomerParametersPathCustomer'
  Data.Text.Internal.Text ->
  GetCustomersCustomerParameters
mkGetCustomersCustomerParameters :: Text -> GetCustomersCustomerParameters
mkGetCustomersCustomerParameters Text
getCustomersCustomerParametersPathCustomer =
  GetCustomersCustomerParameters :: Text -> Maybe [Text] -> GetCustomersCustomerParameters
GetCustomersCustomerParameters
    { getCustomersCustomerParametersPathCustomer :: Text
getCustomersCustomerParametersPathCustomer = Text
getCustomersCustomerParametersPathCustomer,
      getCustomersCustomerParametersQueryExpand :: Maybe [Text]
getCustomersCustomerParametersQueryExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing
    }

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf@ in the specification.
data GetCustomersCustomerResponseBody200 = GetCustomersCustomerResponseBody200
  { -- | address: The customer\'s address.
    GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Address'
getCustomersCustomerResponseBody200Address :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Address'),
    -- | balance: Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized.
    GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200Balance :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
    GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200Created :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/currencies) the customer can be charged in for recurring billing purposes.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_source: ID of the default payment source for the customer.
    --
    -- If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-invoice_settings-default_payment_method) field instead.
    GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
getCustomersCustomerResponseBody200DefaultSource :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants),
    -- | delinquent: When the customer\'s latest invoice is billed by charging automatically, \`delinquent\` is \`true\` if the invoice\'s latest charge failed. When the customer\'s latest invoice is billed by sending an invoice, \`delinquent\` is \`true\` if the invoice isn\'t paid by its due date.
    --
    -- If an invoice is marked uncollectible by [dunning](https:\/\/stripe.com\/docs\/billing\/automatic-collection), \`delinquent\` doesn\'t get reset to \`false\`.
    GetCustomersCustomerResponseBody200 -> Maybe Bool
getCustomersCustomerResponseBody200Delinquent :: (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
    GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | discount: Describes the current discount active on the customer, if there is one.
    GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Discount'
getCustomersCustomerResponseBody200Discount :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Discount'),
    -- | email: The customer\'s email address.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | invoice_prefix: The prefix for the customer used to generate unique invoice numbers.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200InvoicePrefix :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | invoice_settings:
    GetCustomersCustomerResponseBody200
-> Maybe InvoiceSettingCustomerSetting
getCustomersCustomerResponseBody200InvoiceSettings :: (GHC.Maybe.Maybe InvoiceSettingCustomerSetting),
    -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
    GetCustomersCustomerResponseBody200 -> Maybe Bool
getCustomersCustomerResponseBody200Livemode :: (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.
    GetCustomersCustomerResponseBody200 -> Maybe Object
getCustomersCustomerResponseBody200Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
    -- | name: The customer\'s full name or business name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | next_invoice_sequence: The suffix of the customer\'s next invoice number, e.g., 0001.
    GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200NextInvoiceSequence :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | phone: The customer\'s phone number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | preferred_locales: The customer\'s preferred locales (languages), ordered by preference.
    GetCustomersCustomerResponseBody200 -> Maybe [Text]
getCustomersCustomerResponseBody200PreferredLocales :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])),
    -- | shipping: Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
    GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Shipping'
getCustomersCustomerResponseBody200Shipping :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Shipping'),
    -- | sources: The customer\'s payment sources, if any.
    GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Sources'
getCustomersCustomerResponseBody200Sources :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'),
    -- | subscriptions: The customer\'s current subscriptions, if any.
    GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Subscriptions'
getCustomersCustomerResponseBody200Subscriptions :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Subscriptions'),
    -- | tax:
    GetCustomersCustomerResponseBody200 -> Maybe CustomerTax
getCustomersCustomerResponseBody200Tax :: (GHC.Maybe.Maybe CustomerTax),
    -- | tax_exempt: Describes the customer\'s tax exemption status. One of \`none\`, \`exempt\`, or \`reverse\`. When set to \`reverse\`, invoice and receipt PDFs include the text **\"Reverse charge\"**.
    GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200TaxExempt'
getCustomersCustomerResponseBody200TaxExempt :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200TaxExempt'),
    -- | tax_ids: The customer\'s tax IDs.
    GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200TaxIds'
getCustomersCustomerResponseBody200TaxIds :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200TaxIds')
  }
  deriving
    ( Int -> GetCustomersCustomerResponseBody200 -> String -> String
[GetCustomersCustomerResponseBody200] -> String -> String
GetCustomersCustomerResponseBody200 -> String
(Int -> GetCustomersCustomerResponseBody200 -> String -> String)
-> (GetCustomersCustomerResponseBody200 -> String)
-> ([GetCustomersCustomerResponseBody200] -> String -> String)
-> Show GetCustomersCustomerResponseBody200
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200] -> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200] -> String -> String
show :: GetCustomersCustomerResponseBody200 -> String
$cshow :: GetCustomersCustomerResponseBody200 -> String
showsPrec :: Int -> GetCustomersCustomerResponseBody200 -> String -> String
$cshowsPrec :: Int -> GetCustomersCustomerResponseBody200 -> String -> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200
-> GetCustomersCustomerResponseBody200 -> Bool
(GetCustomersCustomerResponseBody200
 -> GetCustomersCustomerResponseBody200 -> Bool)
-> (GetCustomersCustomerResponseBody200
    -> GetCustomersCustomerResponseBody200 -> Bool)
-> Eq GetCustomersCustomerResponseBody200
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200
-> GetCustomersCustomerResponseBody200 -> Bool
$c/= :: GetCustomersCustomerResponseBody200
-> GetCustomersCustomerResponseBody200 -> Bool
== :: GetCustomersCustomerResponseBody200
-> GetCustomersCustomerResponseBody200 -> Bool
$c== :: GetCustomersCustomerResponseBody200
-> GetCustomersCustomerResponseBody200 -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetCustomersCustomerResponseBody200 where
  toJSON :: GetCustomersCustomerResponseBody200 -> Value
toJSON GetCustomersCustomerResponseBody200
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text -> Maybe GetCustomersCustomerResponseBody200Address' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Address'
getCustomersCustomerResponseBody200Address GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"balance" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200Balance GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200Created GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Currency GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"default_source" Text
-> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
getCustomersCustomerResponseBody200DefaultSource GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"delinquent" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe Bool
getCustomersCustomerResponseBody200Delinquent GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Description GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"discount" Text -> Maybe GetCustomersCustomerResponseBody200Discount' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Discount'
getCustomersCustomerResponseBody200Discount GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Email GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Id GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"invoice_prefix" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200InvoicePrefix GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"invoice_settings" Text -> Maybe InvoiceSettingCustomerSetting -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe InvoiceSettingCustomerSetting
getCustomersCustomerResponseBody200InvoiceSettings GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Bool
getCustomersCustomerResponseBody200Livemode GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Object
getCustomersCustomerResponseBody200Metadata GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Name GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"next_invoice_sequence" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200NextInvoiceSequence GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Phone GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"preferred_locales" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe [Text]
getCustomersCustomerResponseBody200PreferredLocales GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping" Text -> Maybe GetCustomersCustomerResponseBody200Shipping' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Shipping'
getCustomersCustomerResponseBody200Shipping GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sources" Text -> Maybe GetCustomersCustomerResponseBody200Sources' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Sources'
getCustomersCustomerResponseBody200Sources GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"subscriptions" Text
-> Maybe GetCustomersCustomerResponseBody200Subscriptions' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Subscriptions'
getCustomersCustomerResponseBody200Subscriptions GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax" Text -> Maybe CustomerTax -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe CustomerTax
getCustomersCustomerResponseBody200Tax GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_exempt" Text -> Maybe GetCustomersCustomerResponseBody200TaxExempt' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200TaxExempt'
getCustomersCustomerResponseBody200TaxExempt GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_ids" Text -> Maybe GetCustomersCustomerResponseBody200TaxIds' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200TaxIds'
getCustomersCustomerResponseBody200TaxIds GetCustomersCustomerResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"deleted" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Bool -> Value
Data.Aeson.Types.Internal.Bool Bool
GHC.Types.True 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
"customer" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetCustomersCustomerResponseBody200 -> Encoding
toEncoding GetCustomersCustomerResponseBody200
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text -> Maybe GetCustomersCustomerResponseBody200Address' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Address'
getCustomersCustomerResponseBody200Address GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"balance" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200Balance GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200Created GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Currency GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"default_source" Text
-> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
getCustomersCustomerResponseBody200DefaultSource GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"delinquent" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe Bool
getCustomersCustomerResponseBody200Delinquent GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Description GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"discount" Text
-> Maybe GetCustomersCustomerResponseBody200Discount' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Discount'
getCustomersCustomerResponseBody200Discount GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Email GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Id GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"invoice_prefix" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200InvoicePrefix GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"invoice_settings" Text -> Maybe InvoiceSettingCustomerSetting -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe InvoiceSettingCustomerSetting
getCustomersCustomerResponseBody200InvoiceSettings GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Bool
getCustomersCustomerResponseBody200Livemode GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Object
getCustomersCustomerResponseBody200Metadata GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Name GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"next_invoice_sequence" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe Int
getCustomersCustomerResponseBody200NextInvoiceSequence GetCustomersCustomerResponseBody200
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..= GetCustomersCustomerResponseBody200 -> Maybe Text
getCustomersCustomerResponseBody200Phone GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"preferred_locales" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe [Text]
getCustomersCustomerResponseBody200PreferredLocales GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping" Text
-> Maybe GetCustomersCustomerResponseBody200Shipping' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Shipping'
getCustomersCustomerResponseBody200Shipping GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sources" Text -> Maybe GetCustomersCustomerResponseBody200Sources' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Sources'
getCustomersCustomerResponseBody200Sources GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"subscriptions" Text
-> Maybe GetCustomersCustomerResponseBody200Subscriptions'
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200Subscriptions'
getCustomersCustomerResponseBody200Subscriptions GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax" Text -> Maybe CustomerTax -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200 -> Maybe CustomerTax
getCustomersCustomerResponseBody200Tax GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_exempt" Text
-> Maybe GetCustomersCustomerResponseBody200TaxExempt' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200TaxExempt'
getCustomersCustomerResponseBody200TaxExempt GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_ids" Text -> Maybe GetCustomersCustomerResponseBody200TaxIds' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200
-> Maybe GetCustomersCustomerResponseBody200TaxIds'
getCustomersCustomerResponseBody200TaxIds GetCustomersCustomerResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"deleted" Text -> Value -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Bool -> Value
Data.Aeson.Types.Internal.Bool Bool
GHC.Types.True) 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
"customer"))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON GetCustomersCustomerResponseBody200 where
  parseJSON :: Value -> Parser GetCustomersCustomerResponseBody200
parseJSON = String
-> (Object -> Parser GetCustomersCustomerResponseBody200)
-> Value
-> Parser GetCustomersCustomerResponseBody200
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetCustomersCustomerResponseBody200" (\Object
obj -> ((((((((((((((((((((((((Maybe GetCustomersCustomerResponseBody200Address'
 -> Maybe Int
 -> Maybe Int
 -> Maybe Text
 -> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
 -> Maybe Bool
 -> Maybe Text
 -> Maybe GetCustomersCustomerResponseBody200Discount'
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe InvoiceSettingCustomerSetting
 -> Maybe Bool
 -> Maybe Object
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe [Text]
 -> Maybe GetCustomersCustomerResponseBody200Shipping'
 -> Maybe GetCustomersCustomerResponseBody200Sources'
 -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
 -> Maybe CustomerTax
 -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
 -> Maybe GetCustomersCustomerResponseBody200TaxIds'
 -> GetCustomersCustomerResponseBody200)
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Address'
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
      -> Maybe Bool
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Discount'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe GetCustomersCustomerResponseBody200Address'
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Maybe Bool
-> Maybe Text
-> Maybe GetCustomersCustomerResponseBody200Discount'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceSettingCustomerSetting
-> Maybe Bool
-> Maybe Object
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe [Text]
-> Maybe GetCustomersCustomerResponseBody200Shipping'
-> Maybe GetCustomersCustomerResponseBody200Sources'
-> Maybe GetCustomersCustomerResponseBody200Subscriptions'
-> Maybe CustomerTax
-> Maybe GetCustomersCustomerResponseBody200TaxExempt'
-> Maybe GetCustomersCustomerResponseBody200TaxIds'
-> GetCustomersCustomerResponseBody200
GetCustomersCustomerResponseBody200 Parser
  (Maybe GetCustomersCustomerResponseBody200Address'
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
   -> Maybe Bool
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Discount'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe GetCustomersCustomerResponseBody200Address')
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
      -> Maybe Bool
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Discount'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe GetCustomersCustomerResponseBody200Address')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address")) Parser
  (Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
   -> Maybe Bool
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Discount'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
      -> Maybe Bool
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Discount'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
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
"balance")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
   -> Maybe Bool
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Discount'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
      -> Maybe Bool
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Discount'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
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 GetCustomersCustomerResponseBody200DefaultSource'Variants
   -> Maybe Bool
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Discount'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
      -> Maybe Bool
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Discount'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 GetCustomersCustomerResponseBody200DefaultSource'Variants
   -> Maybe Bool
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Discount'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser
     (Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Discount'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"default_source")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Discount'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Discount'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
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
"delinquent")) Parser
  (Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Discount'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Discount'
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 GetCustomersCustomerResponseBody200Discount'
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe GetCustomersCustomerResponseBody200Discount')
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe GetCustomersCustomerResponseBody200Discount')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"discount")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe InvoiceSettingCustomerSetting
      -> Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"invoice_prefix")) Parser
  (Maybe InvoiceSettingCustomerSetting
   -> Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe InvoiceSettingCustomerSetting)
-> Parser
     (Maybe Bool
      -> Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe InvoiceSettingCustomerSetting)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"invoice_settings")) Parser
  (Maybe Bool
   -> Maybe Object
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Bool)
-> Parser
     (Maybe Object
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
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 Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Object)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
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 Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 Int
   -> Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
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
"next_invoice_sequence")) Parser
  (Maybe Text
   -> Maybe [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe Text)
-> Parser
     (Maybe [Text]
      -> Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 [Text]
   -> Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe [Text])
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Shipping'
      -> Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe [Text])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"preferred_locales")) Parser
  (Maybe GetCustomersCustomerResponseBody200Shipping'
   -> Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe GetCustomersCustomerResponseBody200Shipping')
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Sources'
      -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe GetCustomersCustomerResponseBody200Shipping')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"shipping")) Parser
  (Maybe GetCustomersCustomerResponseBody200Sources'
   -> Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe GetCustomersCustomerResponseBody200Sources')
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Subscriptions'
      -> Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe GetCustomersCustomerResponseBody200Sources')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sources")) Parser
  (Maybe GetCustomersCustomerResponseBody200Subscriptions'
   -> Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe GetCustomersCustomerResponseBody200Subscriptions')
-> Parser
     (Maybe CustomerTax
      -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe GetCustomersCustomerResponseBody200Subscriptions')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"subscriptions")) Parser
  (Maybe CustomerTax
   -> Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe CustomerTax)
-> Parser
     (Maybe GetCustomersCustomerResponseBody200TaxExempt'
      -> Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe CustomerTax)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax")) Parser
  (Maybe GetCustomersCustomerResponseBody200TaxExempt'
   -> Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe GetCustomersCustomerResponseBody200TaxExempt')
-> Parser
     (Maybe GetCustomersCustomerResponseBody200TaxIds'
      -> GetCustomersCustomerResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe GetCustomersCustomerResponseBody200TaxExempt')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_exempt")) Parser
  (Maybe GetCustomersCustomerResponseBody200TaxIds'
   -> GetCustomersCustomerResponseBody200)
-> Parser (Maybe GetCustomersCustomerResponseBody200TaxIds')
-> Parser GetCustomersCustomerResponseBody200
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe GetCustomersCustomerResponseBody200TaxIds')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_ids"))

-- | Create a new 'GetCustomersCustomerResponseBody200' with all required fields.
mkGetCustomersCustomerResponseBody200 :: GetCustomersCustomerResponseBody200
mkGetCustomersCustomerResponseBody200 :: GetCustomersCustomerResponseBody200
mkGetCustomersCustomerResponseBody200 =
  GetCustomersCustomerResponseBody200 :: Maybe GetCustomersCustomerResponseBody200Address'
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Maybe Bool
-> Maybe Text
-> Maybe GetCustomersCustomerResponseBody200Discount'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe InvoiceSettingCustomerSetting
-> Maybe Bool
-> Maybe Object
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe [Text]
-> Maybe GetCustomersCustomerResponseBody200Shipping'
-> Maybe GetCustomersCustomerResponseBody200Sources'
-> Maybe GetCustomersCustomerResponseBody200Subscriptions'
-> Maybe CustomerTax
-> Maybe GetCustomersCustomerResponseBody200TaxExempt'
-> Maybe GetCustomersCustomerResponseBody200TaxIds'
-> GetCustomersCustomerResponseBody200
GetCustomersCustomerResponseBody200
    { getCustomersCustomerResponseBody200Address :: Maybe GetCustomersCustomerResponseBody200Address'
getCustomersCustomerResponseBody200Address = Maybe GetCustomersCustomerResponseBody200Address'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Balance :: Maybe Int
getCustomersCustomerResponseBody200Balance = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Created :: Maybe Int
getCustomersCustomerResponseBody200Created = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Currency :: Maybe Text
getCustomersCustomerResponseBody200Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200DefaultSource :: Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
getCustomersCustomerResponseBody200DefaultSource = Maybe GetCustomersCustomerResponseBody200DefaultSource'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Delinquent :: Maybe Bool
getCustomersCustomerResponseBody200Delinquent = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Description :: Maybe Text
getCustomersCustomerResponseBody200Description = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount :: Maybe GetCustomersCustomerResponseBody200Discount'
getCustomersCustomerResponseBody200Discount = Maybe GetCustomersCustomerResponseBody200Discount'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Email :: Maybe Text
getCustomersCustomerResponseBody200Email = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Id :: Maybe Text
getCustomersCustomerResponseBody200Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200InvoicePrefix :: Maybe Text
getCustomersCustomerResponseBody200InvoicePrefix = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200InvoiceSettings :: Maybe InvoiceSettingCustomerSetting
getCustomersCustomerResponseBody200InvoiceSettings = Maybe InvoiceSettingCustomerSetting
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Livemode :: Maybe Bool
getCustomersCustomerResponseBody200Livemode = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Metadata :: Maybe Object
getCustomersCustomerResponseBody200Metadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Name :: Maybe Text
getCustomersCustomerResponseBody200Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200NextInvoiceSequence :: Maybe Int
getCustomersCustomerResponseBody200NextInvoiceSequence = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Phone :: Maybe Text
getCustomersCustomerResponseBody200Phone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200PreferredLocales :: Maybe [Text]
getCustomersCustomerResponseBody200PreferredLocales = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Shipping :: Maybe GetCustomersCustomerResponseBody200Shipping'
getCustomersCustomerResponseBody200Shipping = Maybe GetCustomersCustomerResponseBody200Shipping'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources :: Maybe GetCustomersCustomerResponseBody200Sources'
getCustomersCustomerResponseBody200Sources = Maybe GetCustomersCustomerResponseBody200Sources'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Subscriptions :: Maybe GetCustomersCustomerResponseBody200Subscriptions'
getCustomersCustomerResponseBody200Subscriptions = Maybe GetCustomersCustomerResponseBody200Subscriptions'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Tax :: Maybe CustomerTax
getCustomersCustomerResponseBody200Tax = Maybe CustomerTax
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200TaxExempt :: Maybe GetCustomersCustomerResponseBody200TaxExempt'
getCustomersCustomerResponseBody200TaxExempt = Maybe GetCustomersCustomerResponseBody200TaxExempt'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200TaxIds :: Maybe GetCustomersCustomerResponseBody200TaxIds'
getCustomersCustomerResponseBody200TaxIds = Maybe GetCustomersCustomerResponseBody200TaxIds'
forall a. Maybe a
GHC.Maybe.Nothing
    }

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

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.default_source.anyOf@ in the specification.
--
-- ID of the default payment source for the customer.
--
-- If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-invoice_settings-default_payment_method) field instead.
data GetCustomersCustomerResponseBody200DefaultSource'Variants
  = GetCustomersCustomerResponseBody200DefaultSource'Text Data.Text.Internal.Text
  | GetCustomersCustomerResponseBody200DefaultSource'AlipayAccount AlipayAccount
  | GetCustomersCustomerResponseBody200DefaultSource'BankAccount BankAccount
  | GetCustomersCustomerResponseBody200DefaultSource'BitcoinReceiver BitcoinReceiver
  | GetCustomersCustomerResponseBody200DefaultSource'Card Card
  | GetCustomersCustomerResponseBody200DefaultSource'Source Source
  deriving (Int
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> String
-> String
[GetCustomersCustomerResponseBody200DefaultSource'Variants]
-> String -> String
GetCustomersCustomerResponseBody200DefaultSource'Variants -> String
(Int
 -> GetCustomersCustomerResponseBody200DefaultSource'Variants
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200DefaultSource'Variants
    -> String)
-> ([GetCustomersCustomerResponseBody200DefaultSource'Variants]
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200DefaultSource'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200DefaultSource'Variants]
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200DefaultSource'Variants]
-> String -> String
show :: GetCustomersCustomerResponseBody200DefaultSource'Variants -> String
$cshow :: GetCustomersCustomerResponseBody200DefaultSource'Variants -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> String
-> String
GHC.Show.Show, GetCustomersCustomerResponseBody200DefaultSource'Variants
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Bool
(GetCustomersCustomerResponseBody200DefaultSource'Variants
 -> GetCustomersCustomerResponseBody200DefaultSource'Variants
 -> Bool)
-> (GetCustomersCustomerResponseBody200DefaultSource'Variants
    -> GetCustomersCustomerResponseBody200DefaultSource'Variants
    -> Bool)
-> Eq GetCustomersCustomerResponseBody200DefaultSource'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200DefaultSource'Variants
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Bool
$c/= :: GetCustomersCustomerResponseBody200DefaultSource'Variants
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Bool
== :: GetCustomersCustomerResponseBody200DefaultSource'Variants
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Bool
$c== :: GetCustomersCustomerResponseBody200DefaultSource'Variants
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON GetCustomersCustomerResponseBody200DefaultSource'Variants where
  toJSON :: GetCustomersCustomerResponseBody200DefaultSource'Variants -> Value
toJSON (GetCustomersCustomerResponseBody200DefaultSource'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (GetCustomersCustomerResponseBody200DefaultSource'AlipayAccount AlipayAccount
a) = AlipayAccount -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON AlipayAccount
a
  toJSON (GetCustomersCustomerResponseBody200DefaultSource'BankAccount BankAccount
a) = BankAccount -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON BankAccount
a
  toJSON (GetCustomersCustomerResponseBody200DefaultSource'BitcoinReceiver BitcoinReceiver
a) = BitcoinReceiver -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON BitcoinReceiver
a
  toJSON (GetCustomersCustomerResponseBody200DefaultSource'Card Card
a) = Card -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Card
a
  toJSON (GetCustomersCustomerResponseBody200DefaultSource'Source Source
a) = Source -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Source
a

instance Data.Aeson.Types.FromJSON.FromJSON GetCustomersCustomerResponseBody200DefaultSource'Variants where
  parseJSON :: Value
-> Parser GetCustomersCustomerResponseBody200DefaultSource'Variants
parseJSON Value
val = case (Text -> GetCustomersCustomerResponseBody200DefaultSource'Variants
GetCustomersCustomerResponseBody200DefaultSource'Text (Text -> GetCustomersCustomerResponseBody200DefaultSource'Variants)
-> Result Text
-> Result GetCustomersCustomerResponseBody200DefaultSource'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 GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((AlipayAccount
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
GetCustomersCustomerResponseBody200DefaultSource'AlipayAccount (AlipayAccount
 -> GetCustomersCustomerResponseBody200DefaultSource'Variants)
-> Result AlipayAccount
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result AlipayAccount
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((BankAccount
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
GetCustomersCustomerResponseBody200DefaultSource'BankAccount (BankAccount
 -> GetCustomersCustomerResponseBody200DefaultSource'Variants)
-> Result BankAccount
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result BankAccount
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((BitcoinReceiver
-> GetCustomersCustomerResponseBody200DefaultSource'Variants
GetCustomersCustomerResponseBody200DefaultSource'BitcoinReceiver (BitcoinReceiver
 -> GetCustomersCustomerResponseBody200DefaultSource'Variants)
-> Result BitcoinReceiver
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result BitcoinReceiver
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Card -> GetCustomersCustomerResponseBody200DefaultSource'Variants
GetCustomersCustomerResponseBody200DefaultSource'Card (Card -> GetCustomersCustomerResponseBody200DefaultSource'Variants)
-> Result Card
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Card
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Source -> GetCustomersCustomerResponseBody200DefaultSource'Variants
GetCustomersCustomerResponseBody200DefaultSource'Source (Source
 -> GetCustomersCustomerResponseBody200DefaultSource'Variants)
-> Result Source
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Source
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result GetCustomersCustomerResponseBody200DefaultSource'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched"))))) of
    Data.Aeson.Types.Internal.Success GetCustomersCustomerResponseBody200DefaultSource'Variants
a -> GetCustomersCustomerResponseBody200DefaultSource'Variants
-> Parser GetCustomersCustomerResponseBody200DefaultSource'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetCustomersCustomerResponseBody200DefaultSource'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser GetCustomersCustomerResponseBody200DefaultSource'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}.GET.responses.200.content.application\/json.schema.anyOf.properties.discount.anyOf@ in the specification.
--
-- Describes the current discount active on the customer, if there is one.
data GetCustomersCustomerResponseBody200Discount' = GetCustomersCustomerResponseBody200Discount'
  { -- | checkout_session: The Checkout session that this coupon is applied to, if it is applied to a particular session in payment mode. Will not be present for subscription mode.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'CheckoutSession :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | coupon: A coupon contains information about a percent-off or amount-off discount you
    -- might want to apply to a customer. Coupons may be applied to [invoices](https:\/\/stripe.com\/docs\/api\#invoices) or
    -- [orders](https:\/\/stripe.com\/docs\/api\#create_order-coupon). Coupons do not work with conventional one-off [charges](https:\/\/stripe.com\/docs\/api\#create_charge).
    GetCustomersCustomerResponseBody200Discount' -> Maybe Coupon
getCustomersCustomerResponseBody200Discount'Coupon :: (GHC.Maybe.Maybe Coupon),
    -- | customer: The ID of the customer associated with this discount.
    GetCustomersCustomerResponseBody200Discount'
-> Maybe
     GetCustomersCustomerResponseBody200Discount'Customer'Variants
getCustomersCustomerResponseBody200Discount'Customer :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Discount'Customer'Variants),
    -- | end: If the coupon has a duration of \`repeating\`, the date that this discount will end. If the coupon has a duration of \`once\` or \`forever\`, this attribute will be null.
    GetCustomersCustomerResponseBody200Discount' -> Maybe Int
getCustomersCustomerResponseBody200Discount'End :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | id: The ID of the discount object. Discounts cannot be fetched by ID. Use \`expand[]=discounts\` in API calls to expand discount IDs in an array.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | invoice: The invoice that the discount\'s coupon was applied to, if it was applied directly to a particular invoice.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Invoice :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | invoice_item: The invoice item \`id\` (or invoice line item \`id\` for invoice line items of type=\'subscription\') that the discount\'s coupon was applied to, if it was applied directly to a particular invoice item or invoice line item.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'InvoiceItem :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | promotion_code: The promotion code applied to create this discount.
    GetCustomersCustomerResponseBody200Discount'
-> Maybe
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
getCustomersCustomerResponseBody200Discount'PromotionCode :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants),
    -- | start: Date that the coupon was applied.
    GetCustomersCustomerResponseBody200Discount' -> Maybe Int
getCustomersCustomerResponseBody200Discount'Start :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | subscription: The subscription that this coupon is applied to, if it is applied to a particular subscription.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Subscription :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Discount' -> String -> String
[GetCustomersCustomerResponseBody200Discount'] -> String -> String
GetCustomersCustomerResponseBody200Discount' -> String
(Int
 -> GetCustomersCustomerResponseBody200Discount'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Discount' -> String)
-> ([GetCustomersCustomerResponseBody200Discount']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200Discount'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Discount'] -> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Discount'] -> String -> String
show :: GetCustomersCustomerResponseBody200Discount' -> String
$cshow :: GetCustomersCustomerResponseBody200Discount' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Discount' -> String -> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Discount' -> String -> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Discount'
-> GetCustomersCustomerResponseBody200Discount' -> Bool
(GetCustomersCustomerResponseBody200Discount'
 -> GetCustomersCustomerResponseBody200Discount' -> Bool)
-> (GetCustomersCustomerResponseBody200Discount'
    -> GetCustomersCustomerResponseBody200Discount' -> Bool)
-> Eq GetCustomersCustomerResponseBody200Discount'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Discount'
-> GetCustomersCustomerResponseBody200Discount' -> Bool
$c/= :: GetCustomersCustomerResponseBody200Discount'
-> GetCustomersCustomerResponseBody200Discount' -> Bool
== :: GetCustomersCustomerResponseBody200Discount'
-> GetCustomersCustomerResponseBody200Discount' -> Bool
$c== :: GetCustomersCustomerResponseBody200Discount'
-> GetCustomersCustomerResponseBody200Discount' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetCustomersCustomerResponseBody200Discount' where
  toJSON :: GetCustomersCustomerResponseBody200Discount' -> Value
toJSON GetCustomersCustomerResponseBody200Discount'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"checkout_session" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'CheckoutSession GetCustomersCustomerResponseBody200Discount'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"coupon" Text -> Maybe Coupon -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Coupon
getCustomersCustomerResponseBody200Discount'Coupon GetCustomersCustomerResponseBody200Discount'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"customer" Text
-> Maybe
     GetCustomersCustomerResponseBody200Discount'Customer'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount'
-> Maybe
     GetCustomersCustomerResponseBody200Discount'Customer'Variants
getCustomersCustomerResponseBody200Discount'Customer GetCustomersCustomerResponseBody200Discount'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"end" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Int
getCustomersCustomerResponseBody200Discount'End GetCustomersCustomerResponseBody200Discount'
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..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Id GetCustomersCustomerResponseBody200Discount'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"invoice" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Invoice GetCustomersCustomerResponseBody200Discount'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"invoice_item" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'InvoiceItem GetCustomersCustomerResponseBody200Discount'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"promotion_code" Text
-> Maybe
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount'
-> Maybe
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
getCustomersCustomerResponseBody200Discount'PromotionCode GetCustomersCustomerResponseBody200Discount'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"start" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Int
getCustomersCustomerResponseBody200Discount'Start GetCustomersCustomerResponseBody200Discount'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"subscription" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Subscription GetCustomersCustomerResponseBody200Discount'
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
"discount" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetCustomersCustomerResponseBody200Discount' -> Encoding
toEncoding GetCustomersCustomerResponseBody200Discount'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"checkout_session" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'CheckoutSession GetCustomersCustomerResponseBody200Discount'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"coupon" Text -> Maybe Coupon -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Coupon
getCustomersCustomerResponseBody200Discount'Coupon GetCustomersCustomerResponseBody200Discount'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"customer" Text
-> Maybe
     GetCustomersCustomerResponseBody200Discount'Customer'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount'
-> Maybe
     GetCustomersCustomerResponseBody200Discount'Customer'Variants
getCustomersCustomerResponseBody200Discount'Customer GetCustomersCustomerResponseBody200Discount'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"end" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Int
getCustomersCustomerResponseBody200Discount'End GetCustomersCustomerResponseBody200Discount'
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..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Id GetCustomersCustomerResponseBody200Discount'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"invoice" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Invoice GetCustomersCustomerResponseBody200Discount'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"invoice_item" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'InvoiceItem GetCustomersCustomerResponseBody200Discount'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"promotion_code" Text
-> Maybe
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount'
-> Maybe
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
getCustomersCustomerResponseBody200Discount'PromotionCode GetCustomersCustomerResponseBody200Discount'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"start" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Int
getCustomersCustomerResponseBody200Discount'Start GetCustomersCustomerResponseBody200Discount'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"subscription" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Discount' -> Maybe Text
getCustomersCustomerResponseBody200Discount'Subscription GetCustomersCustomerResponseBody200Discount'
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
"discount")))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON GetCustomersCustomerResponseBody200Discount' where
  parseJSON :: Value -> Parser GetCustomersCustomerResponseBody200Discount'
parseJSON = String
-> (Object -> Parser GetCustomersCustomerResponseBody200Discount')
-> Value
-> Parser GetCustomersCustomerResponseBody200Discount'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetCustomersCustomerResponseBody200Discount'" (\Object
obj -> ((((((((((Maybe Text
 -> Maybe Coupon
 -> Maybe
      GetCustomersCustomerResponseBody200Discount'Customer'Variants
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe
      GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
 -> Maybe Int
 -> Maybe Text
 -> GetCustomersCustomerResponseBody200Discount')
-> Parser
     (Maybe Text
      -> Maybe Coupon
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'Customer'Variants
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Discount')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Coupon
-> Maybe
     GetCustomersCustomerResponseBody200Discount'Customer'Variants
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Maybe Int
-> Maybe Text
-> GetCustomersCustomerResponseBody200Discount'
GetCustomersCustomerResponseBody200Discount' Parser
  (Maybe Text
   -> Maybe Coupon
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'Customer'Variants
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Discount')
-> Parser (Maybe Text)
-> Parser
     (Maybe Coupon
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'Customer'Variants
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Discount')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"checkout_session")) Parser
  (Maybe Coupon
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'Customer'Variants
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Discount')
-> Parser (Maybe Coupon)
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Discount'Customer'Variants
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Discount')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Coupon)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"coupon")) Parser
  (Maybe
     GetCustomersCustomerResponseBody200Discount'Customer'Variants
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Discount')
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Discount'Customer'Variants)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Discount')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Discount'Customer'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"customer")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Discount')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Discount')
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
"end")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Discount')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Discount')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 Text
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Discount')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Discount')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"invoice")) Parser
  (Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Discount')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
      -> Maybe Int
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Discount')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"invoice_item")) Parser
  (Maybe
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
   -> Maybe Int
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Discount')
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants)
-> Parser
     (Maybe Int
      -> Maybe Text -> GetCustomersCustomerResponseBody200Discount')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"promotion_code")) Parser
  (Maybe Int
   -> Maybe Text -> GetCustomersCustomerResponseBody200Discount')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text -> GetCustomersCustomerResponseBody200Discount')
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
"start")) Parser (Maybe Text -> GetCustomersCustomerResponseBody200Discount')
-> Parser (Maybe Text)
-> Parser GetCustomersCustomerResponseBody200Discount'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"subscription"))

-- | Create a new 'GetCustomersCustomerResponseBody200Discount'' with all required fields.
mkGetCustomersCustomerResponseBody200Discount' :: GetCustomersCustomerResponseBody200Discount'
mkGetCustomersCustomerResponseBody200Discount' :: GetCustomersCustomerResponseBody200Discount'
mkGetCustomersCustomerResponseBody200Discount' =
  GetCustomersCustomerResponseBody200Discount' :: Maybe Text
-> Maybe Coupon
-> Maybe
     GetCustomersCustomerResponseBody200Discount'Customer'Variants
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Maybe Int
-> Maybe Text
-> GetCustomersCustomerResponseBody200Discount'
GetCustomersCustomerResponseBody200Discount'
    { getCustomersCustomerResponseBody200Discount'CheckoutSession :: Maybe Text
getCustomersCustomerResponseBody200Discount'CheckoutSession = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'Coupon :: Maybe Coupon
getCustomersCustomerResponseBody200Discount'Coupon = Maybe Coupon
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'Customer :: Maybe GetCustomersCustomerResponseBody200Discount'Customer'Variants
getCustomersCustomerResponseBody200Discount'Customer = Maybe GetCustomersCustomerResponseBody200Discount'Customer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'End :: Maybe Int
getCustomersCustomerResponseBody200Discount'End = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'Id :: Maybe Text
getCustomersCustomerResponseBody200Discount'Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'Invoice :: Maybe Text
getCustomersCustomerResponseBody200Discount'Invoice = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'InvoiceItem :: Maybe Text
getCustomersCustomerResponseBody200Discount'InvoiceItem = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'PromotionCode :: Maybe
  GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
getCustomersCustomerResponseBody200Discount'PromotionCode = Maybe
  GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'Start :: Maybe Int
getCustomersCustomerResponseBody200Discount'Start = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Discount'Subscription :: Maybe Text
getCustomersCustomerResponseBody200Discount'Subscription = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

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

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

-- | Defines the oneOf schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.discount.anyOf.properties.promotion_code.anyOf@ in the specification.
--
-- The promotion code applied to create this discount.
data GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
  = GetCustomersCustomerResponseBody200Discount'PromotionCode'Text Data.Text.Internal.Text
  | GetCustomersCustomerResponseBody200Discount'PromotionCode'PromotionCode PromotionCode
  deriving (Int
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> String
-> String
[GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants]
-> String -> String
GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> String
(Int
 -> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
    -> String)
-> ([GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants]
    -> String -> String)
-> Show
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants]
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants]
-> String -> String
show :: GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> String
$cshow :: GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> String
-> String
GHC.Show.Show, GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Bool
(GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
 -> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
 -> Bool)
-> (GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
    -> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
    -> Bool)
-> Eq
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Bool
$c/= :: GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Bool
== :: GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Bool
$c== :: GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Bool
GHC.Classes.Eq)

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

instance Data.Aeson.Types.FromJSON.FromJSON GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants where
  parseJSON :: Value
-> Parser
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
parseJSON Value
val = case (Text
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
GetCustomersCustomerResponseBody200Discount'PromotionCode'Text (Text
 -> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants)
-> Result Text
-> Result
     GetCustomersCustomerResponseBody200Discount'PromotionCode'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
  GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Result
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Result
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((PromotionCode
-> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
GetCustomersCustomerResponseBody200Discount'PromotionCode'PromotionCode (PromotionCode
 -> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants)
-> Result PromotionCode
-> Result
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result PromotionCode
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result
  GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Result
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Result
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
a -> GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
-> Parser
     GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetCustomersCustomerResponseBody200Discount'PromotionCode'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     GetCustomersCustomerResponseBody200Discount'PromotionCode'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}.GET.responses.200.content.application\/json.schema.anyOf.properties.shipping.anyOf@ in the specification.
--
-- Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
data GetCustomersCustomerResponseBody200Shipping' = GetCustomersCustomerResponseBody200Shipping'
  { -- | address:
    GetCustomersCustomerResponseBody200Shipping' -> Maybe Address
getCustomersCustomerResponseBody200Shipping'Address :: (GHC.Maybe.Maybe Address),
    -- | carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Carrier :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name: Recipient name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | phone: Recipient phone (including extension).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'TrackingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Shipping' -> String -> String
[GetCustomersCustomerResponseBody200Shipping'] -> String -> String
GetCustomersCustomerResponseBody200Shipping' -> String
(Int
 -> GetCustomersCustomerResponseBody200Shipping'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Shipping' -> String)
-> ([GetCustomersCustomerResponseBody200Shipping']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200Shipping'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Shipping'] -> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Shipping'] -> String -> String
show :: GetCustomersCustomerResponseBody200Shipping' -> String
$cshow :: GetCustomersCustomerResponseBody200Shipping' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Shipping' -> String -> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Shipping' -> String -> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Shipping'
-> GetCustomersCustomerResponseBody200Shipping' -> Bool
(GetCustomersCustomerResponseBody200Shipping'
 -> GetCustomersCustomerResponseBody200Shipping' -> Bool)
-> (GetCustomersCustomerResponseBody200Shipping'
    -> GetCustomersCustomerResponseBody200Shipping' -> Bool)
-> Eq GetCustomersCustomerResponseBody200Shipping'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Shipping'
-> GetCustomersCustomerResponseBody200Shipping' -> Bool
$c/= :: GetCustomersCustomerResponseBody200Shipping'
-> GetCustomersCustomerResponseBody200Shipping' -> Bool
== :: GetCustomersCustomerResponseBody200Shipping'
-> GetCustomersCustomerResponseBody200Shipping' -> Bool
$c== :: GetCustomersCustomerResponseBody200Shipping'
-> GetCustomersCustomerResponseBody200Shipping' -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON GetCustomersCustomerResponseBody200Shipping' where
  toJSON :: GetCustomersCustomerResponseBody200Shipping' -> Value
toJSON GetCustomersCustomerResponseBody200Shipping'
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"address" Text -> Maybe Address -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Address
getCustomersCustomerResponseBody200Shipping'Address GetCustomersCustomerResponseBody200Shipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"carrier" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Carrier GetCustomersCustomerResponseBody200Shipping'
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..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Name GetCustomersCustomerResponseBody200Shipping'
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..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Phone GetCustomersCustomerResponseBody200Shipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tracking_number" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'TrackingNumber GetCustomersCustomerResponseBody200Shipping'
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: GetCustomersCustomerResponseBody200Shipping' -> Encoding
toEncoding GetCustomersCustomerResponseBody200Shipping'
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"address" Text -> Maybe Address -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Address
getCustomersCustomerResponseBody200Shipping'Address GetCustomersCustomerResponseBody200Shipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"carrier" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Carrier GetCustomersCustomerResponseBody200Shipping'
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..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Name GetCustomersCustomerResponseBody200Shipping'
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..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'Phone GetCustomersCustomerResponseBody200Shipping'
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"tracking_number" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetCustomersCustomerResponseBody200Shipping' -> Maybe Text
getCustomersCustomerResponseBody200Shipping'TrackingNumber GetCustomersCustomerResponseBody200Shipping'
obj)))))

instance Data.Aeson.Types.FromJSON.FromJSON GetCustomersCustomerResponseBody200Shipping' where
  parseJSON :: Value -> Parser GetCustomersCustomerResponseBody200Shipping'
parseJSON = String
-> (Object -> Parser GetCustomersCustomerResponseBody200Shipping')
-> Value
-> Parser GetCustomersCustomerResponseBody200Shipping'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetCustomersCustomerResponseBody200Shipping'" (\Object
obj -> (((((Maybe Address
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> GetCustomersCustomerResponseBody200Shipping')
-> Parser
     (Maybe Address
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Shipping')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Address
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetCustomersCustomerResponseBody200Shipping'
GetCustomersCustomerResponseBody200Shipping' Parser
  (Maybe Address
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Shipping')
-> Parser (Maybe Address)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Shipping')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Address)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"address")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Shipping')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> GetCustomersCustomerResponseBody200Shipping')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"carrier")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> GetCustomersCustomerResponseBody200Shipping')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> GetCustomersCustomerResponseBody200Shipping')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 Text -> GetCustomersCustomerResponseBody200Shipping')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text -> GetCustomersCustomerResponseBody200Shipping')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f 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 Text -> GetCustomersCustomerResponseBody200Shipping')
-> Parser (Maybe Text)
-> Parser GetCustomersCustomerResponseBody200Shipping'
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tracking_number"))

-- | Create a new 'GetCustomersCustomerResponseBody200Shipping'' with all required fields.
mkGetCustomersCustomerResponseBody200Shipping' :: GetCustomersCustomerResponseBody200Shipping'
mkGetCustomersCustomerResponseBody200Shipping' :: GetCustomersCustomerResponseBody200Shipping'
mkGetCustomersCustomerResponseBody200Shipping' =
  GetCustomersCustomerResponseBody200Shipping' :: Maybe Address
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetCustomersCustomerResponseBody200Shipping'
GetCustomersCustomerResponseBody200Shipping'
    { getCustomersCustomerResponseBody200Shipping'Address :: Maybe Address
getCustomersCustomerResponseBody200Shipping'Address = Maybe Address
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Shipping'Carrier :: Maybe Text
getCustomersCustomerResponseBody200Shipping'Carrier = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Shipping'Name :: Maybe Text
getCustomersCustomerResponseBody200Shipping'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Shipping'Phone :: Maybe Text
getCustomersCustomerResponseBody200Shipping'Phone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Shipping'TrackingNumber :: Maybe Text
getCustomersCustomerResponseBody200Shipping'TrackingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.sources@ in the specification.
--
-- The customer\'s payment sources, if any.
data GetCustomersCustomerResponseBody200Sources' = GetCustomersCustomerResponseBody200Sources'
  { -- | data: Details about each object.
    GetCustomersCustomerResponseBody200Sources'
-> [GetCustomersCustomerResponseBody200Sources'Data']
getCustomersCustomerResponseBody200Sources'Data :: ([GetCustomersCustomerResponseBody200Sources'Data']),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    GetCustomersCustomerResponseBody200Sources' -> Bool
getCustomersCustomerResponseBody200Sources'HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources' -> Text
getCustomersCustomerResponseBody200Sources'Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Sources' -> String -> String
[GetCustomersCustomerResponseBody200Sources'] -> String -> String
GetCustomersCustomerResponseBody200Sources' -> String
(Int
 -> GetCustomersCustomerResponseBody200Sources' -> String -> String)
-> (GetCustomersCustomerResponseBody200Sources' -> String)
-> ([GetCustomersCustomerResponseBody200Sources']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200Sources'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Sources'] -> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Sources'] -> String -> String
show :: GetCustomersCustomerResponseBody200Sources' -> String
$cshow :: GetCustomersCustomerResponseBody200Sources' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources' -> String -> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources' -> String -> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Sources'
-> GetCustomersCustomerResponseBody200Sources' -> Bool
(GetCustomersCustomerResponseBody200Sources'
 -> GetCustomersCustomerResponseBody200Sources' -> Bool)
-> (GetCustomersCustomerResponseBody200Sources'
    -> GetCustomersCustomerResponseBody200Sources' -> Bool)
-> Eq GetCustomersCustomerResponseBody200Sources'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Sources'
-> GetCustomersCustomerResponseBody200Sources' -> Bool
$c/= :: GetCustomersCustomerResponseBody200Sources'
-> GetCustomersCustomerResponseBody200Sources' -> Bool
== :: GetCustomersCustomerResponseBody200Sources'
-> GetCustomersCustomerResponseBody200Sources' -> Bool
$c== :: GetCustomersCustomerResponseBody200Sources'
-> GetCustomersCustomerResponseBody200Sources' -> Bool
GHC.Classes.Eq
    )

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.sources.properties.data.items.anyOf@ in the specification.
data GetCustomersCustomerResponseBody200Sources'Data' = GetCustomersCustomerResponseBody200Sources'Data'
  { -- | account: The ID of the account that the bank account is associated with.
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Account'Variants
getCustomersCustomerResponseBody200Sources'Data'Account :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'Data'Account'Variants),
    -- | account_holder_name: The name of the person or business that owns the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AccountHolderType :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ach_credit_transfer
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeAchCreditTransfer
getCustomersCustomerResponseBody200Sources'Data'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer),
    -- | ach_debit
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeAchDebit
getCustomersCustomerResponseBody200Sources'Data'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit),
    -- | acss_debit
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeAcssDebit
getCustomersCustomerResponseBody200Sources'Data'AcssDebit :: (GHC.Maybe.Maybe SourceTypeAcssDebit),
    -- | active: True when this bitcoin receiver has received a non-zero amount of bitcoin.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Active :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | address_city: City\/District\/Suburb\/Town\/Village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressCity :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_country: Billing address country, if provided when creating card.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressLine1Check :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressLine2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_state: State\/County\/Province\/Region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressState :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | address_zip: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressZipCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | alipay
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeAlipay
getCustomersCustomerResponseBody200Sources'Data'Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay),
    -- | amount: The amount of \`currency\` that you are collecting as payment.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Int
getCustomersCustomerResponseBody200Sources'Data'Amount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | amount_received: The amount of \`currency\` to which \`bitcoin_amount_received\` has been converted.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Int
getCustomersCustomerResponseBody200Sources'Data'AmountReceived :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | au_becs_debit
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeAuBecsDebit
getCustomersCustomerResponseBody200Sources'Data'AuBecsDebit :: (GHC.Maybe.Maybe SourceTypeAuBecsDebit),
    -- | available_payout_methods: A set of available payout methods for this bank account. Only values from this set should be passed as the \`method\` when creating a payout.
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe
     [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
getCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods'])),
    -- | bancontact
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeBancontact
getCustomersCustomerResponseBody200Sources'Data'Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact),
    -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'BankName :: (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.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Int
getCustomersCustomerResponseBody200Sources'Data'BitcoinAmount :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | bitcoin_amount_received: The amount of bitcoin that has been sent by the customer to this receiver.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Int
getCustomersCustomerResponseBody200Sources'Data'BitcoinAmountReceived :: (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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'BitcoinUri :: (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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Brand :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | card
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeCard
getCustomersCustomerResponseBody200Sources'Data'Card :: (GHC.Maybe.Maybe SourceTypeCard),
    -- | card_present
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeCardPresent
getCustomersCustomerResponseBody200Sources'Data'CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent),
    -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'ClientSecret :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | code_verification:
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceCodeVerificationFlow
getCustomersCustomerResponseBody200Sources'Data'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow),
    -- | country: Two-letter ISO code representing the country the bank account is located in.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | created: Time at which the object was created. Measured in seconds since the Unix epoch.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Int
getCustomersCustomerResponseBody200Sources'Data'Created :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Currency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | customer: The ID of the customer associated with this Alipay Account.
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
getCustomersCustomerResponseBody200Sources'Data'Customer :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'CvcCheck :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | default_for_currency: Whether this bank account is the default external account for its currency.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'DefaultForCurrency :: (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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'DynamicLast4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | email: The customer\'s email address, set by the API call that creates the receiver.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | eps
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeEps
getCustomersCustomerResponseBody200Sources'Data'Eps :: (GHC.Maybe.Maybe SourceTypeEps),
    -- | exp_month: Two-digit number representing the card\'s expiration month.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Int
getCustomersCustomerResponseBody200Sources'Data'ExpMonth :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | exp_year: Four-digit number representing the card\'s expiration year.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Int
getCustomersCustomerResponseBody200Sources'Data'ExpYear :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | filled: This flag is initially false and updates to true when the customer sends the \`bitcoin_amount\` to this receiver.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Filled :: (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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Fingerprint :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Flow :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Funding :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | giropay
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeGiropay
getCustomersCustomerResponseBody200Sources'Data'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay),
    -- | id: Unique identifier for the object.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Id :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | ideal
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeIdeal
getCustomersCustomerResponseBody200Sources'Data'Ideal :: (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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'InboundAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | klarna
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeKlarna
getCustomersCustomerResponseBody200Sources'Data'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna),
    -- | last4: The last four digits of the bank account number.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Last4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Object
getCustomersCustomerResponseBody200Sources'Data'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object),
    -- | multibanco
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeMultibanco
getCustomersCustomerResponseBody200Sources'Data'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco),
    -- | name: Cardholder name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types.
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
getCustomersCustomerResponseBody200Sources'Data'Owner :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'),
    -- | p24
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeP24
getCustomersCustomerResponseBody200Sources'Data'P24 :: (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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Payment :: (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.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Int
getCustomersCustomerResponseBody200Sources'Data'PaymentAmount :: (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.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'PaymentCurrency :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | receiver:
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceReceiverFlow
getCustomersCustomerResponseBody200Sources'Data'Receiver :: (GHC.Maybe.Maybe SourceReceiverFlow),
    -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead.
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
getCustomersCustomerResponseBody200Sources'Data'Recipient :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants),
    -- | redirect:
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceRedirectFlow
getCustomersCustomerResponseBody200Sources'Data'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow),
    -- | refund_address: The refund address of this bitcoin receiver.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'RefundAddress :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | 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.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Reusable :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | routing_number: The routing transit number for the bank account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'RoutingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | sepa_debit
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeSepaDebit
getCustomersCustomerResponseBody200Sources'Data'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit),
    -- | sofort
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeSofort
getCustomersCustomerResponseBody200Sources'Data'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort),
    -- | source_order:
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceOrder
getCustomersCustomerResponseBody200Sources'Data'SourceOrder :: (GHC.Maybe.Maybe SourceOrder),
    -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'StatementDescriptor :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated.
    --
    -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Status :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | three_d_secure
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeThreeDSecure
getCustomersCustomerResponseBody200Sources'Data'ThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure),
    -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'TokenizationMethod :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | 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.
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Transactions'
getCustomersCustomerResponseBody200Sources'Data'Transactions :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'Data'Transactions'),
    -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used.
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
getCustomersCustomerResponseBody200Sources'Data'Type :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'),
    -- | uncaptured_funds: This receiver contains uncaptured funds that can be used for a payment or refunded.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'UncapturedFunds :: (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
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Usage :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | used: Whether this Alipay account object has ever been used for a payment.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Used :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | used_for_payment: Indicate if this source is used for payment.
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'UsedForPayment :: (GHC.Maybe.Maybe GHC.Types.Bool),
    -- | username: The username for the Alipay account.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data' -> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Username :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | wechat
    GetCustomersCustomerResponseBody200Sources'Data'
-> Maybe SourceTypeWechat
getCustomersCustomerResponseBody200Sources'Data'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat)
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Sources'Data'
-> String
-> String
[GetCustomersCustomerResponseBody200Sources'Data']
-> String -> String
GetCustomersCustomerResponseBody200Sources'Data' -> String
(Int
 -> GetCustomersCustomerResponseBody200Sources'Data'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Sources'Data' -> String)
-> ([GetCustomersCustomerResponseBody200Sources'Data']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200Sources'Data'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Sources'Data']
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Sources'Data']
-> String -> String
show :: GetCustomersCustomerResponseBody200Sources'Data' -> String
$cshow :: GetCustomersCustomerResponseBody200Sources'Data' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'
-> String
-> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Sources'Data'
-> GetCustomersCustomerResponseBody200Sources'Data' -> Bool
(GetCustomersCustomerResponseBody200Sources'Data'
 -> GetCustomersCustomerResponseBody200Sources'Data' -> Bool)
-> (GetCustomersCustomerResponseBody200Sources'Data'
    -> GetCustomersCustomerResponseBody200Sources'Data' -> Bool)
-> Eq GetCustomersCustomerResponseBody200Sources'Data'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Sources'Data'
-> GetCustomersCustomerResponseBody200Sources'Data' -> Bool
$c/= :: GetCustomersCustomerResponseBody200Sources'Data'
-> GetCustomersCustomerResponseBody200Sources'Data' -> Bool
== :: GetCustomersCustomerResponseBody200Sources'Data'
-> GetCustomersCustomerResponseBody200Sources'Data' -> Bool
$c== :: GetCustomersCustomerResponseBody200Sources'Data'
-> GetCustomersCustomerResponseBody200Sources'Data' -> Bool
GHC.Classes.Eq
    )

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

instance Data.Aeson.Types.FromJSON.FromJSON GetCustomersCustomerResponseBody200Sources'Data' where
  parseJSON :: Value -> Parser GetCustomersCustomerResponseBody200Sources'Data'
parseJSON = String
-> (Object
    -> Parser GetCustomersCustomerResponseBody200Sources'Data')
-> Value
-> Parser GetCustomersCustomerResponseBody200Sources'Data'
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetCustomersCustomerResponseBody200Sources'Data'" (\Object
obj -> ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((Maybe
   GetCustomersCustomerResponseBody200Sources'Data'Account'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
      [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
 -> Maybe SourceTypeBancontact
 -> Maybe Text
 -> Maybe Int
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeCard
 -> Maybe SourceTypeCardPresent
 -> Maybe Text
 -> Maybe SourceCodeVerificationFlow
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe
      GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeEps
 -> Maybe Int
 -> Maybe Int
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeGiropay
 -> Maybe Text
 -> Maybe SourceTypeIdeal
 -> Maybe Text
 -> Maybe SourceTypeKlarna
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Object
 -> Maybe SourceTypeMultibanco
 -> Maybe Text
 -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
 -> Maybe SourceTypeP24
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe SourceReceiverFlow
 -> Maybe
      GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
 -> Maybe SourceRedirectFlow
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceTypeSepaDebit
 -> Maybe SourceTypeSofort
 -> Maybe SourceOrder
 -> Maybe Text
 -> Maybe Text
 -> Maybe SourceTypeThreeDSecure
 -> Maybe Text
 -> Maybe
      GetCustomersCustomerResponseBody200Sources'Data'Transactions'
 -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
 -> Maybe Bool
 -> Maybe Text
 -> Maybe Bool
 -> Maybe Bool
 -> Maybe Text
 -> Maybe SourceTypeWechat
 -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Account'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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Account'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
     [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeEps
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeGiropay
-> Maybe Text
-> Maybe SourceTypeIdeal
-> Maybe Text
-> Maybe SourceTypeKlarna
-> Maybe Text
-> Maybe Bool
-> Maybe Object
-> Maybe SourceTypeMultibanco
-> Maybe Text
-> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe SourceTypeP24
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe SourceReceiverFlow
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeWechat
-> GetCustomersCustomerResponseBody200Sources'Data'
GetCustomersCustomerResponseBody200Sources'Data' Parser
  (Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Account'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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Account'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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Account'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"account")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeAchCreditTransfer
   -> Maybe SourceTypeAchDebit
   -> Maybe SourceTypeAcssDebit
   -> Maybe 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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> 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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> 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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> 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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> 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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> 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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> 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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> 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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> 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
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeAlipay
      -> Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeAlipay
   -> Maybe Int
   -> Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeAlipay)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"amount")) Parser
  (Maybe Int
   -> Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe SourceTypeAuBecsDebit
      -> Maybe
           [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"amount_received")) Parser
  (Maybe SourceTypeAuBecsDebit
   -> Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeAuBecsDebit)
-> Parser
     (Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
      -> Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
     [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
   -> Maybe SourceTypeBancontact
   -> Maybe Text
   -> Maybe Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser
     (Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods'])
-> Parser
     (Maybe SourceTypeBancontact
      -> Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods'])
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 SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeBancontact)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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 SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 Int
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"bitcoin_amount")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"bitcoin_amount_received")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"bitcoin_uri")) Parser
  (Maybe Text
   -> Maybe SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeCard
      -> Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeCard
   -> Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeCard)
-> Parser
     (Maybe SourceTypeCardPresent
      -> Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeCard)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card")) Parser
  (Maybe SourceTypeCardPresent
   -> Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeCardPresent)
-> Parser
     (Maybe Text
      -> Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeCardPresent)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_present")) Parser
  (Maybe Text
   -> Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceCodeVerificationFlow
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"client_secret")) Parser
  (Maybe SourceCodeVerificationFlow
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceCodeVerificationFlow)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceCodeVerificationFlow)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"code_verification")) Parser
  (Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 Int
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"created")) Parser
  (Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'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 Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"description")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 Text
   -> Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeEps
      -> Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"email")) Parser
  (Maybe SourceTypeEps
   -> Maybe Int
   -> Maybe Int
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeEps)
-> Parser
     (Maybe Int
      -> Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Int
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 Bool
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"filled")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"flow")) Parser
  (Maybe Text
   -> Maybe SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeGiropay
      -> Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeGiropay
   -> Maybe Text
   -> Maybe SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeGiropay)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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 SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeIdeal
      -> Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeIdeal
   -> Maybe Text
   -> Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeIdeal)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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 SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeKlarna
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"inbound_address")) Parser
  (Maybe SourceTypeKlarna
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeKlarna)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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 GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 Bool
   -> Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Object
      -> Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"livemode")) Parser
  (Maybe Object
   -> Maybe SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Object)
-> Parser
     (Maybe SourceTypeMultibanco
      -> Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeMultibanco
   -> Maybe Text
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeMultibanco)
-> Parser
     (Maybe Text
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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 GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
      -> Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 GetCustomersCustomerResponseBody200Sources'Data'Owner'
   -> Maybe SourceTypeP24
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner')
-> Parser
     (Maybe SourceTypeP24
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner')
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 SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeP24)
-> Parser
     (Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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 SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Int
      -> Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"payment")) Parser
  (Maybe Int
   -> Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Int)
-> Parser
     (Maybe Text
      -> Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"payment_amount")) Parser
  (Maybe Text
   -> Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceReceiverFlow
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"payment_currency")) Parser
  (Maybe SourceReceiverFlow
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceReceiverFlow)
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
      -> Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
   -> Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants)
-> Parser
     (Maybe SourceRedirectFlow
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"recipient")) Parser
  (Maybe SourceRedirectFlow
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceRedirectFlow)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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 Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"refund_address")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"reusable")) Parser
  (Maybe Text
   -> Maybe SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeSepaDebit
      -> Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeSepaDebit
   -> Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeSepaDebit)
-> Parser
     (Maybe SourceTypeSofort
      -> Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe SourceTypeSepaDebit)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sepa_debit")) Parser
  (Maybe SourceTypeSofort
   -> Maybe SourceOrder
   -> Maybe Text
   -> Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeSofort)
-> Parser
     (Maybe SourceOrder
      -> Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceOrder)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"statement_descriptor")) Parser
  (Maybe Text
   -> Maybe SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeThreeDSecure
      -> Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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 SourceTypeThreeDSecure
   -> Maybe Text
   -> Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeThreeDSecure)
-> Parser
     (Maybe Text
      -> Maybe
           GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
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
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions'
      -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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")) Parser
  (Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Transactions'
   -> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions')
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
      -> Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe
        GetCustomersCustomerResponseBody200Sources'Data'Transactions')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"transactions")) Parser
  (Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
   -> Maybe Bool
   -> Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Sources'Data'Type')
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'Data')
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser
     (Maybe GetCustomersCustomerResponseBody200Sources'Data'Type')
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
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"uncaptured_funds")) Parser
  (Maybe Text
   -> Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe Bool
      -> Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"usage")) Parser
  (Maybe Bool
   -> Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Bool
      -> Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"used")) Parser
  (Maybe Bool
   -> Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Bool)
-> Parser
     (Maybe Text
      -> Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"used_for_payment")) Parser
  (Maybe Text
   -> Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe Text)
-> Parser
     (Maybe SourceTypeWechat
      -> GetCustomersCustomerResponseBody200Sources'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
"username")) Parser
  (Maybe SourceTypeWechat
   -> GetCustomersCustomerResponseBody200Sources'Data')
-> Parser (Maybe SourceTypeWechat)
-> Parser GetCustomersCustomerResponseBody200Sources'Data'
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 'GetCustomersCustomerResponseBody200Sources'Data'' with all required fields.
mkGetCustomersCustomerResponseBody200Sources'Data' :: GetCustomersCustomerResponseBody200Sources'Data'
mkGetCustomersCustomerResponseBody200Sources'Data' :: GetCustomersCustomerResponseBody200Sources'Data'
mkGetCustomersCustomerResponseBody200Sources'Data' =
  GetCustomersCustomerResponseBody200Sources'Data' :: Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Account'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
     [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
-> Maybe SourceTypeBancontact
-> Maybe Text
-> Maybe Int
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeCard
-> Maybe SourceTypeCardPresent
-> Maybe Text
-> Maybe SourceCodeVerificationFlow
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeEps
-> Maybe Int
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeGiropay
-> Maybe Text
-> Maybe SourceTypeIdeal
-> Maybe Text
-> Maybe SourceTypeKlarna
-> Maybe Text
-> Maybe Bool
-> Maybe Object
-> Maybe SourceTypeMultibanco
-> Maybe Text
-> Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe SourceTypeP24
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe SourceReceiverFlow
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
-> Maybe SourceRedirectFlow
-> Maybe Text
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeSepaDebit
-> Maybe SourceTypeSofort
-> Maybe SourceOrder
-> Maybe Text
-> Maybe Text
-> Maybe SourceTypeThreeDSecure
-> Maybe Text
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
-> Maybe Bool
-> Maybe Text
-> Maybe Bool
-> Maybe Bool
-> Maybe Text
-> Maybe SourceTypeWechat
-> GetCustomersCustomerResponseBody200Sources'Data'
GetCustomersCustomerResponseBody200Sources'Data'
    { getCustomersCustomerResponseBody200Sources'Data'Account :: Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Account'Variants
getCustomersCustomerResponseBody200Sources'Data'Account = Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Account'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AccountHolderName :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AccountHolderName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AccountHolderType :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AccountHolderType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AchCreditTransfer :: Maybe SourceTypeAchCreditTransfer
getCustomersCustomerResponseBody200Sources'Data'AchCreditTransfer = Maybe SourceTypeAchCreditTransfer
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AchDebit :: Maybe SourceTypeAchDebit
getCustomersCustomerResponseBody200Sources'Data'AchDebit = Maybe SourceTypeAchDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AcssDebit :: Maybe SourceTypeAcssDebit
getCustomersCustomerResponseBody200Sources'Data'AcssDebit = Maybe SourceTypeAcssDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Active :: Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Active = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AddressCity :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressCity = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AddressCountry :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressCountry = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AddressLine1 :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressLine1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AddressLine1Check :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressLine1Check = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AddressLine2 :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressLine2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AddressState :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressState = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AddressZip :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressZip = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AddressZipCheck :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'AddressZipCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Alipay :: Maybe SourceTypeAlipay
getCustomersCustomerResponseBody200Sources'Data'Alipay = Maybe SourceTypeAlipay
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Amount :: Maybe Int
getCustomersCustomerResponseBody200Sources'Data'Amount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AmountReceived :: Maybe Int
getCustomersCustomerResponseBody200Sources'Data'AmountReceived = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AuBecsDebit :: Maybe SourceTypeAuBecsDebit
getCustomersCustomerResponseBody200Sources'Data'AuBecsDebit = Maybe SourceTypeAuBecsDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods :: Maybe
  [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
getCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods = Maybe
  [GetCustomersCustomerResponseBody200Sources'Data'AvailablePayoutMethods']
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Bancontact :: Maybe SourceTypeBancontact
getCustomersCustomerResponseBody200Sources'Data'Bancontact = Maybe SourceTypeBancontact
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'BankName :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'BankName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'BitcoinAmount :: Maybe Int
getCustomersCustomerResponseBody200Sources'Data'BitcoinAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'BitcoinAmountReceived :: Maybe Int
getCustomersCustomerResponseBody200Sources'Data'BitcoinAmountReceived = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'BitcoinUri :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'BitcoinUri = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Brand :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Brand = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Card :: Maybe SourceTypeCard
getCustomersCustomerResponseBody200Sources'Data'Card = Maybe SourceTypeCard
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'CardPresent :: Maybe SourceTypeCardPresent
getCustomersCustomerResponseBody200Sources'Data'CardPresent = Maybe SourceTypeCardPresent
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'ClientSecret :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'ClientSecret = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'CodeVerification :: Maybe SourceCodeVerificationFlow
getCustomersCustomerResponseBody200Sources'Data'CodeVerification = Maybe SourceCodeVerificationFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Country :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Created :: Maybe Int
getCustomersCustomerResponseBody200Sources'Data'Created = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Currency :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Currency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Customer :: Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
getCustomersCustomerResponseBody200Sources'Data'Customer = Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'CvcCheck :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'CvcCheck = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'DefaultForCurrency :: Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'DefaultForCurrency = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Description :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Description = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'DynamicLast4 :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'DynamicLast4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Email :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Email = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Eps :: Maybe SourceTypeEps
getCustomersCustomerResponseBody200Sources'Data'Eps = Maybe SourceTypeEps
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'ExpMonth :: Maybe Int
getCustomersCustomerResponseBody200Sources'Data'ExpMonth = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'ExpYear :: Maybe Int
getCustomersCustomerResponseBody200Sources'Data'ExpYear = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Filled :: Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Filled = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Fingerprint :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Fingerprint = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Flow :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Flow = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Funding :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Funding = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Giropay :: Maybe SourceTypeGiropay
getCustomersCustomerResponseBody200Sources'Data'Giropay = Maybe SourceTypeGiropay
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Id :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Id = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Ideal :: Maybe SourceTypeIdeal
getCustomersCustomerResponseBody200Sources'Data'Ideal = Maybe SourceTypeIdeal
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'InboundAddress :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'InboundAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Klarna :: Maybe SourceTypeKlarna
getCustomersCustomerResponseBody200Sources'Data'Klarna = Maybe SourceTypeKlarna
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Last4 :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Last4 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Livemode :: Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Livemode = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Metadata :: Maybe Object
getCustomersCustomerResponseBody200Sources'Data'Metadata = Maybe Object
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Multibanco :: Maybe SourceTypeMultibanco
getCustomersCustomerResponseBody200Sources'Data'Multibanco = Maybe SourceTypeMultibanco
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Name :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner :: Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
getCustomersCustomerResponseBody200Sources'Data'Owner = Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'P24 :: Maybe SourceTypeP24
getCustomersCustomerResponseBody200Sources'Data'P24 = Maybe SourceTypeP24
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Payment :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Payment = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'PaymentAmount :: Maybe Int
getCustomersCustomerResponseBody200Sources'Data'PaymentAmount = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'PaymentCurrency :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'PaymentCurrency = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Receiver :: Maybe SourceReceiverFlow
getCustomersCustomerResponseBody200Sources'Data'Receiver = Maybe SourceReceiverFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Recipient :: Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
getCustomersCustomerResponseBody200Sources'Data'Recipient = Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Redirect :: Maybe SourceRedirectFlow
getCustomersCustomerResponseBody200Sources'Data'Redirect = Maybe SourceRedirectFlow
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'RefundAddress :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'RefundAddress = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Reusable :: Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Reusable = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'RoutingNumber :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'RoutingNumber = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'SepaDebit :: Maybe SourceTypeSepaDebit
getCustomersCustomerResponseBody200Sources'Data'SepaDebit = Maybe SourceTypeSepaDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Sofort :: Maybe SourceTypeSofort
getCustomersCustomerResponseBody200Sources'Data'Sofort = Maybe SourceTypeSofort
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'SourceOrder :: Maybe SourceOrder
getCustomersCustomerResponseBody200Sources'Data'SourceOrder = Maybe SourceOrder
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'StatementDescriptor :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'StatementDescriptor = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Status :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Status = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'ThreeDSecure :: Maybe SourceTypeThreeDSecure
getCustomersCustomerResponseBody200Sources'Data'ThreeDSecure = Maybe SourceTypeThreeDSecure
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'TokenizationMethod :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'TokenizationMethod = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Transactions :: Maybe GetCustomersCustomerResponseBody200Sources'Data'Transactions'
getCustomersCustomerResponseBody200Sources'Data'Transactions = Maybe GetCustomersCustomerResponseBody200Sources'Data'Transactions'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Type :: Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
getCustomersCustomerResponseBody200Sources'Data'Type = Maybe GetCustomersCustomerResponseBody200Sources'Data'Type'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'UncapturedFunds :: Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'UncapturedFunds = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Usage :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Usage = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Used :: Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'Used = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'UsedForPayment :: Maybe Bool
getCustomersCustomerResponseBody200Sources'Data'UsedForPayment = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Username :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Username = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Wechat :: Maybe SourceTypeWechat
getCustomersCustomerResponseBody200Sources'Data'Wechat = Maybe SourceTypeWechat
forall a. Maybe a
GHC.Maybe.Nothing
    }

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

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

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

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

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

instance Data.Aeson.Types.ToJSON.ToJSON GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants where
  toJSON :: GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Value
toJSON (GetCustomersCustomerResponseBody200Sources'Data'Customer'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (GetCustomersCustomerResponseBody200Sources'Data'Customer'Customer Customer
a) = Customer -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Customer
a
  toJSON (GetCustomersCustomerResponseBody200Sources'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 GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants where
  parseJSON :: Value
-> Parser
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
parseJSON Value
val = case (Text
-> GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
GetCustomersCustomerResponseBody200Sources'Data'Customer'Text (Text
 -> GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants)
-> Result Text
-> Result
     GetCustomersCustomerResponseBody200Sources'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
  GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Customer
-> GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
GetCustomersCustomerResponseBody200Sources'Data'Customer'Customer (Customer
 -> GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants)
-> Result Customer
-> Result
     GetCustomersCustomerResponseBody200Sources'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
  GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((DeletedCustomer
-> GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
GetCustomersCustomerResponseBody200Sources'Data'Customer'DeletedCustomer (DeletedCustomer
 -> GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants)
-> Result DeletedCustomer
-> Result
     GetCustomersCustomerResponseBody200Sources'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
  GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched")) of
    Data.Aeson.Types.Internal.Success GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
a -> GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
-> Parser
     GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetCustomersCustomerResponseBody200Sources'Data'Customer'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     GetCustomersCustomerResponseBody200Sources'Data'Customer'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}.GET.responses.200.content.application\/json.schema.anyOf.properties.sources.properties.data.items.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 GetCustomersCustomerResponseBody200Sources'Data'Owner' = GetCustomersCustomerResponseBody200Sources'Data'Owner'
  { -- | address: Owner\'s address.
    GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
getCustomersCustomerResponseBody200Sources'Data'Owner'Address :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'),
    -- | email: Owner\'s email address.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Email :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | name: Owner\'s full name.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | phone: Owner\'s phone number (including extension).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
    GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress :: (GHC.Maybe.Maybe GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'),
    -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedPhone :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> String
-> String
[GetCustomersCustomerResponseBody200Sources'Data'Owner']
-> String -> String
GetCustomersCustomerResponseBody200Sources'Data'Owner' -> String
(Int
 -> GetCustomersCustomerResponseBody200Sources'Data'Owner'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Sources'Data'Owner'
    -> String)
-> ([GetCustomersCustomerResponseBody200Sources'Data'Owner']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200Sources'Data'Owner'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Sources'Data'Owner']
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Sources'Data'Owner']
-> String -> String
show :: GetCustomersCustomerResponseBody200Sources'Data'Owner' -> String
$cshow :: GetCustomersCustomerResponseBody200Sources'Data'Owner' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> String
-> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner' -> Bool
(GetCustomersCustomerResponseBody200Sources'Data'Owner'
 -> GetCustomersCustomerResponseBody200Sources'Data'Owner' -> Bool)
-> (GetCustomersCustomerResponseBody200Sources'Data'Owner'
    -> GetCustomersCustomerResponseBody200Sources'Data'Owner' -> Bool)
-> Eq GetCustomersCustomerResponseBody200Sources'Data'Owner'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner' -> Bool
$c/= :: GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner' -> Bool
== :: GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner' -> Bool
$c== :: GetCustomersCustomerResponseBody200Sources'Data'Owner'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner' -> Bool
GHC.Classes.Eq
    )

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

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

-- | Create a new 'GetCustomersCustomerResponseBody200Sources'Data'Owner'' with all required fields.
mkGetCustomersCustomerResponseBody200Sources'Data'Owner' :: GetCustomersCustomerResponseBody200Sources'Data'Owner'
mkGetCustomersCustomerResponseBody200Sources'Data'Owner' :: GetCustomersCustomerResponseBody200Sources'Data'Owner'
mkGetCustomersCustomerResponseBody200Sources'Data'Owner' =
  GetCustomersCustomerResponseBody200Sources'Data'Owner' :: Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe
     GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'
GetCustomersCustomerResponseBody200Sources'Data'Owner'
    { getCustomersCustomerResponseBody200Sources'Data'Owner'Address :: Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
getCustomersCustomerResponseBody200Sources'Data'Owner'Address = Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'Email :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Email = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'Name :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Name = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'Phone :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Phone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress :: Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress = Maybe
  GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedEmail :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedEmail = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedName :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedPhone :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedPhone = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.sources.properties.data.items.anyOf.properties.owner.anyOf.properties.address.anyOf@ in the specification.
--
-- Owner\\\'s address.
data GetCustomersCustomerResponseBody200Sources'Data'Owner'Address' = GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1: Address line 1 (e.g., street, PO Box, or company name).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> String
-> String
[GetCustomersCustomerResponseBody200Sources'Data'Owner'Address']
-> String -> String
GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> String
(Int
 -> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
    -> String)
-> ([GetCustomersCustomerResponseBody200Sources'Data'Owner'Address']
    -> String -> String)
-> Show
     GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Sources'Data'Owner'Address']
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Sources'Data'Owner'Address']
-> String -> String
show :: GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> String
$cshow :: GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> String
-> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Bool
(GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
 -> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
 -> Bool)
-> (GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
    -> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
    -> Bool)
-> Eq
     GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Bool
$c/= :: GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Bool
== :: GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Bool
$c== :: GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
-> Bool
GHC.Classes.Eq
    )

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

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

-- | Create a new 'GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'' with all required fields.
mkGetCustomersCustomerResponseBody200Sources'Data'Owner'Address' :: GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
mkGetCustomersCustomerResponseBody200Sources'Data'Owner'Address' :: GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
mkGetCustomersCustomerResponseBody200Sources'Data'Owner'Address' =
  GetCustomersCustomerResponseBody200Sources'Data'Owner'Address' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
GetCustomersCustomerResponseBody200Sources'Data'Owner'Address'
    { getCustomersCustomerResponseBody200Sources'Data'Owner'Address'City :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Country :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Line1 :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Line2 :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'Address'PostalCode :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'Address'State :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'Address'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.sources.properties.data.items.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 GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress' = GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
  { -- | city: City, district, suburb, town, or village.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line1: Address line 1 (e.g., street, PO Box, or company name).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | line2: Address line 2 (e.g., apartment, suite, unit, or building).
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | postal_code: ZIP or postal code.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | state: State, county, province, or region.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> String
-> String
[GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress']
-> String -> String
GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> String
(Int
 -> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
    -> String)
-> ([GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress']
    -> String -> String)
-> Show
     GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress']
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress']
-> String -> String
show :: GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> String
$cshow :: GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> String
-> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Bool
(GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
 -> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
 -> Bool)
-> (GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
    -> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
    -> Bool)
-> Eq
     GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Bool
$c/= :: GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Bool
== :: GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Bool
$c== :: GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
-> Bool
GHC.Classes.Eq
    )

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

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

-- | Create a new 'GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'' with all required fields.
mkGetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress' :: GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
mkGetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress' :: GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
mkGetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress' =
  GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress' :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
GetCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'
    { getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'City :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'City = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Country :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Country = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Line1 :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Line1 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Line2 :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'Line2 = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'PostalCode :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'PostalCode = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'State :: Maybe Text
getCustomersCustomerResponseBody200Sources'Data'Owner'VerifiedAddress'State = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }

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

instance Data.Aeson.Types.ToJSON.ToJSON GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants where
  toJSON :: GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
-> Value
toJSON (GetCustomersCustomerResponseBody200Sources'Data'Recipient'Text Text
a) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
a
  toJSON (GetCustomersCustomerResponseBody200Sources'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 GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants where
  parseJSON :: Value
-> Parser
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
parseJSON Value
val = case (Text
-> GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
GetCustomersCustomerResponseBody200Sources'Data'Recipient'Text (Text
 -> GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants)
-> Result Text
-> Result
     GetCustomersCustomerResponseBody200Sources'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
  GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Recipient
-> GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
GetCustomersCustomerResponseBody200Sources'Data'Recipient'Recipient (Recipient
 -> GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants)
-> Result Recipient
-> Result
     GetCustomersCustomerResponseBody200Sources'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
  GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String
-> Result
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
    Data.Aeson.Types.Internal.Success GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
a -> GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
-> Parser
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetCustomersCustomerResponseBody200Sources'Data'Recipient'Variants
a
    Data.Aeson.Types.Internal.Error String
a -> String
-> Parser
     GetCustomersCustomerResponseBody200Sources'Data'Recipient'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}.GET.responses.200.content.application\/json.schema.anyOf.properties.sources.properties.data.items.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 GetCustomersCustomerResponseBody200Sources'Data'Transactions' = GetCustomersCustomerResponseBody200Sources'Data'Transactions'
  { -- | data: Details about each object.
    GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> [BitcoinTransaction]
getCustomersCustomerResponseBody200Sources'Data'Transactions'Data :: ([BitcoinTransaction]),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Bool
getCustomersCustomerResponseBody200Sources'Data'Transactions'HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Text
getCustomersCustomerResponseBody200Sources'Data'Transactions'Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> String
-> String
[GetCustomersCustomerResponseBody200Sources'Data'Transactions']
-> String -> String
GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> String
(Int
 -> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Sources'Data'Transactions'
    -> String)
-> ([GetCustomersCustomerResponseBody200Sources'Data'Transactions']
    -> String -> String)
-> Show
     GetCustomersCustomerResponseBody200Sources'Data'Transactions'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Sources'Data'Transactions']
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Sources'Data'Transactions']
-> String -> String
show :: GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> String
$cshow :: GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> String
-> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Bool
(GetCustomersCustomerResponseBody200Sources'Data'Transactions'
 -> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
 -> Bool)
-> (GetCustomersCustomerResponseBody200Sources'Data'Transactions'
    -> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
    -> Bool)
-> Eq GetCustomersCustomerResponseBody200Sources'Data'Transactions'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Bool
$c/= :: GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Bool
== :: GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Bool
$c== :: GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> GetCustomersCustomerResponseBody200Sources'Data'Transactions'
-> Bool
GHC.Classes.Eq
    )

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

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.sources.properties.data.items.anyOf.properties.type@ in the specification.
--
-- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used.
data GetCustomersCustomerResponseBody200Sources'Data'Type'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetCustomersCustomerResponseBody200Sources'Data'Type'Other Data.Aeson.Types.Internal.Value
  | -- | This constructor can be used to send values to the server which are not present in the specification yet.
    GetCustomersCustomerResponseBody200Sources'Data'Type'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"ach_credit_transfer"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumAchCreditTransfer
  | -- | Represents the JSON value @"ach_debit"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumAchDebit
  | -- | Represents the JSON value @"acss_debit"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumAcssDebit
  | -- | Represents the JSON value @"alipay"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumAlipay
  | -- | Represents the JSON value @"au_becs_debit"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumAuBecsDebit
  | -- | Represents the JSON value @"bancontact"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumBancontact
  | -- | Represents the JSON value @"card"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumCard
  | -- | Represents the JSON value @"card_present"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumCardPresent
  | -- | Represents the JSON value @"eps"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumEps
  | -- | Represents the JSON value @"giropay"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumGiropay
  | -- | Represents the JSON value @"ideal"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumIdeal
  | -- | Represents the JSON value @"klarna"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumKlarna
  | -- | Represents the JSON value @"multibanco"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumMultibanco
  | -- | Represents the JSON value @"p24"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumP24
  | -- | Represents the JSON value @"sepa_debit"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumSepaDebit
  | -- | Represents the JSON value @"sofort"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumSofort
  | -- | Represents the JSON value @"three_d_secure"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumThreeDSecure
  | -- | Represents the JSON value @"wechat"@
    GetCustomersCustomerResponseBody200Sources'Data'Type'EnumWechat
  deriving (Int
-> GetCustomersCustomerResponseBody200Sources'Data'Type'
-> String
-> String
[GetCustomersCustomerResponseBody200Sources'Data'Type']
-> String -> String
GetCustomersCustomerResponseBody200Sources'Data'Type' -> String
(Int
 -> GetCustomersCustomerResponseBody200Sources'Data'Type'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Sources'Data'Type'
    -> String)
-> ([GetCustomersCustomerResponseBody200Sources'Data'Type']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200Sources'Data'Type'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Sources'Data'Type']
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Sources'Data'Type']
-> String -> String
show :: GetCustomersCustomerResponseBody200Sources'Data'Type' -> String
$cshow :: GetCustomersCustomerResponseBody200Sources'Data'Type' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Type'
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Sources'Data'Type'
-> String
-> String
GHC.Show.Show, GetCustomersCustomerResponseBody200Sources'Data'Type'
-> GetCustomersCustomerResponseBody200Sources'Data'Type' -> Bool
(GetCustomersCustomerResponseBody200Sources'Data'Type'
 -> GetCustomersCustomerResponseBody200Sources'Data'Type' -> Bool)
-> (GetCustomersCustomerResponseBody200Sources'Data'Type'
    -> GetCustomersCustomerResponseBody200Sources'Data'Type' -> Bool)
-> Eq GetCustomersCustomerResponseBody200Sources'Data'Type'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Sources'Data'Type'
-> GetCustomersCustomerResponseBody200Sources'Data'Type' -> Bool
$c/= :: GetCustomersCustomerResponseBody200Sources'Data'Type'
-> GetCustomersCustomerResponseBody200Sources'Data'Type' -> Bool
== :: GetCustomersCustomerResponseBody200Sources'Data'Type'
-> GetCustomersCustomerResponseBody200Sources'Data'Type' -> Bool
$c== :: GetCustomersCustomerResponseBody200Sources'Data'Type'
-> GetCustomersCustomerResponseBody200Sources'Data'Type' -> Bool
GHC.Classes.Eq)

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

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

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.subscriptions@ in the specification.
--
-- The customer\'s current subscriptions, if any.
data GetCustomersCustomerResponseBody200Subscriptions' = GetCustomersCustomerResponseBody200Subscriptions'
  { -- | data: Details about each object.
    GetCustomersCustomerResponseBody200Subscriptions' -> [Subscription]
getCustomersCustomerResponseBody200Subscriptions'Data :: ([Subscription]),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    GetCustomersCustomerResponseBody200Subscriptions' -> Bool
getCustomersCustomerResponseBody200Subscriptions'HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200Subscriptions' -> Text
getCustomersCustomerResponseBody200Subscriptions'Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200Subscriptions'
-> String
-> String
[GetCustomersCustomerResponseBody200Subscriptions']
-> String -> String
GetCustomersCustomerResponseBody200Subscriptions' -> String
(Int
 -> GetCustomersCustomerResponseBody200Subscriptions'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200Subscriptions' -> String)
-> ([GetCustomersCustomerResponseBody200Subscriptions']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200Subscriptions'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200Subscriptions']
-> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200Subscriptions']
-> String -> String
show :: GetCustomersCustomerResponseBody200Subscriptions' -> String
$cshow :: GetCustomersCustomerResponseBody200Subscriptions' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200Subscriptions'
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200Subscriptions'
-> String
-> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200Subscriptions'
-> GetCustomersCustomerResponseBody200Subscriptions' -> Bool
(GetCustomersCustomerResponseBody200Subscriptions'
 -> GetCustomersCustomerResponseBody200Subscriptions' -> Bool)
-> (GetCustomersCustomerResponseBody200Subscriptions'
    -> GetCustomersCustomerResponseBody200Subscriptions' -> Bool)
-> Eq GetCustomersCustomerResponseBody200Subscriptions'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200Subscriptions'
-> GetCustomersCustomerResponseBody200Subscriptions' -> Bool
$c/= :: GetCustomersCustomerResponseBody200Subscriptions'
-> GetCustomersCustomerResponseBody200Subscriptions' -> Bool
== :: GetCustomersCustomerResponseBody200Subscriptions'
-> GetCustomersCustomerResponseBody200Subscriptions' -> Bool
$c== :: GetCustomersCustomerResponseBody200Subscriptions'
-> GetCustomersCustomerResponseBody200Subscriptions' -> Bool
GHC.Classes.Eq
    )

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

-- | Defines the enum schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.tax_exempt@ in the specification.
--
-- Describes the customer\'s tax exemption status. One of \`none\`, \`exempt\`, or \`reverse\`. When set to \`reverse\`, invoice and receipt PDFs include the text **\"Reverse charge\"**.
data GetCustomersCustomerResponseBody200TaxExempt'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    GetCustomersCustomerResponseBody200TaxExempt'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.
    GetCustomersCustomerResponseBody200TaxExempt'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"exempt"@
    GetCustomersCustomerResponseBody200TaxExempt'EnumExempt
  | -- | Represents the JSON value @"none"@
    GetCustomersCustomerResponseBody200TaxExempt'EnumNone
  | -- | Represents the JSON value @"reverse"@
    GetCustomersCustomerResponseBody200TaxExempt'EnumReverse
  deriving (Int
-> GetCustomersCustomerResponseBody200TaxExempt'
-> String
-> String
[GetCustomersCustomerResponseBody200TaxExempt'] -> String -> String
GetCustomersCustomerResponseBody200TaxExempt' -> String
(Int
 -> GetCustomersCustomerResponseBody200TaxExempt'
 -> String
 -> String)
-> (GetCustomersCustomerResponseBody200TaxExempt' -> String)
-> ([GetCustomersCustomerResponseBody200TaxExempt']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200TaxExempt'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200TaxExempt'] -> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200TaxExempt'] -> String -> String
show :: GetCustomersCustomerResponseBody200TaxExempt' -> String
$cshow :: GetCustomersCustomerResponseBody200TaxExempt' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200TaxExempt'
-> String
-> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200TaxExempt'
-> String
-> String
GHC.Show.Show, GetCustomersCustomerResponseBody200TaxExempt'
-> GetCustomersCustomerResponseBody200TaxExempt' -> Bool
(GetCustomersCustomerResponseBody200TaxExempt'
 -> GetCustomersCustomerResponseBody200TaxExempt' -> Bool)
-> (GetCustomersCustomerResponseBody200TaxExempt'
    -> GetCustomersCustomerResponseBody200TaxExempt' -> Bool)
-> Eq GetCustomersCustomerResponseBody200TaxExempt'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200TaxExempt'
-> GetCustomersCustomerResponseBody200TaxExempt' -> Bool
$c/= :: GetCustomersCustomerResponseBody200TaxExempt'
-> GetCustomersCustomerResponseBody200TaxExempt' -> Bool
== :: GetCustomersCustomerResponseBody200TaxExempt'
-> GetCustomersCustomerResponseBody200TaxExempt' -> Bool
$c== :: GetCustomersCustomerResponseBody200TaxExempt'
-> GetCustomersCustomerResponseBody200TaxExempt' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON GetCustomersCustomerResponseBody200TaxExempt' where
  toJSON :: GetCustomersCustomerResponseBody200TaxExempt' -> Value
toJSON (GetCustomersCustomerResponseBody200TaxExempt'Other Value
val) = Value
val
  toJSON (GetCustomersCustomerResponseBody200TaxExempt'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (GetCustomersCustomerResponseBody200TaxExempt'
GetCustomersCustomerResponseBody200TaxExempt'EnumExempt) = Value
"exempt"
  toJSON (GetCustomersCustomerResponseBody200TaxExempt'
GetCustomersCustomerResponseBody200TaxExempt'EnumNone) = Value
"none"
  toJSON (GetCustomersCustomerResponseBody200TaxExempt'
GetCustomersCustomerResponseBody200TaxExempt'EnumReverse) = Value
"reverse"

instance Data.Aeson.Types.FromJSON.FromJSON GetCustomersCustomerResponseBody200TaxExempt' where
  parseJSON :: Value -> Parser GetCustomersCustomerResponseBody200TaxExempt'
parseJSON Value
val =
    GetCustomersCustomerResponseBody200TaxExempt'
-> Parser GetCustomersCustomerResponseBody200TaxExempt'
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
"exempt" -> GetCustomersCustomerResponseBody200TaxExempt'
GetCustomersCustomerResponseBody200TaxExempt'EnumExempt
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"none" -> GetCustomersCustomerResponseBody200TaxExempt'
GetCustomersCustomerResponseBody200TaxExempt'EnumNone
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"reverse" -> GetCustomersCustomerResponseBody200TaxExempt'
GetCustomersCustomerResponseBody200TaxExempt'EnumReverse
            | Bool
GHC.Base.otherwise -> Value -> GetCustomersCustomerResponseBody200TaxExempt'
GetCustomersCustomerResponseBody200TaxExempt'Other Value
val
      )

-- | Defines the object schema located at @paths.\/v1\/customers\/{customer}.GET.responses.200.content.application\/json.schema.anyOf.properties.tax_ids@ in the specification.
--
-- The customer\'s tax IDs.
data GetCustomersCustomerResponseBody200TaxIds' = GetCustomersCustomerResponseBody200TaxIds'
  { -- | data: Details about each object.
    GetCustomersCustomerResponseBody200TaxIds' -> [TaxId]
getCustomersCustomerResponseBody200TaxIds'Data :: ([TaxId]),
    -- | has_more: True if this list has another page of items after this one that can be fetched.
    GetCustomersCustomerResponseBody200TaxIds' -> Bool
getCustomersCustomerResponseBody200TaxIds'HasMore :: GHC.Types.Bool,
    -- | url: The URL where this list can be accessed.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    GetCustomersCustomerResponseBody200TaxIds' -> Text
getCustomersCustomerResponseBody200TaxIds'Url :: Data.Text.Internal.Text
  }
  deriving
    ( Int
-> GetCustomersCustomerResponseBody200TaxIds' -> String -> String
[GetCustomersCustomerResponseBody200TaxIds'] -> String -> String
GetCustomersCustomerResponseBody200TaxIds' -> String
(Int
 -> GetCustomersCustomerResponseBody200TaxIds' -> String -> String)
-> (GetCustomersCustomerResponseBody200TaxIds' -> String)
-> ([GetCustomersCustomerResponseBody200TaxIds']
    -> String -> String)
-> Show GetCustomersCustomerResponseBody200TaxIds'
forall a.
(Int -> a -> String -> String)
-> (a -> String) -> ([a] -> String -> String) -> Show a
showList :: [GetCustomersCustomerResponseBody200TaxIds'] -> String -> String
$cshowList :: [GetCustomersCustomerResponseBody200TaxIds'] -> String -> String
show :: GetCustomersCustomerResponseBody200TaxIds' -> String
$cshow :: GetCustomersCustomerResponseBody200TaxIds' -> String
showsPrec :: Int
-> GetCustomersCustomerResponseBody200TaxIds' -> String -> String
$cshowsPrec :: Int
-> GetCustomersCustomerResponseBody200TaxIds' -> String -> String
GHC.Show.Show,
      GetCustomersCustomerResponseBody200TaxIds'
-> GetCustomersCustomerResponseBody200TaxIds' -> Bool
(GetCustomersCustomerResponseBody200TaxIds'
 -> GetCustomersCustomerResponseBody200TaxIds' -> Bool)
-> (GetCustomersCustomerResponseBody200TaxIds'
    -> GetCustomersCustomerResponseBody200TaxIds' -> Bool)
-> Eq GetCustomersCustomerResponseBody200TaxIds'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetCustomersCustomerResponseBody200TaxIds'
-> GetCustomersCustomerResponseBody200TaxIds' -> Bool
$c/= :: GetCustomersCustomerResponseBody200TaxIds'
-> GetCustomersCustomerResponseBody200TaxIds' -> Bool
== :: GetCustomersCustomerResponseBody200TaxIds'
-> GetCustomersCustomerResponseBody200TaxIds' -> Bool
$c== :: GetCustomersCustomerResponseBody200TaxIds'
-> GetCustomersCustomerResponseBody200TaxIds' -> Bool
GHC.Classes.Eq
    )

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