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

-- | Contains the types generated from the schema AccountCapabilities
module StripeAPI.Types.AccountCapabilities where

import qualified Control.Monad.Fail
import qualified Data.Aeson
import qualified Data.Aeson as Data.Aeson.Encoding.Internal
import qualified Data.Aeson as Data.Aeson.Types
import qualified Data.Aeson as Data.Aeson.Types.FromJSON
import qualified Data.Aeson as Data.Aeson.Types.Internal
import qualified Data.Aeson as Data.Aeson.Types.ToJSON
import qualified Data.ByteString.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
import qualified Data.Functor
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text.Internal
import qualified Data.Time.Calendar as Data.Time.Calendar.Days
import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified StripeAPI.Common
import StripeAPI.TypeAlias
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | Defines the object schema located at @components.schemas.account_capabilities@ in the specification.
data AccountCapabilities = AccountCapabilities
  { -- | acss_debit_payments: The status of the ACSS Direct Debits payments capability of the account, or whether the account can directly process ACSS Direct Debits charges.
    AccountCapabilities -> Maybe AccountCapabilitiesAcssDebitPayments'
accountCapabilitiesAcssDebitPayments :: (GHC.Maybe.Maybe AccountCapabilitiesAcssDebitPayments'),
    -- | afterpay_clearpay_payments: The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges.
    AccountCapabilities
-> Maybe AccountCapabilitiesAfterpayClearpayPayments'
accountCapabilitiesAfterpayClearpayPayments :: (GHC.Maybe.Maybe AccountCapabilitiesAfterpayClearpayPayments'),
    -- | au_becs_debit_payments: The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges.
    AccountCapabilities
-> Maybe AccountCapabilitiesAuBecsDebitPayments'
accountCapabilitiesAuBecsDebitPayments :: (GHC.Maybe.Maybe AccountCapabilitiesAuBecsDebitPayments'),
    -- | bacs_debit_payments: The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges.
    AccountCapabilities -> Maybe AccountCapabilitiesBacsDebitPayments'
accountCapabilitiesBacsDebitPayments :: (GHC.Maybe.Maybe AccountCapabilitiesBacsDebitPayments'),
    -- | bancontact_payments: The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges.
    AccountCapabilities -> Maybe AccountCapabilitiesBancontactPayments'
accountCapabilitiesBancontactPayments :: (GHC.Maybe.Maybe AccountCapabilitiesBancontactPayments'),
    -- | card_issuing: The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards
    AccountCapabilities -> Maybe AccountCapabilitiesCardIssuing'
accountCapabilitiesCardIssuing :: (GHC.Maybe.Maybe AccountCapabilitiesCardIssuing'),
    -- | card_payments: The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges.
    AccountCapabilities -> Maybe AccountCapabilitiesCardPayments'
accountCapabilitiesCardPayments :: (GHC.Maybe.Maybe AccountCapabilitiesCardPayments'),
    -- | cartes_bancaires_payments: The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency.
    AccountCapabilities
-> Maybe AccountCapabilitiesCartesBancairesPayments'
accountCapabilitiesCartesBancairesPayments :: (GHC.Maybe.Maybe AccountCapabilitiesCartesBancairesPayments'),
    -- | eps_payments: The status of the EPS payments capability of the account, or whether the account can directly process EPS charges.
    AccountCapabilities -> Maybe AccountCapabilitiesEpsPayments'
accountCapabilitiesEpsPayments :: (GHC.Maybe.Maybe AccountCapabilitiesEpsPayments'),
    -- | fpx_payments: The status of the FPX payments capability of the account, or whether the account can directly process FPX charges.
    AccountCapabilities -> Maybe AccountCapabilitiesFpxPayments'
accountCapabilitiesFpxPayments :: (GHC.Maybe.Maybe AccountCapabilitiesFpxPayments'),
    -- | giropay_payments: The status of the giropay payments capability of the account, or whether the account can directly process giropay charges.
    AccountCapabilities -> Maybe AccountCapabilitiesGiropayPayments'
accountCapabilitiesGiropayPayments :: (GHC.Maybe.Maybe AccountCapabilitiesGiropayPayments'),
    -- | grabpay_payments: The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges.
    AccountCapabilities -> Maybe AccountCapabilitiesGrabpayPayments'
accountCapabilitiesGrabpayPayments :: (GHC.Maybe.Maybe AccountCapabilitiesGrabpayPayments'),
    -- | ideal_payments: The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges.
    AccountCapabilities -> Maybe AccountCapabilitiesIdealPayments'
accountCapabilitiesIdealPayments :: (GHC.Maybe.Maybe AccountCapabilitiesIdealPayments'),
    -- | jcb_payments: The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency.
    AccountCapabilities -> Maybe AccountCapabilitiesJcbPayments'
accountCapabilitiesJcbPayments :: (GHC.Maybe.Maybe AccountCapabilitiesJcbPayments'),
    -- | legacy_payments: The status of the legacy payments capability of the account.
    AccountCapabilities -> Maybe AccountCapabilitiesLegacyPayments'
accountCapabilitiesLegacyPayments :: (GHC.Maybe.Maybe AccountCapabilitiesLegacyPayments'),
    -- | oxxo_payments: The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges.
    AccountCapabilities -> Maybe AccountCapabilitiesOxxoPayments'
accountCapabilitiesOxxoPayments :: (GHC.Maybe.Maybe AccountCapabilitiesOxxoPayments'),
    -- | p24_payments: The status of the P24 payments capability of the account, or whether the account can directly process P24 charges.
    AccountCapabilities -> Maybe AccountCapabilitiesP24Payments'
accountCapabilitiesP24Payments :: (GHC.Maybe.Maybe AccountCapabilitiesP24Payments'),
    -- | sepa_debit_payments: The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges.
    AccountCapabilities -> Maybe AccountCapabilitiesSepaDebitPayments'
accountCapabilitiesSepaDebitPayments :: (GHC.Maybe.Maybe AccountCapabilitiesSepaDebitPayments'),
    -- | sofort_payments: The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges.
    AccountCapabilities -> Maybe AccountCapabilitiesSofortPayments'
accountCapabilitiesSofortPayments :: (GHC.Maybe.Maybe AccountCapabilitiesSofortPayments'),
    -- | tax_reporting_us_1099_k: The status of the tax reporting 1099-K (US) capability of the account.
    AccountCapabilities
-> Maybe AccountCapabilitiesTaxReportingUs_1099K'
accountCapabilitiesTaxReportingUs_1099K :: (GHC.Maybe.Maybe AccountCapabilitiesTaxReportingUs_1099K'),
    -- | tax_reporting_us_1099_misc: The status of the tax reporting 1099-MISC (US) capability of the account.
    AccountCapabilities
-> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
accountCapabilitiesTaxReportingUs_1099Misc :: (GHC.Maybe.Maybe AccountCapabilitiesTaxReportingUs_1099Misc'),
    -- | transfers: The status of the transfers capability of the account, or whether your platform can transfer funds to the account.
    AccountCapabilities -> Maybe AccountCapabilitiesTransfers'
accountCapabilitiesTransfers :: (GHC.Maybe.Maybe AccountCapabilitiesTransfers')
  }
  deriving
    ( Int -> AccountCapabilities -> ShowS
[AccountCapabilities] -> ShowS
AccountCapabilities -> String
(Int -> AccountCapabilities -> ShowS)
-> (AccountCapabilities -> String)
-> ([AccountCapabilities] -> ShowS)
-> Show AccountCapabilities
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilities] -> ShowS
$cshowList :: [AccountCapabilities] -> ShowS
show :: AccountCapabilities -> String
$cshow :: AccountCapabilities -> String
showsPrec :: Int -> AccountCapabilities -> ShowS
$cshowsPrec :: Int -> AccountCapabilities -> ShowS
GHC.Show.Show,
      AccountCapabilities -> AccountCapabilities -> Bool
(AccountCapabilities -> AccountCapabilities -> Bool)
-> (AccountCapabilities -> AccountCapabilities -> Bool)
-> Eq AccountCapabilities
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilities -> AccountCapabilities -> Bool
$c/= :: AccountCapabilities -> AccountCapabilities -> Bool
== :: AccountCapabilities -> AccountCapabilities -> Bool
$c== :: AccountCapabilities -> AccountCapabilities -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilities where
  toJSON :: AccountCapabilities -> Value
toJSON AccountCapabilities
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"acss_debit_payments" Text -> Maybe AccountCapabilitiesAcssDebitPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesAcssDebitPayments'
accountCapabilitiesAcssDebitPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"afterpay_clearpay_payments" Text -> Maybe AccountCapabilitiesAfterpayClearpayPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesAfterpayClearpayPayments'
accountCapabilitiesAfterpayClearpayPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"au_becs_debit_payments" Text -> Maybe AccountCapabilitiesAuBecsDebitPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesAuBecsDebitPayments'
accountCapabilitiesAuBecsDebitPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bacs_debit_payments" Text -> Maybe AccountCapabilitiesBacsDebitPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesBacsDebitPayments'
accountCapabilitiesBacsDebitPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bancontact_payments" Text -> Maybe AccountCapabilitiesBancontactPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesBancontactPayments'
accountCapabilitiesBancontactPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_issuing" Text -> Maybe AccountCapabilitiesCardIssuing' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesCardIssuing'
accountCapabilitiesCardIssuing AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_payments" Text -> Maybe AccountCapabilitiesCardPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesCardPayments'
accountCapabilitiesCardPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"cartes_bancaires_payments" Text -> Maybe AccountCapabilitiesCartesBancairesPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesCartesBancairesPayments'
accountCapabilitiesCartesBancairesPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"eps_payments" Text -> Maybe AccountCapabilitiesEpsPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesEpsPayments'
accountCapabilitiesEpsPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"fpx_payments" Text -> Maybe AccountCapabilitiesFpxPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesFpxPayments'
accountCapabilitiesFpxPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"giropay_payments" Text -> Maybe AccountCapabilitiesGiropayPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesGiropayPayments'
accountCapabilitiesGiropayPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"grabpay_payments" Text -> Maybe AccountCapabilitiesGrabpayPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesGrabpayPayments'
accountCapabilitiesGrabpayPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ideal_payments" Text -> Maybe AccountCapabilitiesIdealPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesIdealPayments'
accountCapabilitiesIdealPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"jcb_payments" Text -> Maybe AccountCapabilitiesJcbPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesJcbPayments'
accountCapabilitiesJcbPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"legacy_payments" Text -> Maybe AccountCapabilitiesLegacyPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesLegacyPayments'
accountCapabilitiesLegacyPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"oxxo_payments" Text -> Maybe AccountCapabilitiesOxxoPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesOxxoPayments'
accountCapabilitiesOxxoPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"p24_payments" Text -> Maybe AccountCapabilitiesP24Payments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesP24Payments'
accountCapabilitiesP24Payments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sepa_debit_payments" Text -> Maybe AccountCapabilitiesSepaDebitPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesSepaDebitPayments'
accountCapabilitiesSepaDebitPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sofort_payments" Text -> Maybe AccountCapabilitiesSofortPayments' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesSofortPayments'
accountCapabilitiesSofortPayments AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_reporting_us_1099_k" Text -> Maybe AccountCapabilitiesTaxReportingUs_1099K' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesTaxReportingUs_1099K'
accountCapabilitiesTaxReportingUs_1099K AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"tax_reporting_us_1099_misc" Text -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
accountCapabilitiesTaxReportingUs_1099Misc AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"transfers" Text -> Maybe AccountCapabilitiesTransfers' -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesTransfers'
accountCapabilitiesTransfers AccountCapabilities
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: AccountCapabilities -> Encoding
toEncoding AccountCapabilities
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"acss_debit_payments" Text -> Maybe AccountCapabilitiesAcssDebitPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesAcssDebitPayments'
accountCapabilitiesAcssDebitPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"afterpay_clearpay_payments" Text
-> Maybe AccountCapabilitiesAfterpayClearpayPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesAfterpayClearpayPayments'
accountCapabilitiesAfterpayClearpayPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"au_becs_debit_payments" Text -> Maybe AccountCapabilitiesAuBecsDebitPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesAuBecsDebitPayments'
accountCapabilitiesAuBecsDebitPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bacs_debit_payments" Text -> Maybe AccountCapabilitiesBacsDebitPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesBacsDebitPayments'
accountCapabilitiesBacsDebitPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bancontact_payments" Text -> Maybe AccountCapabilitiesBancontactPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesBancontactPayments'
accountCapabilitiesBancontactPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_issuing" Text -> Maybe AccountCapabilitiesCardIssuing' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesCardIssuing'
accountCapabilitiesCardIssuing AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_payments" Text -> Maybe AccountCapabilitiesCardPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesCardPayments'
accountCapabilitiesCardPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"cartes_bancaires_payments" Text -> Maybe AccountCapabilitiesCartesBancairesPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesCartesBancairesPayments'
accountCapabilitiesCartesBancairesPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"eps_payments" Text -> Maybe AccountCapabilitiesEpsPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesEpsPayments'
accountCapabilitiesEpsPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"fpx_payments" Text -> Maybe AccountCapabilitiesFpxPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesFpxPayments'
accountCapabilitiesFpxPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"giropay_payments" Text -> Maybe AccountCapabilitiesGiropayPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesGiropayPayments'
accountCapabilitiesGiropayPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"grabpay_payments" Text -> Maybe AccountCapabilitiesGrabpayPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesGrabpayPayments'
accountCapabilitiesGrabpayPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ideal_payments" Text -> Maybe AccountCapabilitiesIdealPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesIdealPayments'
accountCapabilitiesIdealPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"jcb_payments" Text -> Maybe AccountCapabilitiesJcbPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesJcbPayments'
accountCapabilitiesJcbPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"legacy_payments" Text -> Maybe AccountCapabilitiesLegacyPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesLegacyPayments'
accountCapabilitiesLegacyPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"oxxo_payments" Text -> Maybe AccountCapabilitiesOxxoPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesOxxoPayments'
accountCapabilitiesOxxoPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"p24_payments" Text -> Maybe AccountCapabilitiesP24Payments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesP24Payments'
accountCapabilitiesP24Payments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sepa_debit_payments" Text -> Maybe AccountCapabilitiesSepaDebitPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesSepaDebitPayments'
accountCapabilitiesSepaDebitPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sofort_payments" Text -> Maybe AccountCapabilitiesSofortPayments' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesSofortPayments'
accountCapabilitiesSofortPayments AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_reporting_us_1099_k" Text -> Maybe AccountCapabilitiesTaxReportingUs_1099K' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesTaxReportingUs_1099K'
accountCapabilitiesTaxReportingUs_1099K AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"tax_reporting_us_1099_misc" Text -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities
-> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
accountCapabilitiesTaxReportingUs_1099Misc AccountCapabilities
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"transfers" Text -> Maybe AccountCapabilitiesTransfers' -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= AccountCapabilities -> Maybe AccountCapabilitiesTransfers'
accountCapabilitiesTransfers AccountCapabilities
obj))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilities where
  parseJSON :: Value -> Parser AccountCapabilities
parseJSON = String
-> (Object -> Parser AccountCapabilities)
-> Value
-> Parser AccountCapabilities
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"AccountCapabilities" (\Object
obj -> ((((((((((((((((((((((Maybe AccountCapabilitiesAcssDebitPayments'
 -> Maybe AccountCapabilitiesAfterpayClearpayPayments'
 -> Maybe AccountCapabilitiesAuBecsDebitPayments'
 -> Maybe AccountCapabilitiesBacsDebitPayments'
 -> Maybe AccountCapabilitiesBancontactPayments'
 -> Maybe AccountCapabilitiesCardIssuing'
 -> Maybe AccountCapabilitiesCardPayments'
 -> Maybe AccountCapabilitiesCartesBancairesPayments'
 -> Maybe AccountCapabilitiesEpsPayments'
 -> Maybe AccountCapabilitiesFpxPayments'
 -> Maybe AccountCapabilitiesGiropayPayments'
 -> Maybe AccountCapabilitiesGrabpayPayments'
 -> Maybe AccountCapabilitiesIdealPayments'
 -> Maybe AccountCapabilitiesJcbPayments'
 -> Maybe AccountCapabilitiesLegacyPayments'
 -> Maybe AccountCapabilitiesOxxoPayments'
 -> Maybe AccountCapabilitiesP24Payments'
 -> Maybe AccountCapabilitiesSepaDebitPayments'
 -> Maybe AccountCapabilitiesSofortPayments'
 -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
 -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
 -> Maybe AccountCapabilitiesTransfers'
 -> AccountCapabilities)
-> Parser
     (Maybe AccountCapabilitiesAcssDebitPayments'
      -> Maybe AccountCapabilitiesAfterpayClearpayPayments'
      -> Maybe AccountCapabilitiesAuBecsDebitPayments'
      -> Maybe AccountCapabilitiesBacsDebitPayments'
      -> Maybe AccountCapabilitiesBancontactPayments'
      -> Maybe AccountCapabilitiesCardIssuing'
      -> Maybe AccountCapabilitiesCardPayments'
      -> Maybe AccountCapabilitiesCartesBancairesPayments'
      -> Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe AccountCapabilitiesAcssDebitPayments'
-> Maybe AccountCapabilitiesAfterpayClearpayPayments'
-> Maybe AccountCapabilitiesAuBecsDebitPayments'
-> Maybe AccountCapabilitiesBacsDebitPayments'
-> Maybe AccountCapabilitiesBancontactPayments'
-> Maybe AccountCapabilitiesCardIssuing'
-> Maybe AccountCapabilitiesCardPayments'
-> Maybe AccountCapabilitiesCartesBancairesPayments'
-> Maybe AccountCapabilitiesEpsPayments'
-> Maybe AccountCapabilitiesFpxPayments'
-> Maybe AccountCapabilitiesGiropayPayments'
-> Maybe AccountCapabilitiesGrabpayPayments'
-> Maybe AccountCapabilitiesIdealPayments'
-> Maybe AccountCapabilitiesJcbPayments'
-> Maybe AccountCapabilitiesLegacyPayments'
-> Maybe AccountCapabilitiesOxxoPayments'
-> Maybe AccountCapabilitiesP24Payments'
-> Maybe AccountCapabilitiesSepaDebitPayments'
-> Maybe AccountCapabilitiesSofortPayments'
-> Maybe AccountCapabilitiesTaxReportingUs_1099K'
-> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
-> Maybe AccountCapabilitiesTransfers'
-> AccountCapabilities
AccountCapabilities Parser
  (Maybe AccountCapabilitiesAcssDebitPayments'
   -> Maybe AccountCapabilitiesAfterpayClearpayPayments'
   -> Maybe AccountCapabilitiesAuBecsDebitPayments'
   -> Maybe AccountCapabilitiesBacsDebitPayments'
   -> Maybe AccountCapabilitiesBancontactPayments'
   -> Maybe AccountCapabilitiesCardIssuing'
   -> Maybe AccountCapabilitiesCardPayments'
   -> Maybe AccountCapabilitiesCartesBancairesPayments'
   -> Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesAcssDebitPayments')
-> Parser
     (Maybe AccountCapabilitiesAfterpayClearpayPayments'
      -> Maybe AccountCapabilitiesAuBecsDebitPayments'
      -> Maybe AccountCapabilitiesBacsDebitPayments'
      -> Maybe AccountCapabilitiesBancontactPayments'
      -> Maybe AccountCapabilitiesCardIssuing'
      -> Maybe AccountCapabilitiesCardPayments'
      -> Maybe AccountCapabilitiesCartesBancairesPayments'
      -> Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe AccountCapabilitiesAcssDebitPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"acss_debit_payments")) Parser
  (Maybe AccountCapabilitiesAfterpayClearpayPayments'
   -> Maybe AccountCapabilitiesAuBecsDebitPayments'
   -> Maybe AccountCapabilitiesBacsDebitPayments'
   -> Maybe AccountCapabilitiesBancontactPayments'
   -> Maybe AccountCapabilitiesCardIssuing'
   -> Maybe AccountCapabilitiesCardPayments'
   -> Maybe AccountCapabilitiesCartesBancairesPayments'
   -> Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesAfterpayClearpayPayments')
-> Parser
     (Maybe AccountCapabilitiesAuBecsDebitPayments'
      -> Maybe AccountCapabilitiesBacsDebitPayments'
      -> Maybe AccountCapabilitiesBancontactPayments'
      -> Maybe AccountCapabilitiesCardIssuing'
      -> Maybe AccountCapabilitiesCardPayments'
      -> Maybe AccountCapabilitiesCartesBancairesPayments'
      -> Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe AccountCapabilitiesAfterpayClearpayPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"afterpay_clearpay_payments")) Parser
  (Maybe AccountCapabilitiesAuBecsDebitPayments'
   -> Maybe AccountCapabilitiesBacsDebitPayments'
   -> Maybe AccountCapabilitiesBancontactPayments'
   -> Maybe AccountCapabilitiesCardIssuing'
   -> Maybe AccountCapabilitiesCardPayments'
   -> Maybe AccountCapabilitiesCartesBancairesPayments'
   -> Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesAuBecsDebitPayments')
-> Parser
     (Maybe AccountCapabilitiesBacsDebitPayments'
      -> Maybe AccountCapabilitiesBancontactPayments'
      -> Maybe AccountCapabilitiesCardIssuing'
      -> Maybe AccountCapabilitiesCardPayments'
      -> Maybe AccountCapabilitiesCartesBancairesPayments'
      -> Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe AccountCapabilitiesAuBecsDebitPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"au_becs_debit_payments")) Parser
  (Maybe AccountCapabilitiesBacsDebitPayments'
   -> Maybe AccountCapabilitiesBancontactPayments'
   -> Maybe AccountCapabilitiesCardIssuing'
   -> Maybe AccountCapabilitiesCardPayments'
   -> Maybe AccountCapabilitiesCartesBancairesPayments'
   -> Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesBacsDebitPayments')
-> Parser
     (Maybe AccountCapabilitiesBancontactPayments'
      -> Maybe AccountCapabilitiesCardIssuing'
      -> Maybe AccountCapabilitiesCardPayments'
      -> Maybe AccountCapabilitiesCartesBancairesPayments'
      -> Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe AccountCapabilitiesBacsDebitPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bacs_debit_payments")) Parser
  (Maybe AccountCapabilitiesBancontactPayments'
   -> Maybe AccountCapabilitiesCardIssuing'
   -> Maybe AccountCapabilitiesCardPayments'
   -> Maybe AccountCapabilitiesCartesBancairesPayments'
   -> Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesBancontactPayments')
-> Parser
     (Maybe AccountCapabilitiesCardIssuing'
      -> Maybe AccountCapabilitiesCardPayments'
      -> Maybe AccountCapabilitiesCartesBancairesPayments'
      -> Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe AccountCapabilitiesBancontactPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bancontact_payments")) Parser
  (Maybe AccountCapabilitiesCardIssuing'
   -> Maybe AccountCapabilitiesCardPayments'
   -> Maybe AccountCapabilitiesCartesBancairesPayments'
   -> Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesCardIssuing')
-> Parser
     (Maybe AccountCapabilitiesCardPayments'
      -> Maybe AccountCapabilitiesCartesBancairesPayments'
      -> Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesCardIssuing')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_issuing")) Parser
  (Maybe AccountCapabilitiesCardPayments'
   -> Maybe AccountCapabilitiesCartesBancairesPayments'
   -> Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesCardPayments')
-> Parser
     (Maybe AccountCapabilitiesCartesBancairesPayments'
      -> Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesCardPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_payments")) Parser
  (Maybe AccountCapabilitiesCartesBancairesPayments'
   -> Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesCartesBancairesPayments')
-> Parser
     (Maybe AccountCapabilitiesEpsPayments'
      -> Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe AccountCapabilitiesCartesBancairesPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"cartes_bancaires_payments")) Parser
  (Maybe AccountCapabilitiesEpsPayments'
   -> Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesEpsPayments')
-> Parser
     (Maybe AccountCapabilitiesFpxPayments'
      -> Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesEpsPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"eps_payments")) Parser
  (Maybe AccountCapabilitiesFpxPayments'
   -> Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesFpxPayments')
-> Parser
     (Maybe AccountCapabilitiesGiropayPayments'
      -> Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesFpxPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"fpx_payments")) Parser
  (Maybe AccountCapabilitiesGiropayPayments'
   -> Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesGiropayPayments')
-> Parser
     (Maybe AccountCapabilitiesGrabpayPayments'
      -> Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe AccountCapabilitiesGiropayPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"giropay_payments")) Parser
  (Maybe AccountCapabilitiesGrabpayPayments'
   -> Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesGrabpayPayments')
-> Parser
     (Maybe AccountCapabilitiesIdealPayments'
      -> Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe AccountCapabilitiesGrabpayPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"grabpay_payments")) Parser
  (Maybe AccountCapabilitiesIdealPayments'
   -> Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesIdealPayments')
-> Parser
     (Maybe AccountCapabilitiesJcbPayments'
      -> Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesIdealPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ideal_payments")) Parser
  (Maybe AccountCapabilitiesJcbPayments'
   -> Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesJcbPayments')
-> Parser
     (Maybe AccountCapabilitiesLegacyPayments'
      -> Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesJcbPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"jcb_payments")) Parser
  (Maybe AccountCapabilitiesLegacyPayments'
   -> Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesLegacyPayments')
-> Parser
     (Maybe AccountCapabilitiesOxxoPayments'
      -> Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesLegacyPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"legacy_payments")) Parser
  (Maybe AccountCapabilitiesOxxoPayments'
   -> Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesOxxoPayments')
-> Parser
     (Maybe AccountCapabilitiesP24Payments'
      -> Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesOxxoPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"oxxo_payments")) Parser
  (Maybe AccountCapabilitiesP24Payments'
   -> Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesP24Payments')
-> Parser
     (Maybe AccountCapabilitiesSepaDebitPayments'
      -> Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesP24Payments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"p24_payments")) Parser
  (Maybe AccountCapabilitiesSepaDebitPayments'
   -> Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesSepaDebitPayments')
-> Parser
     (Maybe AccountCapabilitiesSofortPayments'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe AccountCapabilitiesSepaDebitPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sepa_debit_payments")) Parser
  (Maybe AccountCapabilitiesSofortPayments'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesSofortPayments')
-> Parser
     (Maybe AccountCapabilitiesTaxReportingUs_1099K'
      -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers'
      -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesSofortPayments')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sofort_payments")) Parser
  (Maybe AccountCapabilitiesTaxReportingUs_1099K'
   -> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers'
   -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesTaxReportingUs_1099K')
-> Parser
     (Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
      -> Maybe AccountCapabilitiesTransfers' -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text -> Parser (Maybe AccountCapabilitiesTaxReportingUs_1099K')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_reporting_us_1099_k")) Parser
  (Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
   -> Maybe AccountCapabilitiesTransfers' -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesTaxReportingUs_1099Misc')
-> Parser
     (Maybe AccountCapabilitiesTransfers' -> AccountCapabilities)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe AccountCapabilitiesTaxReportingUs_1099Misc')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"tax_reporting_us_1099_misc")) Parser (Maybe AccountCapabilitiesTransfers' -> AccountCapabilities)
-> Parser (Maybe AccountCapabilitiesTransfers')
-> Parser AccountCapabilities
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe AccountCapabilitiesTransfers')
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"transfers"))

-- | Create a new 'AccountCapabilities' with all required fields.
mkAccountCapabilities :: AccountCapabilities
mkAccountCapabilities :: AccountCapabilities
mkAccountCapabilities =
  AccountCapabilities :: Maybe AccountCapabilitiesAcssDebitPayments'
-> Maybe AccountCapabilitiesAfterpayClearpayPayments'
-> Maybe AccountCapabilitiesAuBecsDebitPayments'
-> Maybe AccountCapabilitiesBacsDebitPayments'
-> Maybe AccountCapabilitiesBancontactPayments'
-> Maybe AccountCapabilitiesCardIssuing'
-> Maybe AccountCapabilitiesCardPayments'
-> Maybe AccountCapabilitiesCartesBancairesPayments'
-> Maybe AccountCapabilitiesEpsPayments'
-> Maybe AccountCapabilitiesFpxPayments'
-> Maybe AccountCapabilitiesGiropayPayments'
-> Maybe AccountCapabilitiesGrabpayPayments'
-> Maybe AccountCapabilitiesIdealPayments'
-> Maybe AccountCapabilitiesJcbPayments'
-> Maybe AccountCapabilitiesLegacyPayments'
-> Maybe AccountCapabilitiesOxxoPayments'
-> Maybe AccountCapabilitiesP24Payments'
-> Maybe AccountCapabilitiesSepaDebitPayments'
-> Maybe AccountCapabilitiesSofortPayments'
-> Maybe AccountCapabilitiesTaxReportingUs_1099K'
-> Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
-> Maybe AccountCapabilitiesTransfers'
-> AccountCapabilities
AccountCapabilities
    { accountCapabilitiesAcssDebitPayments :: Maybe AccountCapabilitiesAcssDebitPayments'
accountCapabilitiesAcssDebitPayments = Maybe AccountCapabilitiesAcssDebitPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesAfterpayClearpayPayments :: Maybe AccountCapabilitiesAfterpayClearpayPayments'
accountCapabilitiesAfterpayClearpayPayments = Maybe AccountCapabilitiesAfterpayClearpayPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesAuBecsDebitPayments :: Maybe AccountCapabilitiesAuBecsDebitPayments'
accountCapabilitiesAuBecsDebitPayments = Maybe AccountCapabilitiesAuBecsDebitPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesBacsDebitPayments :: Maybe AccountCapabilitiesBacsDebitPayments'
accountCapabilitiesBacsDebitPayments = Maybe AccountCapabilitiesBacsDebitPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesBancontactPayments :: Maybe AccountCapabilitiesBancontactPayments'
accountCapabilitiesBancontactPayments = Maybe AccountCapabilitiesBancontactPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesCardIssuing :: Maybe AccountCapabilitiesCardIssuing'
accountCapabilitiesCardIssuing = Maybe AccountCapabilitiesCardIssuing'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesCardPayments :: Maybe AccountCapabilitiesCardPayments'
accountCapabilitiesCardPayments = Maybe AccountCapabilitiesCardPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesCartesBancairesPayments :: Maybe AccountCapabilitiesCartesBancairesPayments'
accountCapabilitiesCartesBancairesPayments = Maybe AccountCapabilitiesCartesBancairesPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesEpsPayments :: Maybe AccountCapabilitiesEpsPayments'
accountCapabilitiesEpsPayments = Maybe AccountCapabilitiesEpsPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesFpxPayments :: Maybe AccountCapabilitiesFpxPayments'
accountCapabilitiesFpxPayments = Maybe AccountCapabilitiesFpxPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesGiropayPayments :: Maybe AccountCapabilitiesGiropayPayments'
accountCapabilitiesGiropayPayments = Maybe AccountCapabilitiesGiropayPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesGrabpayPayments :: Maybe AccountCapabilitiesGrabpayPayments'
accountCapabilitiesGrabpayPayments = Maybe AccountCapabilitiesGrabpayPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesIdealPayments :: Maybe AccountCapabilitiesIdealPayments'
accountCapabilitiesIdealPayments = Maybe AccountCapabilitiesIdealPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesJcbPayments :: Maybe AccountCapabilitiesJcbPayments'
accountCapabilitiesJcbPayments = Maybe AccountCapabilitiesJcbPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesLegacyPayments :: Maybe AccountCapabilitiesLegacyPayments'
accountCapabilitiesLegacyPayments = Maybe AccountCapabilitiesLegacyPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesOxxoPayments :: Maybe AccountCapabilitiesOxxoPayments'
accountCapabilitiesOxxoPayments = Maybe AccountCapabilitiesOxxoPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesP24Payments :: Maybe AccountCapabilitiesP24Payments'
accountCapabilitiesP24Payments = Maybe AccountCapabilitiesP24Payments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesSepaDebitPayments :: Maybe AccountCapabilitiesSepaDebitPayments'
accountCapabilitiesSepaDebitPayments = Maybe AccountCapabilitiesSepaDebitPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesSofortPayments :: Maybe AccountCapabilitiesSofortPayments'
accountCapabilitiesSofortPayments = Maybe AccountCapabilitiesSofortPayments'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesTaxReportingUs_1099K :: Maybe AccountCapabilitiesTaxReportingUs_1099K'
accountCapabilitiesTaxReportingUs_1099K = Maybe AccountCapabilitiesTaxReportingUs_1099K'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesTaxReportingUs_1099Misc :: Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
accountCapabilitiesTaxReportingUs_1099Misc = Maybe AccountCapabilitiesTaxReportingUs_1099Misc'
forall a. Maybe a
GHC.Maybe.Nothing,
      accountCapabilitiesTransfers :: Maybe AccountCapabilitiesTransfers'
accountCapabilitiesTransfers = Maybe AccountCapabilitiesTransfers'
forall a. Maybe a
GHC.Maybe.Nothing
    }

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.acss_debit_payments@ in the specification.
--
-- The status of the ACSS Direct Debits payments capability of the account, or whether the account can directly process ACSS Direct Debits charges.
data AccountCapabilitiesAcssDebitPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesAcssDebitPayments'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.
    AccountCapabilitiesAcssDebitPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesAcssDebitPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesAcssDebitPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesAcssDebitPayments'EnumPending
  deriving (Int -> AccountCapabilitiesAcssDebitPayments' -> ShowS
[AccountCapabilitiesAcssDebitPayments'] -> ShowS
AccountCapabilitiesAcssDebitPayments' -> String
(Int -> AccountCapabilitiesAcssDebitPayments' -> ShowS)
-> (AccountCapabilitiesAcssDebitPayments' -> String)
-> ([AccountCapabilitiesAcssDebitPayments'] -> ShowS)
-> Show AccountCapabilitiesAcssDebitPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesAcssDebitPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesAcssDebitPayments'] -> ShowS
show :: AccountCapabilitiesAcssDebitPayments' -> String
$cshow :: AccountCapabilitiesAcssDebitPayments' -> String
showsPrec :: Int -> AccountCapabilitiesAcssDebitPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesAcssDebitPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesAcssDebitPayments'
-> AccountCapabilitiesAcssDebitPayments' -> Bool
(AccountCapabilitiesAcssDebitPayments'
 -> AccountCapabilitiesAcssDebitPayments' -> Bool)
-> (AccountCapabilitiesAcssDebitPayments'
    -> AccountCapabilitiesAcssDebitPayments' -> Bool)
-> Eq AccountCapabilitiesAcssDebitPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesAcssDebitPayments'
-> AccountCapabilitiesAcssDebitPayments' -> Bool
$c/= :: AccountCapabilitiesAcssDebitPayments'
-> AccountCapabilitiesAcssDebitPayments' -> Bool
== :: AccountCapabilitiesAcssDebitPayments'
-> AccountCapabilitiesAcssDebitPayments' -> Bool
$c== :: AccountCapabilitiesAcssDebitPayments'
-> AccountCapabilitiesAcssDebitPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesAcssDebitPayments' where
  toJSON :: AccountCapabilitiesAcssDebitPayments' -> Value
toJSON (AccountCapabilitiesAcssDebitPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesAcssDebitPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesAcssDebitPayments'
AccountCapabilitiesAcssDebitPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesAcssDebitPayments'
AccountCapabilitiesAcssDebitPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesAcssDebitPayments'
AccountCapabilitiesAcssDebitPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesAcssDebitPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesAcssDebitPayments'
parseJSON Value
val =
    AccountCapabilitiesAcssDebitPayments'
-> Parser AccountCapabilitiesAcssDebitPayments'
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
"active" -> AccountCapabilitiesAcssDebitPayments'
AccountCapabilitiesAcssDebitPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesAcssDebitPayments'
AccountCapabilitiesAcssDebitPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesAcssDebitPayments'
AccountCapabilitiesAcssDebitPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesAcssDebitPayments'
AccountCapabilitiesAcssDebitPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.afterpay_clearpay_payments@ in the specification.
--
-- The status of the Afterpay Clearpay capability of the account, or whether the account can directly process Afterpay Clearpay charges.
data AccountCapabilitiesAfterpayClearpayPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesAfterpayClearpayPayments'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.
    AccountCapabilitiesAfterpayClearpayPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesAfterpayClearpayPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesAfterpayClearpayPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesAfterpayClearpayPayments'EnumPending
  deriving (Int -> AccountCapabilitiesAfterpayClearpayPayments' -> ShowS
[AccountCapabilitiesAfterpayClearpayPayments'] -> ShowS
AccountCapabilitiesAfterpayClearpayPayments' -> String
(Int -> AccountCapabilitiesAfterpayClearpayPayments' -> ShowS)
-> (AccountCapabilitiesAfterpayClearpayPayments' -> String)
-> ([AccountCapabilitiesAfterpayClearpayPayments'] -> ShowS)
-> Show AccountCapabilitiesAfterpayClearpayPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesAfterpayClearpayPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesAfterpayClearpayPayments'] -> ShowS
show :: AccountCapabilitiesAfterpayClearpayPayments' -> String
$cshow :: AccountCapabilitiesAfterpayClearpayPayments' -> String
showsPrec :: Int -> AccountCapabilitiesAfterpayClearpayPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesAfterpayClearpayPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesAfterpayClearpayPayments'
-> AccountCapabilitiesAfterpayClearpayPayments' -> Bool
(AccountCapabilitiesAfterpayClearpayPayments'
 -> AccountCapabilitiesAfterpayClearpayPayments' -> Bool)
-> (AccountCapabilitiesAfterpayClearpayPayments'
    -> AccountCapabilitiesAfterpayClearpayPayments' -> Bool)
-> Eq AccountCapabilitiesAfterpayClearpayPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesAfterpayClearpayPayments'
-> AccountCapabilitiesAfterpayClearpayPayments' -> Bool
$c/= :: AccountCapabilitiesAfterpayClearpayPayments'
-> AccountCapabilitiesAfterpayClearpayPayments' -> Bool
== :: AccountCapabilitiesAfterpayClearpayPayments'
-> AccountCapabilitiesAfterpayClearpayPayments' -> Bool
$c== :: AccountCapabilitiesAfterpayClearpayPayments'
-> AccountCapabilitiesAfterpayClearpayPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesAfterpayClearpayPayments' where
  toJSON :: AccountCapabilitiesAfterpayClearpayPayments' -> Value
toJSON (AccountCapabilitiesAfterpayClearpayPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesAfterpayClearpayPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesAfterpayClearpayPayments'
AccountCapabilitiesAfterpayClearpayPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesAfterpayClearpayPayments'
AccountCapabilitiesAfterpayClearpayPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesAfterpayClearpayPayments'
AccountCapabilitiesAfterpayClearpayPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesAfterpayClearpayPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesAfterpayClearpayPayments'
parseJSON Value
val =
    AccountCapabilitiesAfterpayClearpayPayments'
-> Parser AccountCapabilitiesAfterpayClearpayPayments'
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
"active" -> AccountCapabilitiesAfterpayClearpayPayments'
AccountCapabilitiesAfterpayClearpayPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesAfterpayClearpayPayments'
AccountCapabilitiesAfterpayClearpayPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesAfterpayClearpayPayments'
AccountCapabilitiesAfterpayClearpayPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesAfterpayClearpayPayments'
AccountCapabilitiesAfterpayClearpayPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.au_becs_debit_payments@ in the specification.
--
-- The status of the BECS Direct Debit (AU) payments capability of the account, or whether the account can directly process BECS Direct Debit (AU) charges.
data AccountCapabilitiesAuBecsDebitPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesAuBecsDebitPayments'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.
    AccountCapabilitiesAuBecsDebitPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesAuBecsDebitPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesAuBecsDebitPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesAuBecsDebitPayments'EnumPending
  deriving (Int -> AccountCapabilitiesAuBecsDebitPayments' -> ShowS
[AccountCapabilitiesAuBecsDebitPayments'] -> ShowS
AccountCapabilitiesAuBecsDebitPayments' -> String
(Int -> AccountCapabilitiesAuBecsDebitPayments' -> ShowS)
-> (AccountCapabilitiesAuBecsDebitPayments' -> String)
-> ([AccountCapabilitiesAuBecsDebitPayments'] -> ShowS)
-> Show AccountCapabilitiesAuBecsDebitPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesAuBecsDebitPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesAuBecsDebitPayments'] -> ShowS
show :: AccountCapabilitiesAuBecsDebitPayments' -> String
$cshow :: AccountCapabilitiesAuBecsDebitPayments' -> String
showsPrec :: Int -> AccountCapabilitiesAuBecsDebitPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesAuBecsDebitPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesAuBecsDebitPayments'
-> AccountCapabilitiesAuBecsDebitPayments' -> Bool
(AccountCapabilitiesAuBecsDebitPayments'
 -> AccountCapabilitiesAuBecsDebitPayments' -> Bool)
-> (AccountCapabilitiesAuBecsDebitPayments'
    -> AccountCapabilitiesAuBecsDebitPayments' -> Bool)
-> Eq AccountCapabilitiesAuBecsDebitPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesAuBecsDebitPayments'
-> AccountCapabilitiesAuBecsDebitPayments' -> Bool
$c/= :: AccountCapabilitiesAuBecsDebitPayments'
-> AccountCapabilitiesAuBecsDebitPayments' -> Bool
== :: AccountCapabilitiesAuBecsDebitPayments'
-> AccountCapabilitiesAuBecsDebitPayments' -> Bool
$c== :: AccountCapabilitiesAuBecsDebitPayments'
-> AccountCapabilitiesAuBecsDebitPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesAuBecsDebitPayments' where
  toJSON :: AccountCapabilitiesAuBecsDebitPayments' -> Value
toJSON (AccountCapabilitiesAuBecsDebitPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesAuBecsDebitPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesAuBecsDebitPayments'
AccountCapabilitiesAuBecsDebitPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesAuBecsDebitPayments'
AccountCapabilitiesAuBecsDebitPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesAuBecsDebitPayments'
AccountCapabilitiesAuBecsDebitPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesAuBecsDebitPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesAuBecsDebitPayments'
parseJSON Value
val =
    AccountCapabilitiesAuBecsDebitPayments'
-> Parser AccountCapabilitiesAuBecsDebitPayments'
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
"active" -> AccountCapabilitiesAuBecsDebitPayments'
AccountCapabilitiesAuBecsDebitPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesAuBecsDebitPayments'
AccountCapabilitiesAuBecsDebitPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesAuBecsDebitPayments'
AccountCapabilitiesAuBecsDebitPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesAuBecsDebitPayments'
AccountCapabilitiesAuBecsDebitPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.bacs_debit_payments@ in the specification.
--
-- The status of the Bacs Direct Debits payments capability of the account, or whether the account can directly process Bacs Direct Debits charges.
data AccountCapabilitiesBacsDebitPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesBacsDebitPayments'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.
    AccountCapabilitiesBacsDebitPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesBacsDebitPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesBacsDebitPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesBacsDebitPayments'EnumPending
  deriving (Int -> AccountCapabilitiesBacsDebitPayments' -> ShowS
[AccountCapabilitiesBacsDebitPayments'] -> ShowS
AccountCapabilitiesBacsDebitPayments' -> String
(Int -> AccountCapabilitiesBacsDebitPayments' -> ShowS)
-> (AccountCapabilitiesBacsDebitPayments' -> String)
-> ([AccountCapabilitiesBacsDebitPayments'] -> ShowS)
-> Show AccountCapabilitiesBacsDebitPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesBacsDebitPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesBacsDebitPayments'] -> ShowS
show :: AccountCapabilitiesBacsDebitPayments' -> String
$cshow :: AccountCapabilitiesBacsDebitPayments' -> String
showsPrec :: Int -> AccountCapabilitiesBacsDebitPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesBacsDebitPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesBacsDebitPayments'
-> AccountCapabilitiesBacsDebitPayments' -> Bool
(AccountCapabilitiesBacsDebitPayments'
 -> AccountCapabilitiesBacsDebitPayments' -> Bool)
-> (AccountCapabilitiesBacsDebitPayments'
    -> AccountCapabilitiesBacsDebitPayments' -> Bool)
-> Eq AccountCapabilitiesBacsDebitPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesBacsDebitPayments'
-> AccountCapabilitiesBacsDebitPayments' -> Bool
$c/= :: AccountCapabilitiesBacsDebitPayments'
-> AccountCapabilitiesBacsDebitPayments' -> Bool
== :: AccountCapabilitiesBacsDebitPayments'
-> AccountCapabilitiesBacsDebitPayments' -> Bool
$c== :: AccountCapabilitiesBacsDebitPayments'
-> AccountCapabilitiesBacsDebitPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesBacsDebitPayments' where
  toJSON :: AccountCapabilitiesBacsDebitPayments' -> Value
toJSON (AccountCapabilitiesBacsDebitPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesBacsDebitPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesBacsDebitPayments'
AccountCapabilitiesBacsDebitPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesBacsDebitPayments'
AccountCapabilitiesBacsDebitPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesBacsDebitPayments'
AccountCapabilitiesBacsDebitPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesBacsDebitPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesBacsDebitPayments'
parseJSON Value
val =
    AccountCapabilitiesBacsDebitPayments'
-> Parser AccountCapabilitiesBacsDebitPayments'
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
"active" -> AccountCapabilitiesBacsDebitPayments'
AccountCapabilitiesBacsDebitPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesBacsDebitPayments'
AccountCapabilitiesBacsDebitPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesBacsDebitPayments'
AccountCapabilitiesBacsDebitPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesBacsDebitPayments'
AccountCapabilitiesBacsDebitPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.bancontact_payments@ in the specification.
--
-- The status of the Bancontact payments capability of the account, or whether the account can directly process Bancontact charges.
data AccountCapabilitiesBancontactPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesBancontactPayments'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.
    AccountCapabilitiesBancontactPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesBancontactPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesBancontactPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesBancontactPayments'EnumPending
  deriving (Int -> AccountCapabilitiesBancontactPayments' -> ShowS
[AccountCapabilitiesBancontactPayments'] -> ShowS
AccountCapabilitiesBancontactPayments' -> String
(Int -> AccountCapabilitiesBancontactPayments' -> ShowS)
-> (AccountCapabilitiesBancontactPayments' -> String)
-> ([AccountCapabilitiesBancontactPayments'] -> ShowS)
-> Show AccountCapabilitiesBancontactPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesBancontactPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesBancontactPayments'] -> ShowS
show :: AccountCapabilitiesBancontactPayments' -> String
$cshow :: AccountCapabilitiesBancontactPayments' -> String
showsPrec :: Int -> AccountCapabilitiesBancontactPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesBancontactPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesBancontactPayments'
-> AccountCapabilitiesBancontactPayments' -> Bool
(AccountCapabilitiesBancontactPayments'
 -> AccountCapabilitiesBancontactPayments' -> Bool)
-> (AccountCapabilitiesBancontactPayments'
    -> AccountCapabilitiesBancontactPayments' -> Bool)
-> Eq AccountCapabilitiesBancontactPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesBancontactPayments'
-> AccountCapabilitiesBancontactPayments' -> Bool
$c/= :: AccountCapabilitiesBancontactPayments'
-> AccountCapabilitiesBancontactPayments' -> Bool
== :: AccountCapabilitiesBancontactPayments'
-> AccountCapabilitiesBancontactPayments' -> Bool
$c== :: AccountCapabilitiesBancontactPayments'
-> AccountCapabilitiesBancontactPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesBancontactPayments' where
  toJSON :: AccountCapabilitiesBancontactPayments' -> Value
toJSON (AccountCapabilitiesBancontactPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesBancontactPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesBancontactPayments'
AccountCapabilitiesBancontactPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesBancontactPayments'
AccountCapabilitiesBancontactPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesBancontactPayments'
AccountCapabilitiesBancontactPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesBancontactPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesBancontactPayments'
parseJSON Value
val =
    AccountCapabilitiesBancontactPayments'
-> Parser AccountCapabilitiesBancontactPayments'
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
"active" -> AccountCapabilitiesBancontactPayments'
AccountCapabilitiesBancontactPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesBancontactPayments'
AccountCapabilitiesBancontactPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesBancontactPayments'
AccountCapabilitiesBancontactPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesBancontactPayments'
AccountCapabilitiesBancontactPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.card_issuing@ in the specification.
--
-- The status of the card issuing capability of the account, or whether you can use Issuing to distribute funds on cards
data AccountCapabilitiesCardIssuing'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesCardIssuing'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.
    AccountCapabilitiesCardIssuing'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesCardIssuing'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesCardIssuing'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesCardIssuing'EnumPending
  deriving (Int -> AccountCapabilitiesCardIssuing' -> ShowS
[AccountCapabilitiesCardIssuing'] -> ShowS
AccountCapabilitiesCardIssuing' -> String
(Int -> AccountCapabilitiesCardIssuing' -> ShowS)
-> (AccountCapabilitiesCardIssuing' -> String)
-> ([AccountCapabilitiesCardIssuing'] -> ShowS)
-> Show AccountCapabilitiesCardIssuing'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesCardIssuing'] -> ShowS
$cshowList :: [AccountCapabilitiesCardIssuing'] -> ShowS
show :: AccountCapabilitiesCardIssuing' -> String
$cshow :: AccountCapabilitiesCardIssuing' -> String
showsPrec :: Int -> AccountCapabilitiesCardIssuing' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesCardIssuing' -> ShowS
GHC.Show.Show, AccountCapabilitiesCardIssuing'
-> AccountCapabilitiesCardIssuing' -> Bool
(AccountCapabilitiesCardIssuing'
 -> AccountCapabilitiesCardIssuing' -> Bool)
-> (AccountCapabilitiesCardIssuing'
    -> AccountCapabilitiesCardIssuing' -> Bool)
-> Eq AccountCapabilitiesCardIssuing'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesCardIssuing'
-> AccountCapabilitiesCardIssuing' -> Bool
$c/= :: AccountCapabilitiesCardIssuing'
-> AccountCapabilitiesCardIssuing' -> Bool
== :: AccountCapabilitiesCardIssuing'
-> AccountCapabilitiesCardIssuing' -> Bool
$c== :: AccountCapabilitiesCardIssuing'
-> AccountCapabilitiesCardIssuing' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesCardIssuing' where
  toJSON :: AccountCapabilitiesCardIssuing' -> Value
toJSON (AccountCapabilitiesCardIssuing'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesCardIssuing'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesCardIssuing'
AccountCapabilitiesCardIssuing'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesCardIssuing'
AccountCapabilitiesCardIssuing'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesCardIssuing'
AccountCapabilitiesCardIssuing'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesCardIssuing' where
  parseJSON :: Value -> Parser AccountCapabilitiesCardIssuing'
parseJSON Value
val =
    AccountCapabilitiesCardIssuing'
-> Parser AccountCapabilitiesCardIssuing'
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
"active" -> AccountCapabilitiesCardIssuing'
AccountCapabilitiesCardIssuing'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesCardIssuing'
AccountCapabilitiesCardIssuing'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesCardIssuing'
AccountCapabilitiesCardIssuing'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesCardIssuing'
AccountCapabilitiesCardIssuing'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.card_payments@ in the specification.
--
-- The status of the card payments capability of the account, or whether the account can directly process credit and debit card charges.
data AccountCapabilitiesCardPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesCardPayments'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.
    AccountCapabilitiesCardPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesCardPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesCardPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesCardPayments'EnumPending
  deriving (Int -> AccountCapabilitiesCardPayments' -> ShowS
[AccountCapabilitiesCardPayments'] -> ShowS
AccountCapabilitiesCardPayments' -> String
(Int -> AccountCapabilitiesCardPayments' -> ShowS)
-> (AccountCapabilitiesCardPayments' -> String)
-> ([AccountCapabilitiesCardPayments'] -> ShowS)
-> Show AccountCapabilitiesCardPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesCardPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesCardPayments'] -> ShowS
show :: AccountCapabilitiesCardPayments' -> String
$cshow :: AccountCapabilitiesCardPayments' -> String
showsPrec :: Int -> AccountCapabilitiesCardPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesCardPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesCardPayments'
-> AccountCapabilitiesCardPayments' -> Bool
(AccountCapabilitiesCardPayments'
 -> AccountCapabilitiesCardPayments' -> Bool)
-> (AccountCapabilitiesCardPayments'
    -> AccountCapabilitiesCardPayments' -> Bool)
-> Eq AccountCapabilitiesCardPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesCardPayments'
-> AccountCapabilitiesCardPayments' -> Bool
$c/= :: AccountCapabilitiesCardPayments'
-> AccountCapabilitiesCardPayments' -> Bool
== :: AccountCapabilitiesCardPayments'
-> AccountCapabilitiesCardPayments' -> Bool
$c== :: AccountCapabilitiesCardPayments'
-> AccountCapabilitiesCardPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesCardPayments' where
  toJSON :: AccountCapabilitiesCardPayments' -> Value
toJSON (AccountCapabilitiesCardPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesCardPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesCardPayments'
AccountCapabilitiesCardPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesCardPayments'
AccountCapabilitiesCardPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesCardPayments'
AccountCapabilitiesCardPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesCardPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesCardPayments'
parseJSON Value
val =
    AccountCapabilitiesCardPayments'
-> Parser AccountCapabilitiesCardPayments'
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
"active" -> AccountCapabilitiesCardPayments'
AccountCapabilitiesCardPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesCardPayments'
AccountCapabilitiesCardPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesCardPayments'
AccountCapabilitiesCardPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesCardPayments'
AccountCapabilitiesCardPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.cartes_bancaires_payments@ in the specification.
--
-- The status of the Cartes Bancaires payments capability of the account, or whether the account can directly process Cartes Bancaires card charges in EUR currency.
data AccountCapabilitiesCartesBancairesPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesCartesBancairesPayments'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.
    AccountCapabilitiesCartesBancairesPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesCartesBancairesPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesCartesBancairesPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesCartesBancairesPayments'EnumPending
  deriving (Int -> AccountCapabilitiesCartesBancairesPayments' -> ShowS
[AccountCapabilitiesCartesBancairesPayments'] -> ShowS
AccountCapabilitiesCartesBancairesPayments' -> String
(Int -> AccountCapabilitiesCartesBancairesPayments' -> ShowS)
-> (AccountCapabilitiesCartesBancairesPayments' -> String)
-> ([AccountCapabilitiesCartesBancairesPayments'] -> ShowS)
-> Show AccountCapabilitiesCartesBancairesPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesCartesBancairesPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesCartesBancairesPayments'] -> ShowS
show :: AccountCapabilitiesCartesBancairesPayments' -> String
$cshow :: AccountCapabilitiesCartesBancairesPayments' -> String
showsPrec :: Int -> AccountCapabilitiesCartesBancairesPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesCartesBancairesPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesCartesBancairesPayments'
-> AccountCapabilitiesCartesBancairesPayments' -> Bool
(AccountCapabilitiesCartesBancairesPayments'
 -> AccountCapabilitiesCartesBancairesPayments' -> Bool)
-> (AccountCapabilitiesCartesBancairesPayments'
    -> AccountCapabilitiesCartesBancairesPayments' -> Bool)
-> Eq AccountCapabilitiesCartesBancairesPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesCartesBancairesPayments'
-> AccountCapabilitiesCartesBancairesPayments' -> Bool
$c/= :: AccountCapabilitiesCartesBancairesPayments'
-> AccountCapabilitiesCartesBancairesPayments' -> Bool
== :: AccountCapabilitiesCartesBancairesPayments'
-> AccountCapabilitiesCartesBancairesPayments' -> Bool
$c== :: AccountCapabilitiesCartesBancairesPayments'
-> AccountCapabilitiesCartesBancairesPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesCartesBancairesPayments' where
  toJSON :: AccountCapabilitiesCartesBancairesPayments' -> Value
toJSON (AccountCapabilitiesCartesBancairesPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesCartesBancairesPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesCartesBancairesPayments'
AccountCapabilitiesCartesBancairesPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesCartesBancairesPayments'
AccountCapabilitiesCartesBancairesPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesCartesBancairesPayments'
AccountCapabilitiesCartesBancairesPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesCartesBancairesPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesCartesBancairesPayments'
parseJSON Value
val =
    AccountCapabilitiesCartesBancairesPayments'
-> Parser AccountCapabilitiesCartesBancairesPayments'
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
"active" -> AccountCapabilitiesCartesBancairesPayments'
AccountCapabilitiesCartesBancairesPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesCartesBancairesPayments'
AccountCapabilitiesCartesBancairesPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesCartesBancairesPayments'
AccountCapabilitiesCartesBancairesPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesCartesBancairesPayments'
AccountCapabilitiesCartesBancairesPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.eps_payments@ in the specification.
--
-- The status of the EPS payments capability of the account, or whether the account can directly process EPS charges.
data AccountCapabilitiesEpsPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesEpsPayments'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.
    AccountCapabilitiesEpsPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesEpsPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesEpsPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesEpsPayments'EnumPending
  deriving (Int -> AccountCapabilitiesEpsPayments' -> ShowS
[AccountCapabilitiesEpsPayments'] -> ShowS
AccountCapabilitiesEpsPayments' -> String
(Int -> AccountCapabilitiesEpsPayments' -> ShowS)
-> (AccountCapabilitiesEpsPayments' -> String)
-> ([AccountCapabilitiesEpsPayments'] -> ShowS)
-> Show AccountCapabilitiesEpsPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesEpsPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesEpsPayments'] -> ShowS
show :: AccountCapabilitiesEpsPayments' -> String
$cshow :: AccountCapabilitiesEpsPayments' -> String
showsPrec :: Int -> AccountCapabilitiesEpsPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesEpsPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesEpsPayments'
-> AccountCapabilitiesEpsPayments' -> Bool
(AccountCapabilitiesEpsPayments'
 -> AccountCapabilitiesEpsPayments' -> Bool)
-> (AccountCapabilitiesEpsPayments'
    -> AccountCapabilitiesEpsPayments' -> Bool)
-> Eq AccountCapabilitiesEpsPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesEpsPayments'
-> AccountCapabilitiesEpsPayments' -> Bool
$c/= :: AccountCapabilitiesEpsPayments'
-> AccountCapabilitiesEpsPayments' -> Bool
== :: AccountCapabilitiesEpsPayments'
-> AccountCapabilitiesEpsPayments' -> Bool
$c== :: AccountCapabilitiesEpsPayments'
-> AccountCapabilitiesEpsPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesEpsPayments' where
  toJSON :: AccountCapabilitiesEpsPayments' -> Value
toJSON (AccountCapabilitiesEpsPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesEpsPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesEpsPayments'
AccountCapabilitiesEpsPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesEpsPayments'
AccountCapabilitiesEpsPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesEpsPayments'
AccountCapabilitiesEpsPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesEpsPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesEpsPayments'
parseJSON Value
val =
    AccountCapabilitiesEpsPayments'
-> Parser AccountCapabilitiesEpsPayments'
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
"active" -> AccountCapabilitiesEpsPayments'
AccountCapabilitiesEpsPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesEpsPayments'
AccountCapabilitiesEpsPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesEpsPayments'
AccountCapabilitiesEpsPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesEpsPayments'
AccountCapabilitiesEpsPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.fpx_payments@ in the specification.
--
-- The status of the FPX payments capability of the account, or whether the account can directly process FPX charges.
data AccountCapabilitiesFpxPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesFpxPayments'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.
    AccountCapabilitiesFpxPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesFpxPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesFpxPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesFpxPayments'EnumPending
  deriving (Int -> AccountCapabilitiesFpxPayments' -> ShowS
[AccountCapabilitiesFpxPayments'] -> ShowS
AccountCapabilitiesFpxPayments' -> String
(Int -> AccountCapabilitiesFpxPayments' -> ShowS)
-> (AccountCapabilitiesFpxPayments' -> String)
-> ([AccountCapabilitiesFpxPayments'] -> ShowS)
-> Show AccountCapabilitiesFpxPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesFpxPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesFpxPayments'] -> ShowS
show :: AccountCapabilitiesFpxPayments' -> String
$cshow :: AccountCapabilitiesFpxPayments' -> String
showsPrec :: Int -> AccountCapabilitiesFpxPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesFpxPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesFpxPayments'
-> AccountCapabilitiesFpxPayments' -> Bool
(AccountCapabilitiesFpxPayments'
 -> AccountCapabilitiesFpxPayments' -> Bool)
-> (AccountCapabilitiesFpxPayments'
    -> AccountCapabilitiesFpxPayments' -> Bool)
-> Eq AccountCapabilitiesFpxPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesFpxPayments'
-> AccountCapabilitiesFpxPayments' -> Bool
$c/= :: AccountCapabilitiesFpxPayments'
-> AccountCapabilitiesFpxPayments' -> Bool
== :: AccountCapabilitiesFpxPayments'
-> AccountCapabilitiesFpxPayments' -> Bool
$c== :: AccountCapabilitiesFpxPayments'
-> AccountCapabilitiesFpxPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesFpxPayments' where
  toJSON :: AccountCapabilitiesFpxPayments' -> Value
toJSON (AccountCapabilitiesFpxPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesFpxPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesFpxPayments'
AccountCapabilitiesFpxPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesFpxPayments'
AccountCapabilitiesFpxPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesFpxPayments'
AccountCapabilitiesFpxPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesFpxPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesFpxPayments'
parseJSON Value
val =
    AccountCapabilitiesFpxPayments'
-> Parser AccountCapabilitiesFpxPayments'
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
"active" -> AccountCapabilitiesFpxPayments'
AccountCapabilitiesFpxPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesFpxPayments'
AccountCapabilitiesFpxPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesFpxPayments'
AccountCapabilitiesFpxPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesFpxPayments'
AccountCapabilitiesFpxPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.giropay_payments@ in the specification.
--
-- The status of the giropay payments capability of the account, or whether the account can directly process giropay charges.
data AccountCapabilitiesGiropayPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesGiropayPayments'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.
    AccountCapabilitiesGiropayPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesGiropayPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesGiropayPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesGiropayPayments'EnumPending
  deriving (Int -> AccountCapabilitiesGiropayPayments' -> ShowS
[AccountCapabilitiesGiropayPayments'] -> ShowS
AccountCapabilitiesGiropayPayments' -> String
(Int -> AccountCapabilitiesGiropayPayments' -> ShowS)
-> (AccountCapabilitiesGiropayPayments' -> String)
-> ([AccountCapabilitiesGiropayPayments'] -> ShowS)
-> Show AccountCapabilitiesGiropayPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesGiropayPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesGiropayPayments'] -> ShowS
show :: AccountCapabilitiesGiropayPayments' -> String
$cshow :: AccountCapabilitiesGiropayPayments' -> String
showsPrec :: Int -> AccountCapabilitiesGiropayPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesGiropayPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesGiropayPayments'
-> AccountCapabilitiesGiropayPayments' -> Bool
(AccountCapabilitiesGiropayPayments'
 -> AccountCapabilitiesGiropayPayments' -> Bool)
-> (AccountCapabilitiesGiropayPayments'
    -> AccountCapabilitiesGiropayPayments' -> Bool)
-> Eq AccountCapabilitiesGiropayPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesGiropayPayments'
-> AccountCapabilitiesGiropayPayments' -> Bool
$c/= :: AccountCapabilitiesGiropayPayments'
-> AccountCapabilitiesGiropayPayments' -> Bool
== :: AccountCapabilitiesGiropayPayments'
-> AccountCapabilitiesGiropayPayments' -> Bool
$c== :: AccountCapabilitiesGiropayPayments'
-> AccountCapabilitiesGiropayPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesGiropayPayments' where
  toJSON :: AccountCapabilitiesGiropayPayments' -> Value
toJSON (AccountCapabilitiesGiropayPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesGiropayPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesGiropayPayments'
AccountCapabilitiesGiropayPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesGiropayPayments'
AccountCapabilitiesGiropayPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesGiropayPayments'
AccountCapabilitiesGiropayPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesGiropayPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesGiropayPayments'
parseJSON Value
val =
    AccountCapabilitiesGiropayPayments'
-> Parser AccountCapabilitiesGiropayPayments'
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
"active" -> AccountCapabilitiesGiropayPayments'
AccountCapabilitiesGiropayPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesGiropayPayments'
AccountCapabilitiesGiropayPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesGiropayPayments'
AccountCapabilitiesGiropayPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesGiropayPayments'
AccountCapabilitiesGiropayPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.grabpay_payments@ in the specification.
--
-- The status of the GrabPay payments capability of the account, or whether the account can directly process GrabPay charges.
data AccountCapabilitiesGrabpayPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesGrabpayPayments'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.
    AccountCapabilitiesGrabpayPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesGrabpayPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesGrabpayPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesGrabpayPayments'EnumPending
  deriving (Int -> AccountCapabilitiesGrabpayPayments' -> ShowS
[AccountCapabilitiesGrabpayPayments'] -> ShowS
AccountCapabilitiesGrabpayPayments' -> String
(Int -> AccountCapabilitiesGrabpayPayments' -> ShowS)
-> (AccountCapabilitiesGrabpayPayments' -> String)
-> ([AccountCapabilitiesGrabpayPayments'] -> ShowS)
-> Show AccountCapabilitiesGrabpayPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesGrabpayPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesGrabpayPayments'] -> ShowS
show :: AccountCapabilitiesGrabpayPayments' -> String
$cshow :: AccountCapabilitiesGrabpayPayments' -> String
showsPrec :: Int -> AccountCapabilitiesGrabpayPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesGrabpayPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesGrabpayPayments'
-> AccountCapabilitiesGrabpayPayments' -> Bool
(AccountCapabilitiesGrabpayPayments'
 -> AccountCapabilitiesGrabpayPayments' -> Bool)
-> (AccountCapabilitiesGrabpayPayments'
    -> AccountCapabilitiesGrabpayPayments' -> Bool)
-> Eq AccountCapabilitiesGrabpayPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesGrabpayPayments'
-> AccountCapabilitiesGrabpayPayments' -> Bool
$c/= :: AccountCapabilitiesGrabpayPayments'
-> AccountCapabilitiesGrabpayPayments' -> Bool
== :: AccountCapabilitiesGrabpayPayments'
-> AccountCapabilitiesGrabpayPayments' -> Bool
$c== :: AccountCapabilitiesGrabpayPayments'
-> AccountCapabilitiesGrabpayPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesGrabpayPayments' where
  toJSON :: AccountCapabilitiesGrabpayPayments' -> Value
toJSON (AccountCapabilitiesGrabpayPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesGrabpayPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesGrabpayPayments'
AccountCapabilitiesGrabpayPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesGrabpayPayments'
AccountCapabilitiesGrabpayPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesGrabpayPayments'
AccountCapabilitiesGrabpayPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesGrabpayPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesGrabpayPayments'
parseJSON Value
val =
    AccountCapabilitiesGrabpayPayments'
-> Parser AccountCapabilitiesGrabpayPayments'
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
"active" -> AccountCapabilitiesGrabpayPayments'
AccountCapabilitiesGrabpayPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesGrabpayPayments'
AccountCapabilitiesGrabpayPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesGrabpayPayments'
AccountCapabilitiesGrabpayPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesGrabpayPayments'
AccountCapabilitiesGrabpayPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.ideal_payments@ in the specification.
--
-- The status of the iDEAL payments capability of the account, or whether the account can directly process iDEAL charges.
data AccountCapabilitiesIdealPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesIdealPayments'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.
    AccountCapabilitiesIdealPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesIdealPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesIdealPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesIdealPayments'EnumPending
  deriving (Int -> AccountCapabilitiesIdealPayments' -> ShowS
[AccountCapabilitiesIdealPayments'] -> ShowS
AccountCapabilitiesIdealPayments' -> String
(Int -> AccountCapabilitiesIdealPayments' -> ShowS)
-> (AccountCapabilitiesIdealPayments' -> String)
-> ([AccountCapabilitiesIdealPayments'] -> ShowS)
-> Show AccountCapabilitiesIdealPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesIdealPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesIdealPayments'] -> ShowS
show :: AccountCapabilitiesIdealPayments' -> String
$cshow :: AccountCapabilitiesIdealPayments' -> String
showsPrec :: Int -> AccountCapabilitiesIdealPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesIdealPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesIdealPayments'
-> AccountCapabilitiesIdealPayments' -> Bool
(AccountCapabilitiesIdealPayments'
 -> AccountCapabilitiesIdealPayments' -> Bool)
-> (AccountCapabilitiesIdealPayments'
    -> AccountCapabilitiesIdealPayments' -> Bool)
-> Eq AccountCapabilitiesIdealPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesIdealPayments'
-> AccountCapabilitiesIdealPayments' -> Bool
$c/= :: AccountCapabilitiesIdealPayments'
-> AccountCapabilitiesIdealPayments' -> Bool
== :: AccountCapabilitiesIdealPayments'
-> AccountCapabilitiesIdealPayments' -> Bool
$c== :: AccountCapabilitiesIdealPayments'
-> AccountCapabilitiesIdealPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesIdealPayments' where
  toJSON :: AccountCapabilitiesIdealPayments' -> Value
toJSON (AccountCapabilitiesIdealPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesIdealPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesIdealPayments'
AccountCapabilitiesIdealPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesIdealPayments'
AccountCapabilitiesIdealPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesIdealPayments'
AccountCapabilitiesIdealPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesIdealPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesIdealPayments'
parseJSON Value
val =
    AccountCapabilitiesIdealPayments'
-> Parser AccountCapabilitiesIdealPayments'
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
"active" -> AccountCapabilitiesIdealPayments'
AccountCapabilitiesIdealPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesIdealPayments'
AccountCapabilitiesIdealPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesIdealPayments'
AccountCapabilitiesIdealPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesIdealPayments'
AccountCapabilitiesIdealPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.jcb_payments@ in the specification.
--
-- The status of the JCB payments capability of the account, or whether the account (Japan only) can directly process JCB credit card charges in JPY currency.
data AccountCapabilitiesJcbPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesJcbPayments'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.
    AccountCapabilitiesJcbPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesJcbPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesJcbPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesJcbPayments'EnumPending
  deriving (Int -> AccountCapabilitiesJcbPayments' -> ShowS
[AccountCapabilitiesJcbPayments'] -> ShowS
AccountCapabilitiesJcbPayments' -> String
(Int -> AccountCapabilitiesJcbPayments' -> ShowS)
-> (AccountCapabilitiesJcbPayments' -> String)
-> ([AccountCapabilitiesJcbPayments'] -> ShowS)
-> Show AccountCapabilitiesJcbPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesJcbPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesJcbPayments'] -> ShowS
show :: AccountCapabilitiesJcbPayments' -> String
$cshow :: AccountCapabilitiesJcbPayments' -> String
showsPrec :: Int -> AccountCapabilitiesJcbPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesJcbPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesJcbPayments'
-> AccountCapabilitiesJcbPayments' -> Bool
(AccountCapabilitiesJcbPayments'
 -> AccountCapabilitiesJcbPayments' -> Bool)
-> (AccountCapabilitiesJcbPayments'
    -> AccountCapabilitiesJcbPayments' -> Bool)
-> Eq AccountCapabilitiesJcbPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesJcbPayments'
-> AccountCapabilitiesJcbPayments' -> Bool
$c/= :: AccountCapabilitiesJcbPayments'
-> AccountCapabilitiesJcbPayments' -> Bool
== :: AccountCapabilitiesJcbPayments'
-> AccountCapabilitiesJcbPayments' -> Bool
$c== :: AccountCapabilitiesJcbPayments'
-> AccountCapabilitiesJcbPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesJcbPayments' where
  toJSON :: AccountCapabilitiesJcbPayments' -> Value
toJSON (AccountCapabilitiesJcbPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesJcbPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesJcbPayments'
AccountCapabilitiesJcbPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesJcbPayments'
AccountCapabilitiesJcbPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesJcbPayments'
AccountCapabilitiesJcbPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesJcbPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesJcbPayments'
parseJSON Value
val =
    AccountCapabilitiesJcbPayments'
-> Parser AccountCapabilitiesJcbPayments'
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
"active" -> AccountCapabilitiesJcbPayments'
AccountCapabilitiesJcbPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesJcbPayments'
AccountCapabilitiesJcbPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesJcbPayments'
AccountCapabilitiesJcbPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesJcbPayments'
AccountCapabilitiesJcbPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.legacy_payments@ in the specification.
--
-- The status of the legacy payments capability of the account.
data AccountCapabilitiesLegacyPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesLegacyPayments'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.
    AccountCapabilitiesLegacyPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesLegacyPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesLegacyPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesLegacyPayments'EnumPending
  deriving (Int -> AccountCapabilitiesLegacyPayments' -> ShowS
[AccountCapabilitiesLegacyPayments'] -> ShowS
AccountCapabilitiesLegacyPayments' -> String
(Int -> AccountCapabilitiesLegacyPayments' -> ShowS)
-> (AccountCapabilitiesLegacyPayments' -> String)
-> ([AccountCapabilitiesLegacyPayments'] -> ShowS)
-> Show AccountCapabilitiesLegacyPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesLegacyPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesLegacyPayments'] -> ShowS
show :: AccountCapabilitiesLegacyPayments' -> String
$cshow :: AccountCapabilitiesLegacyPayments' -> String
showsPrec :: Int -> AccountCapabilitiesLegacyPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesLegacyPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesLegacyPayments'
-> AccountCapabilitiesLegacyPayments' -> Bool
(AccountCapabilitiesLegacyPayments'
 -> AccountCapabilitiesLegacyPayments' -> Bool)
-> (AccountCapabilitiesLegacyPayments'
    -> AccountCapabilitiesLegacyPayments' -> Bool)
-> Eq AccountCapabilitiesLegacyPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesLegacyPayments'
-> AccountCapabilitiesLegacyPayments' -> Bool
$c/= :: AccountCapabilitiesLegacyPayments'
-> AccountCapabilitiesLegacyPayments' -> Bool
== :: AccountCapabilitiesLegacyPayments'
-> AccountCapabilitiesLegacyPayments' -> Bool
$c== :: AccountCapabilitiesLegacyPayments'
-> AccountCapabilitiesLegacyPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesLegacyPayments' where
  toJSON :: AccountCapabilitiesLegacyPayments' -> Value
toJSON (AccountCapabilitiesLegacyPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesLegacyPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesLegacyPayments'
AccountCapabilitiesLegacyPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesLegacyPayments'
AccountCapabilitiesLegacyPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesLegacyPayments'
AccountCapabilitiesLegacyPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesLegacyPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesLegacyPayments'
parseJSON Value
val =
    AccountCapabilitiesLegacyPayments'
-> Parser AccountCapabilitiesLegacyPayments'
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
"active" -> AccountCapabilitiesLegacyPayments'
AccountCapabilitiesLegacyPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesLegacyPayments'
AccountCapabilitiesLegacyPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesLegacyPayments'
AccountCapabilitiesLegacyPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesLegacyPayments'
AccountCapabilitiesLegacyPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.oxxo_payments@ in the specification.
--
-- The status of the OXXO payments capability of the account, or whether the account can directly process OXXO charges.
data AccountCapabilitiesOxxoPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesOxxoPayments'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.
    AccountCapabilitiesOxxoPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesOxxoPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesOxxoPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesOxxoPayments'EnumPending
  deriving (Int -> AccountCapabilitiesOxxoPayments' -> ShowS
[AccountCapabilitiesOxxoPayments'] -> ShowS
AccountCapabilitiesOxxoPayments' -> String
(Int -> AccountCapabilitiesOxxoPayments' -> ShowS)
-> (AccountCapabilitiesOxxoPayments' -> String)
-> ([AccountCapabilitiesOxxoPayments'] -> ShowS)
-> Show AccountCapabilitiesOxxoPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesOxxoPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesOxxoPayments'] -> ShowS
show :: AccountCapabilitiesOxxoPayments' -> String
$cshow :: AccountCapabilitiesOxxoPayments' -> String
showsPrec :: Int -> AccountCapabilitiesOxxoPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesOxxoPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesOxxoPayments'
-> AccountCapabilitiesOxxoPayments' -> Bool
(AccountCapabilitiesOxxoPayments'
 -> AccountCapabilitiesOxxoPayments' -> Bool)
-> (AccountCapabilitiesOxxoPayments'
    -> AccountCapabilitiesOxxoPayments' -> Bool)
-> Eq AccountCapabilitiesOxxoPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesOxxoPayments'
-> AccountCapabilitiesOxxoPayments' -> Bool
$c/= :: AccountCapabilitiesOxxoPayments'
-> AccountCapabilitiesOxxoPayments' -> Bool
== :: AccountCapabilitiesOxxoPayments'
-> AccountCapabilitiesOxxoPayments' -> Bool
$c== :: AccountCapabilitiesOxxoPayments'
-> AccountCapabilitiesOxxoPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesOxxoPayments' where
  toJSON :: AccountCapabilitiesOxxoPayments' -> Value
toJSON (AccountCapabilitiesOxxoPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesOxxoPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesOxxoPayments'
AccountCapabilitiesOxxoPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesOxxoPayments'
AccountCapabilitiesOxxoPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesOxxoPayments'
AccountCapabilitiesOxxoPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesOxxoPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesOxxoPayments'
parseJSON Value
val =
    AccountCapabilitiesOxxoPayments'
-> Parser AccountCapabilitiesOxxoPayments'
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
"active" -> AccountCapabilitiesOxxoPayments'
AccountCapabilitiesOxxoPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesOxxoPayments'
AccountCapabilitiesOxxoPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesOxxoPayments'
AccountCapabilitiesOxxoPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesOxxoPayments'
AccountCapabilitiesOxxoPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.p24_payments@ in the specification.
--
-- The status of the P24 payments capability of the account, or whether the account can directly process P24 charges.
data AccountCapabilitiesP24Payments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesP24Payments'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.
    AccountCapabilitiesP24Payments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesP24Payments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesP24Payments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesP24Payments'EnumPending
  deriving (Int -> AccountCapabilitiesP24Payments' -> ShowS
[AccountCapabilitiesP24Payments'] -> ShowS
AccountCapabilitiesP24Payments' -> String
(Int -> AccountCapabilitiesP24Payments' -> ShowS)
-> (AccountCapabilitiesP24Payments' -> String)
-> ([AccountCapabilitiesP24Payments'] -> ShowS)
-> Show AccountCapabilitiesP24Payments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesP24Payments'] -> ShowS
$cshowList :: [AccountCapabilitiesP24Payments'] -> ShowS
show :: AccountCapabilitiesP24Payments' -> String
$cshow :: AccountCapabilitiesP24Payments' -> String
showsPrec :: Int -> AccountCapabilitiesP24Payments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesP24Payments' -> ShowS
GHC.Show.Show, AccountCapabilitiesP24Payments'
-> AccountCapabilitiesP24Payments' -> Bool
(AccountCapabilitiesP24Payments'
 -> AccountCapabilitiesP24Payments' -> Bool)
-> (AccountCapabilitiesP24Payments'
    -> AccountCapabilitiesP24Payments' -> Bool)
-> Eq AccountCapabilitiesP24Payments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesP24Payments'
-> AccountCapabilitiesP24Payments' -> Bool
$c/= :: AccountCapabilitiesP24Payments'
-> AccountCapabilitiesP24Payments' -> Bool
== :: AccountCapabilitiesP24Payments'
-> AccountCapabilitiesP24Payments' -> Bool
$c== :: AccountCapabilitiesP24Payments'
-> AccountCapabilitiesP24Payments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesP24Payments' where
  toJSON :: AccountCapabilitiesP24Payments' -> Value
toJSON (AccountCapabilitiesP24Payments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesP24Payments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesP24Payments'
AccountCapabilitiesP24Payments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesP24Payments'
AccountCapabilitiesP24Payments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesP24Payments'
AccountCapabilitiesP24Payments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesP24Payments' where
  parseJSON :: Value -> Parser AccountCapabilitiesP24Payments'
parseJSON Value
val =
    AccountCapabilitiesP24Payments'
-> Parser AccountCapabilitiesP24Payments'
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
"active" -> AccountCapabilitiesP24Payments'
AccountCapabilitiesP24Payments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesP24Payments'
AccountCapabilitiesP24Payments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesP24Payments'
AccountCapabilitiesP24Payments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesP24Payments'
AccountCapabilitiesP24Payments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.sepa_debit_payments@ in the specification.
--
-- The status of the SEPA Direct Debits payments capability of the account, or whether the account can directly process SEPA Direct Debits charges.
data AccountCapabilitiesSepaDebitPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesSepaDebitPayments'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.
    AccountCapabilitiesSepaDebitPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesSepaDebitPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesSepaDebitPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesSepaDebitPayments'EnumPending
  deriving (Int -> AccountCapabilitiesSepaDebitPayments' -> ShowS
[AccountCapabilitiesSepaDebitPayments'] -> ShowS
AccountCapabilitiesSepaDebitPayments' -> String
(Int -> AccountCapabilitiesSepaDebitPayments' -> ShowS)
-> (AccountCapabilitiesSepaDebitPayments' -> String)
-> ([AccountCapabilitiesSepaDebitPayments'] -> ShowS)
-> Show AccountCapabilitiesSepaDebitPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesSepaDebitPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesSepaDebitPayments'] -> ShowS
show :: AccountCapabilitiesSepaDebitPayments' -> String
$cshow :: AccountCapabilitiesSepaDebitPayments' -> String
showsPrec :: Int -> AccountCapabilitiesSepaDebitPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesSepaDebitPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesSepaDebitPayments'
-> AccountCapabilitiesSepaDebitPayments' -> Bool
(AccountCapabilitiesSepaDebitPayments'
 -> AccountCapabilitiesSepaDebitPayments' -> Bool)
-> (AccountCapabilitiesSepaDebitPayments'
    -> AccountCapabilitiesSepaDebitPayments' -> Bool)
-> Eq AccountCapabilitiesSepaDebitPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesSepaDebitPayments'
-> AccountCapabilitiesSepaDebitPayments' -> Bool
$c/= :: AccountCapabilitiesSepaDebitPayments'
-> AccountCapabilitiesSepaDebitPayments' -> Bool
== :: AccountCapabilitiesSepaDebitPayments'
-> AccountCapabilitiesSepaDebitPayments' -> Bool
$c== :: AccountCapabilitiesSepaDebitPayments'
-> AccountCapabilitiesSepaDebitPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesSepaDebitPayments' where
  toJSON :: AccountCapabilitiesSepaDebitPayments' -> Value
toJSON (AccountCapabilitiesSepaDebitPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesSepaDebitPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesSepaDebitPayments'
AccountCapabilitiesSepaDebitPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesSepaDebitPayments'
AccountCapabilitiesSepaDebitPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesSepaDebitPayments'
AccountCapabilitiesSepaDebitPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesSepaDebitPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesSepaDebitPayments'
parseJSON Value
val =
    AccountCapabilitiesSepaDebitPayments'
-> Parser AccountCapabilitiesSepaDebitPayments'
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
"active" -> AccountCapabilitiesSepaDebitPayments'
AccountCapabilitiesSepaDebitPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesSepaDebitPayments'
AccountCapabilitiesSepaDebitPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesSepaDebitPayments'
AccountCapabilitiesSepaDebitPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesSepaDebitPayments'
AccountCapabilitiesSepaDebitPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.sofort_payments@ in the specification.
--
-- The status of the Sofort payments capability of the account, or whether the account can directly process Sofort charges.
data AccountCapabilitiesSofortPayments'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesSofortPayments'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.
    AccountCapabilitiesSofortPayments'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesSofortPayments'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesSofortPayments'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesSofortPayments'EnumPending
  deriving (Int -> AccountCapabilitiesSofortPayments' -> ShowS
[AccountCapabilitiesSofortPayments'] -> ShowS
AccountCapabilitiesSofortPayments' -> String
(Int -> AccountCapabilitiesSofortPayments' -> ShowS)
-> (AccountCapabilitiesSofortPayments' -> String)
-> ([AccountCapabilitiesSofortPayments'] -> ShowS)
-> Show AccountCapabilitiesSofortPayments'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesSofortPayments'] -> ShowS
$cshowList :: [AccountCapabilitiesSofortPayments'] -> ShowS
show :: AccountCapabilitiesSofortPayments' -> String
$cshow :: AccountCapabilitiesSofortPayments' -> String
showsPrec :: Int -> AccountCapabilitiesSofortPayments' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesSofortPayments' -> ShowS
GHC.Show.Show, AccountCapabilitiesSofortPayments'
-> AccountCapabilitiesSofortPayments' -> Bool
(AccountCapabilitiesSofortPayments'
 -> AccountCapabilitiesSofortPayments' -> Bool)
-> (AccountCapabilitiesSofortPayments'
    -> AccountCapabilitiesSofortPayments' -> Bool)
-> Eq AccountCapabilitiesSofortPayments'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesSofortPayments'
-> AccountCapabilitiesSofortPayments' -> Bool
$c/= :: AccountCapabilitiesSofortPayments'
-> AccountCapabilitiesSofortPayments' -> Bool
== :: AccountCapabilitiesSofortPayments'
-> AccountCapabilitiesSofortPayments' -> Bool
$c== :: AccountCapabilitiesSofortPayments'
-> AccountCapabilitiesSofortPayments' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesSofortPayments' where
  toJSON :: AccountCapabilitiesSofortPayments' -> Value
toJSON (AccountCapabilitiesSofortPayments'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesSofortPayments'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesSofortPayments'
AccountCapabilitiesSofortPayments'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesSofortPayments'
AccountCapabilitiesSofortPayments'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesSofortPayments'
AccountCapabilitiesSofortPayments'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesSofortPayments' where
  parseJSON :: Value -> Parser AccountCapabilitiesSofortPayments'
parseJSON Value
val =
    AccountCapabilitiesSofortPayments'
-> Parser AccountCapabilitiesSofortPayments'
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
"active" -> AccountCapabilitiesSofortPayments'
AccountCapabilitiesSofortPayments'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesSofortPayments'
AccountCapabilitiesSofortPayments'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesSofortPayments'
AccountCapabilitiesSofortPayments'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesSofortPayments'
AccountCapabilitiesSofortPayments'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.tax_reporting_us_1099_k@ in the specification.
--
-- The status of the tax reporting 1099-K (US) capability of the account.
data AccountCapabilitiesTaxReportingUs_1099K'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesTaxReportingUs_1099K'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.
    AccountCapabilitiesTaxReportingUs_1099K'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesTaxReportingUs_1099K'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesTaxReportingUs_1099K'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesTaxReportingUs_1099K'EnumPending
  deriving (Int -> AccountCapabilitiesTaxReportingUs_1099K' -> ShowS
[AccountCapabilitiesTaxReportingUs_1099K'] -> ShowS
AccountCapabilitiesTaxReportingUs_1099K' -> String
(Int -> AccountCapabilitiesTaxReportingUs_1099K' -> ShowS)
-> (AccountCapabilitiesTaxReportingUs_1099K' -> String)
-> ([AccountCapabilitiesTaxReportingUs_1099K'] -> ShowS)
-> Show AccountCapabilitiesTaxReportingUs_1099K'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesTaxReportingUs_1099K'] -> ShowS
$cshowList :: [AccountCapabilitiesTaxReportingUs_1099K'] -> ShowS
show :: AccountCapabilitiesTaxReportingUs_1099K' -> String
$cshow :: AccountCapabilitiesTaxReportingUs_1099K' -> String
showsPrec :: Int -> AccountCapabilitiesTaxReportingUs_1099K' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesTaxReportingUs_1099K' -> ShowS
GHC.Show.Show, AccountCapabilitiesTaxReportingUs_1099K'
-> AccountCapabilitiesTaxReportingUs_1099K' -> Bool
(AccountCapabilitiesTaxReportingUs_1099K'
 -> AccountCapabilitiesTaxReportingUs_1099K' -> Bool)
-> (AccountCapabilitiesTaxReportingUs_1099K'
    -> AccountCapabilitiesTaxReportingUs_1099K' -> Bool)
-> Eq AccountCapabilitiesTaxReportingUs_1099K'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesTaxReportingUs_1099K'
-> AccountCapabilitiesTaxReportingUs_1099K' -> Bool
$c/= :: AccountCapabilitiesTaxReportingUs_1099K'
-> AccountCapabilitiesTaxReportingUs_1099K' -> Bool
== :: AccountCapabilitiesTaxReportingUs_1099K'
-> AccountCapabilitiesTaxReportingUs_1099K' -> Bool
$c== :: AccountCapabilitiesTaxReportingUs_1099K'
-> AccountCapabilitiesTaxReportingUs_1099K' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesTaxReportingUs_1099K' where
  toJSON :: AccountCapabilitiesTaxReportingUs_1099K' -> Value
toJSON (AccountCapabilitiesTaxReportingUs_1099K'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesTaxReportingUs_1099K'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesTaxReportingUs_1099K'
AccountCapabilitiesTaxReportingUs_1099K'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesTaxReportingUs_1099K'
AccountCapabilitiesTaxReportingUs_1099K'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesTaxReportingUs_1099K'
AccountCapabilitiesTaxReportingUs_1099K'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesTaxReportingUs_1099K' where
  parseJSON :: Value -> Parser AccountCapabilitiesTaxReportingUs_1099K'
parseJSON Value
val =
    AccountCapabilitiesTaxReportingUs_1099K'
-> Parser AccountCapabilitiesTaxReportingUs_1099K'
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
"active" -> AccountCapabilitiesTaxReportingUs_1099K'
AccountCapabilitiesTaxReportingUs_1099K'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesTaxReportingUs_1099K'
AccountCapabilitiesTaxReportingUs_1099K'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesTaxReportingUs_1099K'
AccountCapabilitiesTaxReportingUs_1099K'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesTaxReportingUs_1099K'
AccountCapabilitiesTaxReportingUs_1099K'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.tax_reporting_us_1099_misc@ in the specification.
--
-- The status of the tax reporting 1099-MISC (US) capability of the account.
data AccountCapabilitiesTaxReportingUs_1099Misc'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesTaxReportingUs_1099Misc'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.
    AccountCapabilitiesTaxReportingUs_1099Misc'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesTaxReportingUs_1099Misc'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesTaxReportingUs_1099Misc'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesTaxReportingUs_1099Misc'EnumPending
  deriving (Int -> AccountCapabilitiesTaxReportingUs_1099Misc' -> ShowS
[AccountCapabilitiesTaxReportingUs_1099Misc'] -> ShowS
AccountCapabilitiesTaxReportingUs_1099Misc' -> String
(Int -> AccountCapabilitiesTaxReportingUs_1099Misc' -> ShowS)
-> (AccountCapabilitiesTaxReportingUs_1099Misc' -> String)
-> ([AccountCapabilitiesTaxReportingUs_1099Misc'] -> ShowS)
-> Show AccountCapabilitiesTaxReportingUs_1099Misc'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesTaxReportingUs_1099Misc'] -> ShowS
$cshowList :: [AccountCapabilitiesTaxReportingUs_1099Misc'] -> ShowS
show :: AccountCapabilitiesTaxReportingUs_1099Misc' -> String
$cshow :: AccountCapabilitiesTaxReportingUs_1099Misc' -> String
showsPrec :: Int -> AccountCapabilitiesTaxReportingUs_1099Misc' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesTaxReportingUs_1099Misc' -> ShowS
GHC.Show.Show, AccountCapabilitiesTaxReportingUs_1099Misc'
-> AccountCapabilitiesTaxReportingUs_1099Misc' -> Bool
(AccountCapabilitiesTaxReportingUs_1099Misc'
 -> AccountCapabilitiesTaxReportingUs_1099Misc' -> Bool)
-> (AccountCapabilitiesTaxReportingUs_1099Misc'
    -> AccountCapabilitiesTaxReportingUs_1099Misc' -> Bool)
-> Eq AccountCapabilitiesTaxReportingUs_1099Misc'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesTaxReportingUs_1099Misc'
-> AccountCapabilitiesTaxReportingUs_1099Misc' -> Bool
$c/= :: AccountCapabilitiesTaxReportingUs_1099Misc'
-> AccountCapabilitiesTaxReportingUs_1099Misc' -> Bool
== :: AccountCapabilitiesTaxReportingUs_1099Misc'
-> AccountCapabilitiesTaxReportingUs_1099Misc' -> Bool
$c== :: AccountCapabilitiesTaxReportingUs_1099Misc'
-> AccountCapabilitiesTaxReportingUs_1099Misc' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesTaxReportingUs_1099Misc' where
  toJSON :: AccountCapabilitiesTaxReportingUs_1099Misc' -> Value
toJSON (AccountCapabilitiesTaxReportingUs_1099Misc'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesTaxReportingUs_1099Misc'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesTaxReportingUs_1099Misc'
AccountCapabilitiesTaxReportingUs_1099Misc'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesTaxReportingUs_1099Misc'
AccountCapabilitiesTaxReportingUs_1099Misc'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesTaxReportingUs_1099Misc'
AccountCapabilitiesTaxReportingUs_1099Misc'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesTaxReportingUs_1099Misc' where
  parseJSON :: Value -> Parser AccountCapabilitiesTaxReportingUs_1099Misc'
parseJSON Value
val =
    AccountCapabilitiesTaxReportingUs_1099Misc'
-> Parser AccountCapabilitiesTaxReportingUs_1099Misc'
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
"active" -> AccountCapabilitiesTaxReportingUs_1099Misc'
AccountCapabilitiesTaxReportingUs_1099Misc'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesTaxReportingUs_1099Misc'
AccountCapabilitiesTaxReportingUs_1099Misc'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesTaxReportingUs_1099Misc'
AccountCapabilitiesTaxReportingUs_1099Misc'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesTaxReportingUs_1099Misc'
AccountCapabilitiesTaxReportingUs_1099Misc'Other Value
val
      )

-- | Defines the enum schema located at @components.schemas.account_capabilities.properties.transfers@ in the specification.
--
-- The status of the transfers capability of the account, or whether your platform can transfer funds to the account.
data AccountCapabilitiesTransfers'
  = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
    AccountCapabilitiesTransfers'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.
    AccountCapabilitiesTransfers'Typed Data.Text.Internal.Text
  | -- | Represents the JSON value @"active"@
    AccountCapabilitiesTransfers'EnumActive
  | -- | Represents the JSON value @"inactive"@
    AccountCapabilitiesTransfers'EnumInactive
  | -- | Represents the JSON value @"pending"@
    AccountCapabilitiesTransfers'EnumPending
  deriving (Int -> AccountCapabilitiesTransfers' -> ShowS
[AccountCapabilitiesTransfers'] -> ShowS
AccountCapabilitiesTransfers' -> String
(Int -> AccountCapabilitiesTransfers' -> ShowS)
-> (AccountCapabilitiesTransfers' -> String)
-> ([AccountCapabilitiesTransfers'] -> ShowS)
-> Show AccountCapabilitiesTransfers'
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [AccountCapabilitiesTransfers'] -> ShowS
$cshowList :: [AccountCapabilitiesTransfers'] -> ShowS
show :: AccountCapabilitiesTransfers' -> String
$cshow :: AccountCapabilitiesTransfers' -> String
showsPrec :: Int -> AccountCapabilitiesTransfers' -> ShowS
$cshowsPrec :: Int -> AccountCapabilitiesTransfers' -> ShowS
GHC.Show.Show, AccountCapabilitiesTransfers'
-> AccountCapabilitiesTransfers' -> Bool
(AccountCapabilitiesTransfers'
 -> AccountCapabilitiesTransfers' -> Bool)
-> (AccountCapabilitiesTransfers'
    -> AccountCapabilitiesTransfers' -> Bool)
-> Eq AccountCapabilitiesTransfers'
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: AccountCapabilitiesTransfers'
-> AccountCapabilitiesTransfers' -> Bool
$c/= :: AccountCapabilitiesTransfers'
-> AccountCapabilitiesTransfers' -> Bool
== :: AccountCapabilitiesTransfers'
-> AccountCapabilitiesTransfers' -> Bool
$c== :: AccountCapabilitiesTransfers'
-> AccountCapabilitiesTransfers' -> Bool
GHC.Classes.Eq)

instance Data.Aeson.Types.ToJSON.ToJSON AccountCapabilitiesTransfers' where
  toJSON :: AccountCapabilitiesTransfers' -> Value
toJSON (AccountCapabilitiesTransfers'Other Value
val) = Value
val
  toJSON (AccountCapabilitiesTransfers'Typed Text
val) = Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Text
val
  toJSON (AccountCapabilitiesTransfers'
AccountCapabilitiesTransfers'EnumActive) = Value
"active"
  toJSON (AccountCapabilitiesTransfers'
AccountCapabilitiesTransfers'EnumInactive) = Value
"inactive"
  toJSON (AccountCapabilitiesTransfers'
AccountCapabilitiesTransfers'EnumPending) = Value
"pending"

instance Data.Aeson.Types.FromJSON.FromJSON AccountCapabilitiesTransfers' where
  parseJSON :: Value -> Parser AccountCapabilitiesTransfers'
parseJSON Value
val =
    AccountCapabilitiesTransfers'
-> Parser AccountCapabilitiesTransfers'
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
"active" -> AccountCapabilitiesTransfers'
AccountCapabilitiesTransfers'EnumActive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"inactive" -> AccountCapabilitiesTransfers'
AccountCapabilitiesTransfers'EnumInactive
            | Value
val Value -> Value -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Value
"pending" -> AccountCapabilitiesTransfers'
AccountCapabilitiesTransfers'EnumPending
            | Bool
GHC.Base.otherwise -> Value -> AccountCapabilitiesTransfers'
AccountCapabilitiesTransfers'Other Value
val
      )