{-# 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 Issuing_Card module StripeAPI.Types.Issuing_Card 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.Address import {-# SOURCE #-} StripeAPI.Types.IssuingCardAuthorizationControls import {-# SOURCE #-} StripeAPI.Types.IssuingCardShipping import {-# SOURCE #-} StripeAPI.Types.Issuing_Cardholder import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe -- | Defines the object schema located at @components.schemas.issuing.card@ in the specification. -- -- You can [create physical or virtual cards](https:\/\/stripe.com\/docs\/issuing\/cards) that are issued to cardholders. data Issuing'card = Issuing'card { -- | brand: The brand of the card. -- -- Constraints: -- -- * Maximum length of 5000 issuing'cardBrand :: Data.Text.Internal.Text, -- | cancellation_reason: The reason why the card was canceled. issuing'cardCancellationReason :: (GHC.Maybe.Maybe Issuing'cardCancellationReason'), -- | cardholder: An Issuing \`Cardholder\` object represents an individual or business entity who is [issued](https:\/\/stripe.com\/docs\/issuing) cards. -- -- Related guide: [How to create a Cardholder](https:\/\/stripe.com\/docs\/issuing\/cards\#create-cardholder) issuing'cardCardholder :: Issuing'cardholder, -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. issuing'cardCreated :: GHC.Types.Int, -- | currency: Three-letter [ISO currency code](https:\/\/www.iso.org\/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https:\/\/stripe.com\/docs\/currencies). issuing'cardCurrency :: Data.Text.Internal.Text, -- | cvc: The card\'s CVC. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the \`expand\` parameter](https:\/\/stripe.com\/docs\/api\/expanding_objects). Additionally, it\'s only available via the [\"Retrieve a card\" endpoint](https:\/\/stripe.com\/docs\/api\/issuing\/cards\/retrieve), not via \"List all cards\" or any other endpoint. -- -- Constraints: -- -- * Maximum length of 5000 issuing'cardCvc :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | exp_month: The expiration month of the card. issuing'cardExpMonth :: GHC.Types.Int, -- | exp_year: The expiration year of the card. issuing'cardExpYear :: GHC.Types.Int, -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 issuing'cardId :: Data.Text.Internal.Text, -- | last4: The last 4 digits of the card number. -- -- Constraints: -- -- * Maximum length of 5000 issuing'cardLast4 :: Data.Text.Internal.Text, -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. issuing'cardLivemode :: GHC.Types.Bool, -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. issuing'cardMetadata :: Data.Aeson.Types.Internal.Object, -- | number: The full unredacted card number. For security reasons, this is only available for virtual cards, and will be omitted unless you explicitly request it with [the \`expand\` parameter](https:\/\/stripe.com\/docs\/api\/expanding_objects). Additionally, it\'s only available via the [\"Retrieve a card\" endpoint](https:\/\/stripe.com\/docs\/api\/issuing\/cards\/retrieve), not via \"List all cards\" or any other endpoint. -- -- Constraints: -- -- * Maximum length of 5000 issuing'cardNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | replaced_by: The latest card that replaces this card, if any. issuing'cardReplacedBy :: (GHC.Maybe.Maybe Issuing'cardReplacedBy'Variants), -- | replacement_for: The card this card replaces, if any. issuing'cardReplacementFor :: (GHC.Maybe.Maybe Issuing'cardReplacementFor'Variants), -- | replacement_reason: The reason why the previous card needed to be replaced. issuing'cardReplacementReason :: (GHC.Maybe.Maybe Issuing'cardReplacementReason'), -- | shipping: Where and how the card will be shipped. issuing'cardShipping :: (GHC.Maybe.Maybe Issuing'cardShipping'), -- | spending_controls: issuing'cardSpendingControls :: IssuingCardAuthorizationControls, -- | status: Whether authorizations can be approved on this card. issuing'cardStatus :: Issuing'cardStatus', -- | type: The type of the card. issuing'cardType :: Issuing'cardType' } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'card where toJSON obj = Data.Aeson.Types.Internal.object ("brand" Data.Aeson.Types.ToJSON..= issuing'cardBrand obj : "cancellation_reason" Data.Aeson.Types.ToJSON..= issuing'cardCancellationReason obj : "cardholder" Data.Aeson.Types.ToJSON..= issuing'cardCardholder obj : "created" Data.Aeson.Types.ToJSON..= issuing'cardCreated obj : "currency" Data.Aeson.Types.ToJSON..= issuing'cardCurrency obj : "cvc" Data.Aeson.Types.ToJSON..= issuing'cardCvc obj : "exp_month" Data.Aeson.Types.ToJSON..= issuing'cardExpMonth obj : "exp_year" Data.Aeson.Types.ToJSON..= issuing'cardExpYear obj : "id" Data.Aeson.Types.ToJSON..= issuing'cardId obj : "last4" Data.Aeson.Types.ToJSON..= issuing'cardLast4 obj : "livemode" Data.Aeson.Types.ToJSON..= issuing'cardLivemode obj : "metadata" Data.Aeson.Types.ToJSON..= issuing'cardMetadata obj : "number" Data.Aeson.Types.ToJSON..= issuing'cardNumber obj : "replaced_by" Data.Aeson.Types.ToJSON..= issuing'cardReplacedBy obj : "replacement_for" Data.Aeson.Types.ToJSON..= issuing'cardReplacementFor obj : "replacement_reason" Data.Aeson.Types.ToJSON..= issuing'cardReplacementReason obj : "shipping" Data.Aeson.Types.ToJSON..= issuing'cardShipping obj : "spending_controls" Data.Aeson.Types.ToJSON..= issuing'cardSpendingControls obj : "status" Data.Aeson.Types.ToJSON..= issuing'cardStatus obj : "type" Data.Aeson.Types.ToJSON..= issuing'cardType obj : "object" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "issuing.card" : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("brand" Data.Aeson.Types.ToJSON..= issuing'cardBrand obj) GHC.Base.<> (("cancellation_reason" Data.Aeson.Types.ToJSON..= issuing'cardCancellationReason obj) GHC.Base.<> (("cardholder" Data.Aeson.Types.ToJSON..= issuing'cardCardholder obj) GHC.Base.<> (("created" Data.Aeson.Types.ToJSON..= issuing'cardCreated obj) GHC.Base.<> (("currency" Data.Aeson.Types.ToJSON..= issuing'cardCurrency obj) GHC.Base.<> (("cvc" Data.Aeson.Types.ToJSON..= issuing'cardCvc obj) GHC.Base.<> (("exp_month" Data.Aeson.Types.ToJSON..= issuing'cardExpMonth obj) GHC.Base.<> (("exp_year" Data.Aeson.Types.ToJSON..= issuing'cardExpYear obj) GHC.Base.<> (("id" Data.Aeson.Types.ToJSON..= issuing'cardId obj) GHC.Base.<> (("last4" Data.Aeson.Types.ToJSON..= issuing'cardLast4 obj) GHC.Base.<> (("livemode" Data.Aeson.Types.ToJSON..= issuing'cardLivemode obj) GHC.Base.<> (("metadata" Data.Aeson.Types.ToJSON..= issuing'cardMetadata obj) GHC.Base.<> (("number" Data.Aeson.Types.ToJSON..= issuing'cardNumber obj) GHC.Base.<> (("replaced_by" Data.Aeson.Types.ToJSON..= issuing'cardReplacedBy obj) GHC.Base.<> (("replacement_for" Data.Aeson.Types.ToJSON..= issuing'cardReplacementFor obj) GHC.Base.<> (("replacement_reason" Data.Aeson.Types.ToJSON..= issuing'cardReplacementReason obj) GHC.Base.<> (("shipping" Data.Aeson.Types.ToJSON..= issuing'cardShipping obj) GHC.Base.<> (("spending_controls" Data.Aeson.Types.ToJSON..= issuing'cardSpendingControls obj) GHC.Base.<> (("status" Data.Aeson.Types.ToJSON..= issuing'cardStatus obj) GHC.Base.<> (("type" Data.Aeson.Types.ToJSON..= issuing'cardType obj) GHC.Base.<> ("object" Data.Aeson.Types.ToJSON..= Data.Aeson.Types.Internal.String "issuing.card"))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'card where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'card" (\obj -> (((((((((((((((((((GHC.Base.pure Issuing'card GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "cardholder")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "exp_month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "exp_year")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "replaced_by")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "replacement_for")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "replacement_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "spending_controls")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Create a new 'Issuing'card' with all required fields. mkIssuing'card :: -- | 'issuing'cardBrand' Data.Text.Internal.Text -> -- | 'issuing'cardCardholder' Issuing'cardholder -> -- | 'issuing'cardCreated' GHC.Types.Int -> -- | 'issuing'cardCurrency' Data.Text.Internal.Text -> -- | 'issuing'cardExpMonth' GHC.Types.Int -> -- | 'issuing'cardExpYear' GHC.Types.Int -> -- | 'issuing'cardId' Data.Text.Internal.Text -> -- | 'issuing'cardLast4' Data.Text.Internal.Text -> -- | 'issuing'cardLivemode' GHC.Types.Bool -> -- | 'issuing'cardMetadata' Data.Aeson.Types.Internal.Object -> -- | 'issuing'cardSpendingControls' IssuingCardAuthorizationControls -> -- | 'issuing'cardStatus' Issuing'cardStatus' -> -- | 'issuing'cardType' Issuing'cardType' -> Issuing'card mkIssuing'card issuing'cardBrand issuing'cardCardholder issuing'cardCreated issuing'cardCurrency issuing'cardExpMonth issuing'cardExpYear issuing'cardId issuing'cardLast4 issuing'cardLivemode issuing'cardMetadata issuing'cardSpendingControls issuing'cardStatus issuing'cardType = Issuing'card { issuing'cardBrand = issuing'cardBrand, issuing'cardCancellationReason = GHC.Maybe.Nothing, issuing'cardCardholder = issuing'cardCardholder, issuing'cardCreated = issuing'cardCreated, issuing'cardCurrency = issuing'cardCurrency, issuing'cardCvc = GHC.Maybe.Nothing, issuing'cardExpMonth = issuing'cardExpMonth, issuing'cardExpYear = issuing'cardExpYear, issuing'cardId = issuing'cardId, issuing'cardLast4 = issuing'cardLast4, issuing'cardLivemode = issuing'cardLivemode, issuing'cardMetadata = issuing'cardMetadata, issuing'cardNumber = GHC.Maybe.Nothing, issuing'cardReplacedBy = GHC.Maybe.Nothing, issuing'cardReplacementFor = GHC.Maybe.Nothing, issuing'cardReplacementReason = GHC.Maybe.Nothing, issuing'cardShipping = GHC.Maybe.Nothing, issuing'cardSpendingControls = issuing'cardSpendingControls, issuing'cardStatus = issuing'cardStatus, issuing'cardType = issuing'cardType } -- | Defines the enum schema located at @components.schemas.issuing.card.properties.cancellation_reason@ in the specification. -- -- The reason why the card was canceled. data Issuing'cardCancellationReason' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. Issuing'cardCancellationReason'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. Issuing'cardCancellationReason'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"lost"@ Issuing'cardCancellationReason'EnumLost | -- | Represents the JSON value @"stolen"@ Issuing'cardCancellationReason'EnumStolen deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardCancellationReason' where toJSON (Issuing'cardCancellationReason'Other val) = val toJSON (Issuing'cardCancellationReason'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (Issuing'cardCancellationReason'EnumLost) = "lost" toJSON (Issuing'cardCancellationReason'EnumStolen) = "stolen" instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCancellationReason' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "lost" -> Issuing'cardCancellationReason'EnumLost | val GHC.Classes.== "stolen" -> Issuing'cardCancellationReason'EnumStolen | GHC.Base.otherwise -> Issuing'cardCancellationReason'Other val ) -- | Defines the oneOf schema located at @components.schemas.issuing.card.properties.replaced_by.anyOf@ in the specification. -- -- The latest card that replaces this card, if any. data Issuing'cardReplacedBy'Variants = Issuing'cardReplacedBy'Text Data.Text.Internal.Text | Issuing'cardReplacedBy'Issuing'card Issuing'card deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardReplacedBy'Variants where toJSON (Issuing'cardReplacedBy'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (Issuing'cardReplacedBy'Issuing'card a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardReplacedBy'Variants where parseJSON val = case (Issuing'cardReplacedBy'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((Issuing'cardReplacedBy'Issuing'card Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched") of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the oneOf schema located at @components.schemas.issuing.card.properties.replacement_for.anyOf@ in the specification. -- -- The card this card replaces, if any. data Issuing'cardReplacementFor'Variants = Issuing'cardReplacementFor'Text Data.Text.Internal.Text | Issuing'cardReplacementFor'Issuing'card Issuing'card deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardReplacementFor'Variants where toJSON (Issuing'cardReplacementFor'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (Issuing'cardReplacementFor'Issuing'card a) = Data.Aeson.Types.ToJSON.toJSON a instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardReplacementFor'Variants where parseJSON val = case (Issuing'cardReplacementFor'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> ((Issuing'cardReplacementFor'Issuing'card Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched") of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the enum schema located at @components.schemas.issuing.card.properties.replacement_reason@ in the specification. -- -- The reason why the previous card needed to be replaced. data Issuing'cardReplacementReason' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. Issuing'cardReplacementReason'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. Issuing'cardReplacementReason'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"damaged"@ Issuing'cardReplacementReason'EnumDamaged | -- | Represents the JSON value @"expired"@ Issuing'cardReplacementReason'EnumExpired | -- | Represents the JSON value @"lost"@ Issuing'cardReplacementReason'EnumLost | -- | Represents the JSON value @"stolen"@ Issuing'cardReplacementReason'EnumStolen deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardReplacementReason' where toJSON (Issuing'cardReplacementReason'Other val) = val toJSON (Issuing'cardReplacementReason'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (Issuing'cardReplacementReason'EnumDamaged) = "damaged" toJSON (Issuing'cardReplacementReason'EnumExpired) = "expired" toJSON (Issuing'cardReplacementReason'EnumLost) = "lost" toJSON (Issuing'cardReplacementReason'EnumStolen) = "stolen" instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardReplacementReason' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "damaged" -> Issuing'cardReplacementReason'EnumDamaged | val GHC.Classes.== "expired" -> Issuing'cardReplacementReason'EnumExpired | val GHC.Classes.== "lost" -> Issuing'cardReplacementReason'EnumLost | val GHC.Classes.== "stolen" -> Issuing'cardReplacementReason'EnumStolen | GHC.Base.otherwise -> Issuing'cardReplacementReason'Other val ) -- | Defines the object schema located at @components.schemas.issuing.card.properties.shipping.anyOf@ in the specification. -- -- Where and how the card will be shipped. data Issuing'cardShipping' = Issuing'cardShipping' { -- | address: issuing'cardShipping'Address :: (GHC.Maybe.Maybe Address), -- | carrier: The delivery company that shipped a card. issuing'cardShipping'Carrier :: (GHC.Maybe.Maybe Issuing'cardShipping'Carrier'), -- | eta: A unix timestamp representing a best estimate of when the card will be delivered. issuing'cardShipping'Eta :: (GHC.Maybe.Maybe GHC.Types.Int), -- | name: Recipient name. -- -- Constraints: -- -- * Maximum length of 5000 issuing'cardShipping'Name :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | service: Shipment service, such as \`standard\` or \`express\`. issuing'cardShipping'Service :: (GHC.Maybe.Maybe Issuing'cardShipping'Service'), -- | status: The delivery status of the card. issuing'cardShipping'Status :: (GHC.Maybe.Maybe Issuing'cardShipping'Status'), -- | tracking_number: A tracking number for a card shipment. -- -- Constraints: -- -- * Maximum length of 5000 issuing'cardShipping'TrackingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | tracking_url: A link to the shipping carrier\'s site where you can view detailed information about a card shipment. -- -- Constraints: -- -- * Maximum length of 5000 issuing'cardShipping'TrackingUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | type: Packaging options. issuing'cardShipping'Type :: (GHC.Maybe.Maybe Issuing'cardShipping'Type') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping' where toJSON obj = Data.Aeson.Types.Internal.object ("address" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Address obj : "carrier" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Carrier obj : "eta" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Eta obj : "name" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Name obj : "service" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Service obj : "status" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Status obj : "tracking_number" Data.Aeson.Types.ToJSON..= issuing'cardShipping'TrackingNumber obj : "tracking_url" Data.Aeson.Types.ToJSON..= issuing'cardShipping'TrackingUrl obj : "type" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Type obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("address" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Address obj) GHC.Base.<> (("carrier" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Carrier obj) GHC.Base.<> (("eta" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Eta obj) GHC.Base.<> (("name" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Name obj) GHC.Base.<> (("service" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Service obj) GHC.Base.<> (("status" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Status obj) GHC.Base.<> (("tracking_number" Data.Aeson.Types.ToJSON..= issuing'cardShipping'TrackingNumber obj) GHC.Base.<> (("tracking_url" Data.Aeson.Types.ToJSON..= issuing'cardShipping'TrackingUrl obj) GHC.Base.<> ("type" Data.Aeson.Types.ToJSON..= issuing'cardShipping'Type obj))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardShipping'" (\obj -> ((((((((GHC.Base.pure Issuing'cardShipping' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eta")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "service")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Create a new 'Issuing'cardShipping'' with all required fields. mkIssuing'cardShipping' :: Issuing'cardShipping' mkIssuing'cardShipping' = Issuing'cardShipping' { issuing'cardShipping'Address = GHC.Maybe.Nothing, issuing'cardShipping'Carrier = GHC.Maybe.Nothing, issuing'cardShipping'Eta = GHC.Maybe.Nothing, issuing'cardShipping'Name = GHC.Maybe.Nothing, issuing'cardShipping'Service = GHC.Maybe.Nothing, issuing'cardShipping'Status = GHC.Maybe.Nothing, issuing'cardShipping'TrackingNumber = GHC.Maybe.Nothing, issuing'cardShipping'TrackingUrl = GHC.Maybe.Nothing, issuing'cardShipping'Type = GHC.Maybe.Nothing } -- | Defines the enum schema located at @components.schemas.issuing.card.properties.shipping.anyOf.properties.carrier@ in the specification. -- -- The delivery company that shipped a card. data Issuing'cardShipping'Carrier' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. Issuing'cardShipping'Carrier'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. Issuing'cardShipping'Carrier'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"dhl"@ Issuing'cardShipping'Carrier'EnumDhl | -- | Represents the JSON value @"fedex"@ Issuing'cardShipping'Carrier'EnumFedex | -- | Represents the JSON value @"royal_mail"@ Issuing'cardShipping'Carrier'EnumRoyalMail | -- | Represents the JSON value @"usps"@ Issuing'cardShipping'Carrier'EnumUsps deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping'Carrier' where toJSON (Issuing'cardShipping'Carrier'Other val) = val toJSON (Issuing'cardShipping'Carrier'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (Issuing'cardShipping'Carrier'EnumDhl) = "dhl" toJSON (Issuing'cardShipping'Carrier'EnumFedex) = "fedex" toJSON (Issuing'cardShipping'Carrier'EnumRoyalMail) = "royal_mail" toJSON (Issuing'cardShipping'Carrier'EnumUsps) = "usps" instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping'Carrier' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "dhl" -> Issuing'cardShipping'Carrier'EnumDhl | val GHC.Classes.== "fedex" -> Issuing'cardShipping'Carrier'EnumFedex | val GHC.Classes.== "royal_mail" -> Issuing'cardShipping'Carrier'EnumRoyalMail | val GHC.Classes.== "usps" -> Issuing'cardShipping'Carrier'EnumUsps | GHC.Base.otherwise -> Issuing'cardShipping'Carrier'Other val ) -- | Defines the enum schema located at @components.schemas.issuing.card.properties.shipping.anyOf.properties.service@ in the specification. -- -- Shipment service, such as \`standard\` or \`express\`. data Issuing'cardShipping'Service' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. Issuing'cardShipping'Service'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. Issuing'cardShipping'Service'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"express"@ Issuing'cardShipping'Service'EnumExpress | -- | Represents the JSON value @"priority"@ Issuing'cardShipping'Service'EnumPriority | -- | Represents the JSON value @"standard"@ Issuing'cardShipping'Service'EnumStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping'Service' where toJSON (Issuing'cardShipping'Service'Other val) = val toJSON (Issuing'cardShipping'Service'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (Issuing'cardShipping'Service'EnumExpress) = "express" toJSON (Issuing'cardShipping'Service'EnumPriority) = "priority" toJSON (Issuing'cardShipping'Service'EnumStandard) = "standard" instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping'Service' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "express" -> Issuing'cardShipping'Service'EnumExpress | val GHC.Classes.== "priority" -> Issuing'cardShipping'Service'EnumPriority | val GHC.Classes.== "standard" -> Issuing'cardShipping'Service'EnumStandard | GHC.Base.otherwise -> Issuing'cardShipping'Service'Other val ) -- | Defines the enum schema located at @components.schemas.issuing.card.properties.shipping.anyOf.properties.status@ in the specification. -- -- The delivery status of the card. data Issuing'cardShipping'Status' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. Issuing'cardShipping'Status'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. Issuing'cardShipping'Status'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"canceled"@ Issuing'cardShipping'Status'EnumCanceled | -- | Represents the JSON value @"delivered"@ Issuing'cardShipping'Status'EnumDelivered | -- | Represents the JSON value @"failure"@ Issuing'cardShipping'Status'EnumFailure | -- | Represents the JSON value @"pending"@ Issuing'cardShipping'Status'EnumPending | -- | Represents the JSON value @"returned"@ Issuing'cardShipping'Status'EnumReturned | -- | Represents the JSON value @"shipped"@ Issuing'cardShipping'Status'EnumShipped deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping'Status' where toJSON (Issuing'cardShipping'Status'Other val) = val toJSON (Issuing'cardShipping'Status'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (Issuing'cardShipping'Status'EnumCanceled) = "canceled" toJSON (Issuing'cardShipping'Status'EnumDelivered) = "delivered" toJSON (Issuing'cardShipping'Status'EnumFailure) = "failure" toJSON (Issuing'cardShipping'Status'EnumPending) = "pending" toJSON (Issuing'cardShipping'Status'EnumReturned) = "returned" toJSON (Issuing'cardShipping'Status'EnumShipped) = "shipped" instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping'Status' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "canceled" -> Issuing'cardShipping'Status'EnumCanceled | val GHC.Classes.== "delivered" -> Issuing'cardShipping'Status'EnumDelivered | val GHC.Classes.== "failure" -> Issuing'cardShipping'Status'EnumFailure | val GHC.Classes.== "pending" -> Issuing'cardShipping'Status'EnumPending | val GHC.Classes.== "returned" -> Issuing'cardShipping'Status'EnumReturned | val GHC.Classes.== "shipped" -> Issuing'cardShipping'Status'EnumShipped | GHC.Base.otherwise -> Issuing'cardShipping'Status'Other val ) -- | Defines the enum schema located at @components.schemas.issuing.card.properties.shipping.anyOf.properties.type@ in the specification. -- -- Packaging options. data Issuing'cardShipping'Type' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. Issuing'cardShipping'Type'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. Issuing'cardShipping'Type'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"bulk"@ Issuing'cardShipping'Type'EnumBulk | -- | Represents the JSON value @"individual"@ Issuing'cardShipping'Type'EnumIndividual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardShipping'Type' where toJSON (Issuing'cardShipping'Type'Other val) = val toJSON (Issuing'cardShipping'Type'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (Issuing'cardShipping'Type'EnumBulk) = "bulk" toJSON (Issuing'cardShipping'Type'EnumIndividual) = "individual" instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardShipping'Type' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "bulk" -> Issuing'cardShipping'Type'EnumBulk | val GHC.Classes.== "individual" -> Issuing'cardShipping'Type'EnumIndividual | GHC.Base.otherwise -> Issuing'cardShipping'Type'Other val ) -- | Defines the enum schema located at @components.schemas.issuing.card.properties.status@ in the specification. -- -- Whether authorizations can be approved on this card. data Issuing'cardStatus' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. Issuing'cardStatus'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. Issuing'cardStatus'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"active"@ Issuing'cardStatus'EnumActive | -- | Represents the JSON value @"canceled"@ Issuing'cardStatus'EnumCanceled | -- | Represents the JSON value @"inactive"@ Issuing'cardStatus'EnumInactive deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardStatus' where toJSON (Issuing'cardStatus'Other val) = val toJSON (Issuing'cardStatus'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (Issuing'cardStatus'EnumActive) = "active" toJSON (Issuing'cardStatus'EnumCanceled) = "canceled" toJSON (Issuing'cardStatus'EnumInactive) = "inactive" instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardStatus' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "active" -> Issuing'cardStatus'EnumActive | val GHC.Classes.== "canceled" -> Issuing'cardStatus'EnumCanceled | val GHC.Classes.== "inactive" -> Issuing'cardStatus'EnumInactive | GHC.Base.otherwise -> Issuing'cardStatus'Other val ) -- | Defines the enum schema located at @components.schemas.issuing.card.properties.type@ in the specification. -- -- The type of the card. data Issuing'cardType' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. Issuing'cardType'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. Issuing'cardType'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"physical"@ Issuing'cardType'EnumPhysical | -- | Represents the JSON value @"virtual"@ Issuing'cardType'EnumVirtual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON Issuing'cardType' where toJSON (Issuing'cardType'Other val) = val toJSON (Issuing'cardType'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (Issuing'cardType'EnumPhysical) = "physical" toJSON (Issuing'cardType'EnumVirtual) = "virtual" instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardType' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "physical" -> Issuing'cardType'EnumPhysical | val GHC.Classes.== "virtual" -> Issuing'cardType'EnumVirtual | GHC.Base.otherwise -> Issuing'cardType'Other val )