{-# 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 SourceTypeKlarna
module StripeAPI.Types.SourceTypeKlarna 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.source_type_klarna@ in the specification.
data SourceTypeKlarna = SourceTypeKlarna
  { -- | background_image_url
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaBackgroundImageUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | client_token
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaClientToken :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | first_name
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaFirstName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | last_name
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLastName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | locale
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLocale :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | logo_url
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLogoUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | page_title
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPageTitle :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_later_asset_urls_descriptive
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterAssetUrlsDescriptive :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_later_asset_urls_standard
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterAssetUrlsStandard :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_later_name
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_later_redirect_url
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterRedirectUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_now_asset_urls_descriptive
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowAssetUrlsDescriptive :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_now_asset_urls_standard
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowAssetUrlsStandard :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_now_name
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_now_redirect_url
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowRedirectUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_over_time_asset_urls_descriptive
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeAssetUrlsDescriptive :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_over_time_asset_urls_standard
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeAssetUrlsStandard :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_over_time_name
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | pay_over_time_redirect_url
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeRedirectUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | payment_method_categories
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPaymentMethodCategories :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | purchase_country
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPurchaseCountry :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | purchase_type
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPurchaseType :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | redirect_url
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaRedirectUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_delay
    SourceTypeKlarna -> Maybe Int
sourceTypeKlarnaShippingDelay :: (GHC.Maybe.Maybe GHC.Types.Int),
    -- | shipping_first_name
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaShippingFirstName :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
    -- | shipping_last_name
    SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaShippingLastName :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
  }
  deriving
    ( Int -> SourceTypeKlarna -> ShowS
[SourceTypeKlarna] -> ShowS
SourceTypeKlarna -> String
(Int -> SourceTypeKlarna -> ShowS)
-> (SourceTypeKlarna -> String)
-> ([SourceTypeKlarna] -> ShowS)
-> Show SourceTypeKlarna
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [SourceTypeKlarna] -> ShowS
$cshowList :: [SourceTypeKlarna] -> ShowS
show :: SourceTypeKlarna -> String
$cshow :: SourceTypeKlarna -> String
showsPrec :: Int -> SourceTypeKlarna -> ShowS
$cshowsPrec :: Int -> SourceTypeKlarna -> ShowS
GHC.Show.Show,
      SourceTypeKlarna -> SourceTypeKlarna -> Bool
(SourceTypeKlarna -> SourceTypeKlarna -> Bool)
-> (SourceTypeKlarna -> SourceTypeKlarna -> Bool)
-> Eq SourceTypeKlarna
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: SourceTypeKlarna -> SourceTypeKlarna -> Bool
$c/= :: SourceTypeKlarna -> SourceTypeKlarna -> Bool
== :: SourceTypeKlarna -> SourceTypeKlarna -> Bool
$c== :: SourceTypeKlarna -> SourceTypeKlarna -> Bool
GHC.Classes.Eq
    )

instance Data.Aeson.Types.ToJSON.ToJSON SourceTypeKlarna where
  toJSON :: SourceTypeKlarna -> Value
toJSON SourceTypeKlarna
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"background_image_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaBackgroundImageUrl SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"client_token" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaClientToken SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"first_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaFirstName SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"last_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLastName SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"locale" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLocale SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"logo_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLogoUrl SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"page_title" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPageTitle SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_later_asset_urls_descriptive" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterAssetUrlsDescriptive SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_later_asset_urls_standard" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterAssetUrlsStandard SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_later_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterName SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_later_redirect_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterRedirectUrl SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_now_asset_urls_descriptive" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowAssetUrlsDescriptive SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_now_asset_urls_standard" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowAssetUrlsStandard SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_now_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowName SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_now_redirect_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowRedirectUrl SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_over_time_asset_urls_descriptive" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeAssetUrlsDescriptive SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_over_time_asset_urls_standard" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeAssetUrlsStandard SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_over_time_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeName SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"pay_over_time_redirect_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeRedirectUrl SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"payment_method_categories" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPaymentMethodCategories SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"purchase_country" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPurchaseCountry SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"purchase_type" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPurchaseType SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"redirect_url" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaRedirectUrl SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_delay" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Int
sourceTypeKlarnaShippingDelay SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_first_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaShippingFirstName SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"shipping_last_name" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaShippingLastName SourceTypeKlarna
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
  toEncoding :: SourceTypeKlarna -> Encoding
toEncoding SourceTypeKlarna
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"background_image_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaBackgroundImageUrl SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"client_token" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaClientToken SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"first_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaFirstName SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"last_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLastName SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"locale" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLocale SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"logo_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaLogoUrl SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"page_title" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPageTitle SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_later_asset_urls_descriptive" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterAssetUrlsDescriptive SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_later_asset_urls_standard" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterAssetUrlsStandard SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_later_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterName SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_later_redirect_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayLaterRedirectUrl SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_now_asset_urls_descriptive" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowAssetUrlsDescriptive SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_now_asset_urls_standard" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowAssetUrlsStandard SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_now_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowName SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_now_redirect_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayNowRedirectUrl SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_over_time_asset_urls_descriptive" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeAssetUrlsDescriptive SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_over_time_asset_urls_standard" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeAssetUrlsStandard SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_over_time_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeName SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"pay_over_time_redirect_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPayOverTimeRedirectUrl SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"payment_method_categories" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPaymentMethodCategories SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"purchase_country" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPurchaseCountry SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"purchase_type" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaPurchaseType SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"redirect_url" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaRedirectUrl SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping_delay" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Int
sourceTypeKlarnaShippingDelay SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"shipping_first_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaShippingFirstName SourceTypeKlarna
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"shipping_last_name" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= SourceTypeKlarna -> Maybe Text
sourceTypeKlarnaShippingLastName SourceTypeKlarna
obj))))))))))))))))))))))))))

