{-# 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 PaymentMethodDetails
module StripeAPI.Types.PaymentMethodDetails where

import qualified Control.Monad.Fail
import qualified Data.Aeson
import qualified Data.Aeson as Data.Aeson.Encoding.Internal
import qualified Data.Aeson as Data.Aeson.Types
import qualified Data.Aeson as Data.Aeson.Types.FromJSON
import qualified Data.Aeson as Data.Aeson.Types.Internal
import qualified Data.Aeson as Data.Aeson.Types.ToJSON
import qualified Data.ByteString.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
import qualified Data.Functor
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text.Internal
import qualified Data.Time.Calendar as Data.Time.Calendar.Days
import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified StripeAPI.Common
import StripeAPI.TypeAlias
import {-# SOURCE #-} StripeAPI.Types.PaymentFlowsPrivatePaymentMethodsAlipayDetails
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsAchCreditTransfer
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsAchDebit
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsAcssDebit
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsAfterpayClearpay
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsAuBecsDebit
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsBacsDebit
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsBancontact
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsBoleto
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsCard
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsCardPresent
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsEps
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsFpx
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsGiropay
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsGrabpay
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsIdeal
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsInteracPresent
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsMultibanco
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsOxxo
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsP24
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsSepaDebit
import {-# SOURCE #-} StripeAPI.Types.PaymentMethodDetailsSofort
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe

-- | Defines the object schema located at @components.schemas.payment_method_details@ in the specification.
data PaymentMethodDetails = PaymentMethodDetails
  { -- | ach_credit_transfer:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsAchCreditTransfer
paymentMethodDetailsAchCreditTransfer :: (GHC.Maybe.Maybe PaymentMethodDetailsAchCreditTransfer),
    -- | ach_debit:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsAchDebit
paymentMethodDetailsAchDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsAchDebit),
    -- | acss_debit:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsAcssDebit
paymentMethodDetailsAcssDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsAcssDebit),
    -- | afterpay_clearpay:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsAfterpayClearpay
paymentMethodDetailsAfterpayClearpay :: (GHC.Maybe.Maybe PaymentMethodDetailsAfterpayClearpay),
    -- | alipay:
    PaymentMethodDetails
-> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
paymentMethodDetailsAlipay :: (GHC.Maybe.Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails),
    -- | au_becs_debit:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsAuBecsDebit
paymentMethodDetailsAuBecsDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsAuBecsDebit),
    -- | bacs_debit:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsBacsDebit
paymentMethodDetailsBacsDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsBacsDebit),
    -- | bancontact:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsBancontact
paymentMethodDetailsBancontact :: (GHC.Maybe.Maybe PaymentMethodDetailsBancontact),
    -- | boleto:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsBoleto
paymentMethodDetailsBoleto :: (GHC.Maybe.Maybe PaymentMethodDetailsBoleto),
    -- | card:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsCard
paymentMethodDetailsCard :: (GHC.Maybe.Maybe PaymentMethodDetailsCard),
    -- | card_present:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsCardPresent
paymentMethodDetailsCardPresent :: (GHC.Maybe.Maybe PaymentMethodDetailsCardPresent),
    -- | eps:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsEps
paymentMethodDetailsEps :: (GHC.Maybe.Maybe PaymentMethodDetailsEps),
    -- | fpx:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsFpx
paymentMethodDetailsFpx :: (GHC.Maybe.Maybe PaymentMethodDetailsFpx),
    -- | giropay:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsGiropay
paymentMethodDetailsGiropay :: (GHC.Maybe.Maybe PaymentMethodDetailsGiropay),
    -- | grabpay:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsGrabpay
paymentMethodDetailsGrabpay :: (GHC.Maybe.Maybe PaymentMethodDetailsGrabpay),
    -- | ideal:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsIdeal
paymentMethodDetailsIdeal :: (GHC.Maybe.Maybe PaymentMethodDetailsIdeal),
    -- | interac_present:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsInteracPresent
paymentMethodDetailsInteracPresent :: (GHC.Maybe.Maybe PaymentMethodDetailsInteracPresent),
    -- | klarna:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsKlarna :: (GHC.Maybe.Maybe PaymentMethodDetailsKlarna),
    -- | multibanco:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsMultibanco
paymentMethodDetailsMultibanco :: (GHC.Maybe.Maybe PaymentMethodDetailsMultibanco),
    -- | oxxo:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsOxxo
paymentMethodDetailsOxxo :: (GHC.Maybe.Maybe PaymentMethodDetailsOxxo),
    -- | p24:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsP24
paymentMethodDetailsP24 :: (GHC.Maybe.Maybe PaymentMethodDetailsP24),
    -- | sepa_debit:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsSepaDebit
paymentMethodDetailsSepaDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsSepaDebit),
    -- | sofort:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsSofort
paymentMethodDetailsSofort :: (GHC.Maybe.Maybe PaymentMethodDetailsSofort),
    -- | stripe_account:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsStripeAccount :: (GHC.Maybe.Maybe PaymentMethodDetailsStripeAccount),
    -- | type: The type of transaction-specific details of the payment method used in the payment, one of \`ach_credit_transfer\`, \`ach_debit\`, \`acss_debit\`, \`alipay\`, \`au_becs_debit\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`klarna\`, \`multibanco\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`stripe_account\`, or \`wechat\`.
    -- An additional hash is included on \`payment_method_details\` with a name matching this value.
    -- It contains information specific to the payment method.
    --
    -- Constraints:
    --
    -- * Maximum length of 5000
    PaymentMethodDetails -> Text
paymentMethodDetailsType :: Data.Text.Internal.Text,
    -- | wechat:
    PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsWechat :: (GHC.Maybe.Maybe PaymentMethodDetailsWechat)
  }
  deriving
    ( Int -> PaymentMethodDetails -> ShowS
[PaymentMethodDetails] -> ShowS
PaymentMethodDetails -> String
(Int -> PaymentMethodDetails -> ShowS)
-> (PaymentMethodDetails -> String)
-> ([PaymentMethodDetails] -> ShowS)
-> Show PaymentMethodDetails
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PaymentMethodDetails] -> ShowS
$cshowList :: [PaymentMethodDetails] -> ShowS
show :: PaymentMethodDetails -> String
$cshow :: PaymentMethodDetails -> String
showsPrec :: Int -> PaymentMethodDetails -> ShowS
$cshowsPrec :: Int -> PaymentMethodDetails -> ShowS
GHC.Show.Show,
      PaymentMethodDetails -> PaymentMethodDetails -> Bool
(PaymentMethodDetails -> PaymentMethodDetails -> Bool)
-> (PaymentMethodDetails -> PaymentMethodDetails -> Bool)
-> Eq PaymentMethodDetails
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PaymentMethodDetails -> PaymentMethodDetails -> Bool
$c/= :: PaymentMethodDetails -> PaymentMethodDetails -> Bool
== :: PaymentMethodDetails -> PaymentMethodDetails -> Bool
$c== :: PaymentMethodDetails -> PaymentMethodDetails -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON PaymentMethodDetails where
  toJSON :: PaymentMethodDetails -> Value
toJSON PaymentMethodDetails
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"ach_credit_transfer" Text -> Maybe PaymentMethodDetailsAchCreditTransfer -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAchCreditTransfer
paymentMethodDetailsAchCreditTransfer PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ach_debit" Text -> Maybe PaymentMethodDetailsAchDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAchDebit
paymentMethodDetailsAchDebit PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"acss_debit" Text -> Maybe PaymentMethodDetailsAcssDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAcssDebit
paymentMethodDetailsAcssDebit PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"afterpay_clearpay" Text -> Maybe PaymentMethodDetailsAfterpayClearpay -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAfterpayClearpay
paymentMethodDetailsAfterpayClearpay PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"alipay" Text
-> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails
-> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
paymentMethodDetailsAlipay PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"au_becs_debit" Text -> Maybe PaymentMethodDetailsAuBecsDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAuBecsDebit
paymentMethodDetailsAuBecsDebit PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bacs_debit" Text -> Maybe PaymentMethodDetailsBacsDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsBacsDebit
paymentMethodDetailsBacsDebit PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"bancontact" Text -> Maybe PaymentMethodDetailsBancontact -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsBancontact
paymentMethodDetailsBancontact PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"boleto" Text -> Maybe PaymentMethodDetailsBoleto -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsBoleto
paymentMethodDetailsBoleto PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card" Text -> Maybe PaymentMethodDetailsCard -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsCard
paymentMethodDetailsCard PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"card_present" Text -> Maybe PaymentMethodDetailsCardPresent -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsCardPresent
paymentMethodDetailsCardPresent PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"eps" Text -> Maybe PaymentMethodDetailsEps -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsEps
paymentMethodDetailsEps PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"fpx" Text -> Maybe PaymentMethodDetailsFpx -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsFpx
paymentMethodDetailsFpx PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"giropay" Text -> Maybe PaymentMethodDetailsGiropay -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsGiropay
paymentMethodDetailsGiropay PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"grabpay" Text -> Maybe PaymentMethodDetailsGrabpay -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsGrabpay
paymentMethodDetailsGrabpay PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"ideal" Text -> Maybe PaymentMethodDetailsIdeal -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsIdeal
paymentMethodDetailsIdeal PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"interac_present" Text -> Maybe PaymentMethodDetailsInteracPresent -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsInteracPresent
paymentMethodDetailsInteracPresent PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"klarna" Text -> Maybe PaymentMethodDetailsKlarna -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsKlarna PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"multibanco" Text -> Maybe PaymentMethodDetailsMultibanco -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsMultibanco
paymentMethodDetailsMultibanco PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"oxxo" Text -> Maybe PaymentMethodDetailsOxxo -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsOxxo
paymentMethodDetailsOxxo PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"p24" Text -> Maybe PaymentMethodDetailsP24 -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsP24
paymentMethodDetailsP24 PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sepa_debit" Text -> Maybe PaymentMethodDetailsSepaDebit -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsSepaDebit
paymentMethodDetailsSepaDebit PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"sofort" Text -> Maybe PaymentMethodDetailsSofort -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsSofort
paymentMethodDetailsSofort PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"stripe_account" Text -> Maybe PaymentMethodDetailsKlarna -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsStripeAccount PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"type" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Text
paymentMethodDetailsType PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"wechat" Text -> Maybe PaymentMethodDetailsKlarna -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsWechat PaymentMethodDetails
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: PaymentMethodDetails -> Encoding
toEncoding PaymentMethodDetails
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"ach_credit_transfer" Text -> Maybe PaymentMethodDetailsAchCreditTransfer -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAchCreditTransfer
paymentMethodDetailsAchCreditTransfer PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ach_debit" Text -> Maybe PaymentMethodDetailsAchDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAchDebit
paymentMethodDetailsAchDebit PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"acss_debit" Text -> Maybe PaymentMethodDetailsAcssDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAcssDebit
paymentMethodDetailsAcssDebit PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"afterpay_clearpay" Text -> Maybe PaymentMethodDetailsAfterpayClearpay -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAfterpayClearpay
paymentMethodDetailsAfterpayClearpay PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"alipay" Text
-> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails
-> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
paymentMethodDetailsAlipay PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"au_becs_debit" Text -> Maybe PaymentMethodDetailsAuBecsDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsAuBecsDebit
paymentMethodDetailsAuBecsDebit PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bacs_debit" Text -> Maybe PaymentMethodDetailsBacsDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsBacsDebit
paymentMethodDetailsBacsDebit PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"bancontact" Text -> Maybe PaymentMethodDetailsBancontact -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsBancontact
paymentMethodDetailsBancontact PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"boleto" Text -> Maybe PaymentMethodDetailsBoleto -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsBoleto
paymentMethodDetailsBoleto PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card" Text -> Maybe PaymentMethodDetailsCard -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsCard
paymentMethodDetailsCard PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"card_present" Text -> Maybe PaymentMethodDetailsCardPresent -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsCardPresent
paymentMethodDetailsCardPresent PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"eps" Text -> Maybe PaymentMethodDetailsEps -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsEps
paymentMethodDetailsEps PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"fpx" Text -> Maybe PaymentMethodDetailsFpx -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsFpx
paymentMethodDetailsFpx PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"giropay" Text -> Maybe PaymentMethodDetailsGiropay -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsGiropay
paymentMethodDetailsGiropay PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"grabpay" Text -> Maybe PaymentMethodDetailsGrabpay -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsGrabpay
paymentMethodDetailsGrabpay PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"ideal" Text -> Maybe PaymentMethodDetailsIdeal -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsIdeal
paymentMethodDetailsIdeal PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"interac_present" Text -> Maybe PaymentMethodDetailsInteracPresent -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsInteracPresent
paymentMethodDetailsInteracPresent PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"klarna" Text -> Maybe PaymentMethodDetailsKlarna -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsKlarna PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"multibanco" Text -> Maybe PaymentMethodDetailsMultibanco -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsMultibanco
paymentMethodDetailsMultibanco PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"oxxo" Text -> Maybe PaymentMethodDetailsOxxo -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsOxxo
paymentMethodDetailsOxxo PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"p24" Text -> Maybe PaymentMethodDetailsP24 -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsP24
paymentMethodDetailsP24 PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sepa_debit" Text -> Maybe PaymentMethodDetailsSepaDebit -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsSepaDebit
paymentMethodDetailsSepaDebit PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"sofort" Text -> Maybe PaymentMethodDetailsSofort -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsSofort
paymentMethodDetailsSofort PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"stripe_account" Text -> Maybe PaymentMethodDetailsKlarna -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsStripeAccount PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"type" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Text
paymentMethodDetailsType PaymentMethodDetails
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"wechat" Text -> Maybe PaymentMethodDetailsKlarna -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= PaymentMethodDetails -> Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsWechat PaymentMethodDetails
obj))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetails where
  parseJSON :: Value -> Parser PaymentMethodDetails
parseJSON = String
-> (PaymentMethodDetailsKlarna -> Parser PaymentMethodDetails)
-> Value
-> Parser PaymentMethodDetails
forall a.
String
-> (PaymentMethodDetailsKlarna -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"PaymentMethodDetails" (\PaymentMethodDetailsKlarna
obj -> ((((((((((((((((((((((((((Maybe PaymentMethodDetailsAchCreditTransfer
 -> Maybe PaymentMethodDetailsAchDebit
 -> Maybe PaymentMethodDetailsAcssDebit
 -> Maybe PaymentMethodDetailsAfterpayClearpay
 -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
 -> Maybe PaymentMethodDetailsAuBecsDebit
 -> Maybe PaymentMethodDetailsBacsDebit
 -> Maybe PaymentMethodDetailsBancontact
 -> Maybe PaymentMethodDetailsBoleto
 -> Maybe PaymentMethodDetailsCard
 -> Maybe PaymentMethodDetailsCardPresent
 -> Maybe PaymentMethodDetailsEps
 -> Maybe PaymentMethodDetailsFpx
 -> Maybe PaymentMethodDetailsGiropay
 -> Maybe PaymentMethodDetailsGrabpay
 -> Maybe PaymentMethodDetailsIdeal
 -> Maybe PaymentMethodDetailsInteracPresent
 -> Maybe PaymentMethodDetailsKlarna
 -> Maybe PaymentMethodDetailsMultibanco
 -> Maybe PaymentMethodDetailsOxxo
 -> Maybe PaymentMethodDetailsP24
 -> Maybe PaymentMethodDetailsSepaDebit
 -> Maybe PaymentMethodDetailsSofort
 -> Maybe PaymentMethodDetailsKlarna
 -> Text
 -> Maybe PaymentMethodDetailsKlarna
 -> PaymentMethodDetails)
-> Parser
     (Maybe PaymentMethodDetailsAchCreditTransfer
      -> Maybe PaymentMethodDetailsAchDebit
      -> Maybe PaymentMethodDetailsAcssDebit
      -> Maybe PaymentMethodDetailsAfterpayClearpay
      -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
      -> Maybe PaymentMethodDetailsAuBecsDebit
      -> Maybe PaymentMethodDetailsBacsDebit
      -> Maybe PaymentMethodDetailsBancontact
      -> Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe PaymentMethodDetailsAchCreditTransfer
-> Maybe PaymentMethodDetailsAchDebit
-> Maybe PaymentMethodDetailsAcssDebit
-> Maybe PaymentMethodDetailsAfterpayClearpay
-> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
-> Maybe PaymentMethodDetailsAuBecsDebit
-> Maybe PaymentMethodDetailsBacsDebit
-> Maybe PaymentMethodDetailsBancontact
-> Maybe PaymentMethodDetailsBoleto
-> Maybe PaymentMethodDetailsCard
-> Maybe PaymentMethodDetailsCardPresent
-> Maybe PaymentMethodDetailsEps
-> Maybe PaymentMethodDetailsFpx
-> Maybe PaymentMethodDetailsGiropay
-> Maybe PaymentMethodDetailsGrabpay
-> Maybe PaymentMethodDetailsIdeal
-> Maybe PaymentMethodDetailsInteracPresent
-> Maybe PaymentMethodDetailsKlarna
-> Maybe PaymentMethodDetailsMultibanco
-> Maybe PaymentMethodDetailsOxxo
-> Maybe PaymentMethodDetailsP24
-> Maybe PaymentMethodDetailsSepaDebit
-> Maybe PaymentMethodDetailsSofort
-> Maybe PaymentMethodDetailsKlarna
-> Text
-> Maybe PaymentMethodDetailsKlarna
-> PaymentMethodDetails
PaymentMethodDetails Parser
  (Maybe PaymentMethodDetailsAchCreditTransfer
   -> Maybe PaymentMethodDetailsAchDebit
   -> Maybe PaymentMethodDetailsAcssDebit
   -> Maybe PaymentMethodDetailsAfterpayClearpay
   -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
   -> Maybe PaymentMethodDetailsAuBecsDebit
   -> Maybe PaymentMethodDetailsBacsDebit
   -> Maybe PaymentMethodDetailsBancontact
   -> Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsAchCreditTransfer)
-> Parser
     (Maybe PaymentMethodDetailsAchDebit
      -> Maybe PaymentMethodDetailsAcssDebit
      -> Maybe PaymentMethodDetailsAfterpayClearpay
      -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
      -> Maybe PaymentMethodDetailsAuBecsDebit
      -> Maybe PaymentMethodDetailsBacsDebit
      -> Maybe PaymentMethodDetailsBancontact
      -> Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsAchCreditTransfer)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ach_credit_transfer")) Parser
  (Maybe PaymentMethodDetailsAchDebit
   -> Maybe PaymentMethodDetailsAcssDebit
   -> Maybe PaymentMethodDetailsAfterpayClearpay
   -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
   -> Maybe PaymentMethodDetailsAuBecsDebit
   -> Maybe PaymentMethodDetailsBacsDebit
   -> Maybe PaymentMethodDetailsBancontact
   -> Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsAchDebit)
-> Parser
     (Maybe PaymentMethodDetailsAcssDebit
      -> Maybe PaymentMethodDetailsAfterpayClearpay
      -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
      -> Maybe PaymentMethodDetailsAuBecsDebit
      -> Maybe PaymentMethodDetailsBacsDebit
      -> Maybe PaymentMethodDetailsBancontact
      -> Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsAchDebit)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ach_debit")) Parser
  (Maybe PaymentMethodDetailsAcssDebit
   -> Maybe PaymentMethodDetailsAfterpayClearpay
   -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
   -> Maybe PaymentMethodDetailsAuBecsDebit
   -> Maybe PaymentMethodDetailsBacsDebit
   -> Maybe PaymentMethodDetailsBancontact
   -> Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsAcssDebit)
-> Parser
     (Maybe PaymentMethodDetailsAfterpayClearpay
      -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
      -> Maybe PaymentMethodDetailsAuBecsDebit
      -> Maybe PaymentMethodDetailsBacsDebit
      -> Maybe PaymentMethodDetailsBancontact
      -> Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsAcssDebit)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"acss_debit")) Parser
  (Maybe PaymentMethodDetailsAfterpayClearpay
   -> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
   -> Maybe PaymentMethodDetailsAuBecsDebit
   -> Maybe PaymentMethodDetailsBacsDebit
   -> Maybe PaymentMethodDetailsBancontact
   -> Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsAfterpayClearpay)
-> Parser
     (Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
      -> Maybe PaymentMethodDetailsAuBecsDebit
      -> Maybe PaymentMethodDetailsBacsDebit
      -> Maybe PaymentMethodDetailsBancontact
      -> Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsAfterpayClearpay)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"afterpay_clearpay")) Parser
  (Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
   -> Maybe PaymentMethodDetailsAuBecsDebit
   -> Maybe PaymentMethodDetailsBacsDebit
   -> Maybe PaymentMethodDetailsBancontact
   -> Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails)
-> Parser
     (Maybe PaymentMethodDetailsAuBecsDebit
      -> Maybe PaymentMethodDetailsBacsDebit
      -> Maybe PaymentMethodDetailsBancontact
      -> Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text
-> Parser (Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"alipay")) Parser
  (Maybe PaymentMethodDetailsAuBecsDebit
   -> Maybe PaymentMethodDetailsBacsDebit
   -> Maybe PaymentMethodDetailsBancontact
   -> Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsAuBecsDebit)
-> Parser
     (Maybe PaymentMethodDetailsBacsDebit
      -> Maybe PaymentMethodDetailsBancontact
      -> Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsAuBecsDebit)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"au_becs_debit")) Parser
  (Maybe PaymentMethodDetailsBacsDebit
   -> Maybe PaymentMethodDetailsBancontact
   -> Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsBacsDebit)
-> Parser
     (Maybe PaymentMethodDetailsBancontact
      -> Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsBacsDebit)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bacs_debit")) Parser
  (Maybe PaymentMethodDetailsBancontact
   -> Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsBancontact)
-> Parser
     (Maybe PaymentMethodDetailsBoleto
      -> Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsBancontact)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"bancontact")) Parser
  (Maybe PaymentMethodDetailsBoleto
   -> Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsBoleto)
-> Parser
     (Maybe PaymentMethodDetailsCard
      -> Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsBoleto)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"boleto")) Parser
  (Maybe PaymentMethodDetailsCard
   -> Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsCard)
-> Parser
     (Maybe PaymentMethodDetailsCardPresent
      -> Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsCard)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card")) Parser
  (Maybe PaymentMethodDetailsCardPresent
   -> Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsCardPresent)
-> Parser
     (Maybe PaymentMethodDetailsEps
      -> Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsCardPresent)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"card_present")) Parser
  (Maybe PaymentMethodDetailsEps
   -> Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsEps)
-> Parser
     (Maybe PaymentMethodDetailsFpx
      -> Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsEps)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"eps")) Parser
  (Maybe PaymentMethodDetailsFpx
   -> Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsFpx)
-> Parser
     (Maybe PaymentMethodDetailsGiropay
      -> Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsFpx)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"fpx")) Parser
  (Maybe PaymentMethodDetailsGiropay
   -> Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsGiropay)
-> Parser
     (Maybe PaymentMethodDetailsGrabpay
      -> Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsGiropay)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"giropay")) Parser
  (Maybe PaymentMethodDetailsGrabpay
   -> Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsGrabpay)
-> Parser
     (Maybe PaymentMethodDetailsIdeal
      -> Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsGrabpay)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"grabpay")) Parser
  (Maybe PaymentMethodDetailsIdeal
   -> Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsIdeal)
-> Parser
     (Maybe PaymentMethodDetailsInteracPresent
      -> Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsIdeal)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"ideal")) Parser
  (Maybe PaymentMethodDetailsInteracPresent
   -> Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsInteracPresent)
-> Parser
     (Maybe PaymentMethodDetailsKlarna
      -> Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsInteracPresent)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"interac_present")) Parser
  (Maybe PaymentMethodDetailsKlarna
   -> Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsKlarna)
-> Parser
     (Maybe PaymentMethodDetailsMultibanco
      -> Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsKlarna)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"klarna")) Parser
  (Maybe PaymentMethodDetailsMultibanco
   -> Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsMultibanco)
-> Parser
     (Maybe PaymentMethodDetailsOxxo
      -> Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsMultibanco)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"multibanco")) Parser
  (Maybe PaymentMethodDetailsOxxo
   -> Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsOxxo)
-> Parser
     (Maybe PaymentMethodDetailsP24
      -> Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsOxxo)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"oxxo")) Parser
  (Maybe PaymentMethodDetailsP24
   -> Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsP24)
-> Parser
     (Maybe PaymentMethodDetailsSepaDebit
      -> Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsP24)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"p24")) Parser
  (Maybe PaymentMethodDetailsSepaDebit
   -> Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsSepaDebit)
-> Parser
     (Maybe PaymentMethodDetailsSofort
      -> Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsSepaDebit)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sepa_debit")) Parser
  (Maybe PaymentMethodDetailsSofort
   -> Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsSofort)
-> Parser
     (Maybe PaymentMethodDetailsKlarna
      -> Text
      -> Maybe PaymentMethodDetailsKlarna
      -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsSofort)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"sofort")) Parser
  (Maybe PaymentMethodDetailsKlarna
   -> Text
   -> Maybe PaymentMethodDetailsKlarna
   -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsKlarna)
-> Parser
     (Text -> Maybe PaymentMethodDetailsKlarna -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsKlarna)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"stripe_account")) Parser
  (Text -> Maybe PaymentMethodDetailsKlarna -> PaymentMethodDetails)
-> Parser Text
-> Parser
     (Maybe PaymentMethodDetailsKlarna -> PaymentMethodDetails)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna -> Text -> Parser Text
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"type")) Parser (Maybe PaymentMethodDetailsKlarna -> PaymentMethodDetails)
-> Parser (Maybe PaymentMethodDetailsKlarna)
-> Parser PaymentMethodDetails
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (PaymentMethodDetailsKlarna
obj PaymentMethodDetailsKlarna
-> Text -> Parser (Maybe PaymentMethodDetailsKlarna)
forall a.
FromJSON a =>
PaymentMethodDetailsKlarna -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"wechat"))

-- | Create a new 'PaymentMethodDetails' with all required fields.
mkPaymentMethodDetails ::
  -- | 'paymentMethodDetailsType'
  Data.Text.Internal.Text ->
  PaymentMethodDetails
mkPaymentMethodDetails :: Text -> PaymentMethodDetails
mkPaymentMethodDetails Text
paymentMethodDetailsType =
  PaymentMethodDetails :: Maybe PaymentMethodDetailsAchCreditTransfer
-> Maybe PaymentMethodDetailsAchDebit
-> Maybe PaymentMethodDetailsAcssDebit
-> Maybe PaymentMethodDetailsAfterpayClearpay
-> Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
-> Maybe PaymentMethodDetailsAuBecsDebit
-> Maybe PaymentMethodDetailsBacsDebit
-> Maybe PaymentMethodDetailsBancontact
-> Maybe PaymentMethodDetailsBoleto
-> Maybe PaymentMethodDetailsCard
-> Maybe PaymentMethodDetailsCardPresent
-> Maybe PaymentMethodDetailsEps
-> Maybe PaymentMethodDetailsFpx
-> Maybe PaymentMethodDetailsGiropay
-> Maybe PaymentMethodDetailsGrabpay
-> Maybe PaymentMethodDetailsIdeal
-> Maybe PaymentMethodDetailsInteracPresent
-> Maybe PaymentMethodDetailsKlarna
-> Maybe PaymentMethodDetailsMultibanco
-> Maybe PaymentMethodDetailsOxxo
-> Maybe PaymentMethodDetailsP24
-> Maybe PaymentMethodDetailsSepaDebit
-> Maybe PaymentMethodDetailsSofort
-> Maybe PaymentMethodDetailsKlarna
-> Text
-> Maybe PaymentMethodDetailsKlarna
-> PaymentMethodDetails
PaymentMethodDetails
    { paymentMethodDetailsAchCreditTransfer :: Maybe PaymentMethodDetailsAchCreditTransfer
paymentMethodDetailsAchCreditTransfer = Maybe PaymentMethodDetailsAchCreditTransfer
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsAchDebit :: Maybe PaymentMethodDetailsAchDebit
paymentMethodDetailsAchDebit = Maybe PaymentMethodDetailsAchDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsAcssDebit :: Maybe PaymentMethodDetailsAcssDebit
paymentMethodDetailsAcssDebit = Maybe PaymentMethodDetailsAcssDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsAfterpayClearpay :: Maybe PaymentMethodDetailsAfterpayClearpay
paymentMethodDetailsAfterpayClearpay = Maybe PaymentMethodDetailsAfterpayClearpay
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsAlipay :: Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
paymentMethodDetailsAlipay = Maybe PaymentFlowsPrivatePaymentMethodsAlipayDetails
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsAuBecsDebit :: Maybe PaymentMethodDetailsAuBecsDebit
paymentMethodDetailsAuBecsDebit = Maybe PaymentMethodDetailsAuBecsDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsBacsDebit :: Maybe PaymentMethodDetailsBacsDebit
paymentMethodDetailsBacsDebit = Maybe PaymentMethodDetailsBacsDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsBancontact :: Maybe PaymentMethodDetailsBancontact
paymentMethodDetailsBancontact = Maybe PaymentMethodDetailsBancontact
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsBoleto :: Maybe PaymentMethodDetailsBoleto
paymentMethodDetailsBoleto = Maybe PaymentMethodDetailsBoleto
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsCard :: Maybe PaymentMethodDetailsCard
paymentMethodDetailsCard = Maybe PaymentMethodDetailsCard
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsCardPresent :: Maybe PaymentMethodDetailsCardPresent
paymentMethodDetailsCardPresent = Maybe PaymentMethodDetailsCardPresent
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsEps :: Maybe PaymentMethodDetailsEps
paymentMethodDetailsEps = Maybe PaymentMethodDetailsEps
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsFpx :: Maybe PaymentMethodDetailsFpx
paymentMethodDetailsFpx = Maybe PaymentMethodDetailsFpx
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsGiropay :: Maybe PaymentMethodDetailsGiropay
paymentMethodDetailsGiropay = Maybe PaymentMethodDetailsGiropay
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsGrabpay :: Maybe PaymentMethodDetailsGrabpay
paymentMethodDetailsGrabpay = Maybe PaymentMethodDetailsGrabpay
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsIdeal :: Maybe PaymentMethodDetailsIdeal
paymentMethodDetailsIdeal = Maybe PaymentMethodDetailsIdeal
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsInteracPresent :: Maybe PaymentMethodDetailsInteracPresent
paymentMethodDetailsInteracPresent = Maybe PaymentMethodDetailsInteracPresent
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsKlarna :: Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsKlarna = Maybe PaymentMethodDetailsKlarna
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsMultibanco :: Maybe PaymentMethodDetailsMultibanco
paymentMethodDetailsMultibanco = Maybe PaymentMethodDetailsMultibanco
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsOxxo :: Maybe PaymentMethodDetailsOxxo
paymentMethodDetailsOxxo = Maybe PaymentMethodDetailsOxxo
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsP24 :: Maybe PaymentMethodDetailsP24
paymentMethodDetailsP24 = Maybe PaymentMethodDetailsP24
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsSepaDebit :: Maybe PaymentMethodDetailsSepaDebit
paymentMethodDetailsSepaDebit = Maybe PaymentMethodDetailsSepaDebit
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsSofort :: Maybe PaymentMethodDetailsSofort
paymentMethodDetailsSofort = Maybe PaymentMethodDetailsSofort
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsStripeAccount :: Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsStripeAccount = Maybe PaymentMethodDetailsKlarna
forall a. Maybe a
GHC.Maybe.Nothing,
      paymentMethodDetailsType :: Text
paymentMethodDetailsType = Text
paymentMethodDetailsType,
      paymentMethodDetailsWechat :: Maybe PaymentMethodDetailsKlarna
paymentMethodDetailsWechat = Maybe PaymentMethodDetailsKlarna
forall a. Maybe a
GHC.Maybe.Nothing
    }