instance Data.Aeson.Types.FromJSON.FromJSON SourceTypeKlarna where
  parseJSON :: Value -> Parser SourceTypeKlarna
parseJSON = String
-> (Object -> Parser SourceTypeKlarna)
-> Value
-> Parser SourceTypeKlarna
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"SourceTypeKlarna" (\Object
obj -> ((((((((((((((((((((((((((Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Int
 -> Maybe Text
 -> Maybe Text
 -> SourceTypeKlarna)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> SourceTypeKlarna
SourceTypeKlarna Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"background_image_url")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"client_token")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"first_name")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"last_name")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"locale")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"logo_url")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"page_title")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_later_asset_urls_descriptive")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_later_asset_urls_standard")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_later_name")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_later_redirect_url")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_now_asset_urls_descriptive")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_now_asset_urls_standard")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_now_name")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_now_redirect_url")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_over_time_asset_urls_descriptive")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_over_time_asset_urls_standard")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_over_time_name")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"pay_over_time_redirect_url")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"payment_method_categories")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Int
      -> Maybe Text
      -> Maybe Text
      -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"purchase_country")) Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Int
   -> Maybe Text
   -> Maybe Text
   -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Int -> Maybe Text -> Maybe Text -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"purchase_type")) Parser
  (Maybe Text
   -> Maybe Int -> Maybe Text -> Maybe Text -> SourceTypeKlarna)
-> Parser (Maybe Text)
-> Parser
     (Maybe Int -> Maybe Text -> Maybe Text -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"redirect_url")) Parser (Maybe Int -> Maybe Text -> Maybe Text -> SourceTypeKlarna)
-> Parser (Maybe Int)
-> Parser (Maybe Text -> Maybe Text -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"shipping_delay")) Parser (Maybe Text -> Maybe Text -> SourceTypeKlarna)
-> Parser (Maybe Text) -> Parser (Maybe Text -> SourceTypeKlarna)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"shipping_first_name")) Parser (Maybe Text -> SourceTypeKlarna)
-> Parser (Maybe Text) -> Parser SourceTypeKlarna
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"shipping_last_name"))

-- | Create a new 'SourceTypeKlarna' with all required fields.
mkSourceTypeKlarna :: SourceTypeKlarna
mkSourceTypeKlarna :: SourceTypeKlarna
mkSourceTypeKlarna =
  SourceTypeKlarna :: Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Int
-> Maybe Text
-> Maybe Text
-> SourceTypeKlarna
SourceTypeKlarna
    { sourceTypeKlarnaBackgroundImageUrl :: Maybe Text
sourceTypeKlarnaBackgroundImageUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaClientToken :: Maybe Text
sourceTypeKlarnaClientToken = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaFirstName :: Maybe Text
sourceTypeKlarnaFirstName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaLastName :: Maybe Text
sourceTypeKlarnaLastName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaLocale :: Maybe Text
sourceTypeKlarnaLocale = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaLogoUrl :: Maybe Text
sourceTypeKlarnaLogoUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPageTitle :: Maybe Text
sourceTypeKlarnaPageTitle = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayLaterAssetUrlsDescriptive :: Maybe Text
sourceTypeKlarnaPayLaterAssetUrlsDescriptive = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayLaterAssetUrlsStandard :: Maybe Text
sourceTypeKlarnaPayLaterAssetUrlsStandard = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayLaterName :: Maybe Text
sourceTypeKlarnaPayLaterName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayLaterRedirectUrl :: Maybe Text
sourceTypeKlarnaPayLaterRedirectUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayNowAssetUrlsDescriptive :: Maybe Text
sourceTypeKlarnaPayNowAssetUrlsDescriptive = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayNowAssetUrlsStandard :: Maybe Text
sourceTypeKlarnaPayNowAssetUrlsStandard = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayNowName :: Maybe Text
sourceTypeKlarnaPayNowName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayNowRedirectUrl :: Maybe Text
sourceTypeKlarnaPayNowRedirectUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayOverTimeAssetUrlsDescriptive :: Maybe Text
sourceTypeKlarnaPayOverTimeAssetUrlsDescriptive = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayOverTimeAssetUrlsStandard :: Maybe Text
sourceTypeKlarnaPayOverTimeAssetUrlsStandard = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayOverTimeName :: Maybe Text
sourceTypeKlarnaPayOverTimeName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPayOverTimeRedirectUrl :: Maybe Text
sourceTypeKlarnaPayOverTimeRedirectUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPaymentMethodCategories :: Maybe Text
sourceTypeKlarnaPaymentMethodCategories = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPurchaseCountry :: Maybe Text
sourceTypeKlarnaPurchaseCountry = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaPurchaseType :: Maybe Text
sourceTypeKlarnaPurchaseType = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaRedirectUrl :: Maybe Text
sourceTypeKlarnaRedirectUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaShippingDelay :: Maybe Int
sourceTypeKlarnaShippingDelay = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaShippingFirstName :: Maybe Text
sourceTypeKlarnaShippingFirstName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
      sourceTypeKlarnaShippingLastName :: Maybe Text
sourceTypeKlarnaShippingLastName = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
    }