{-# 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 SourceTypeAcssDebit module StripeAPI.Types.SourceTypeAcssDebit 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_acss_debit@ in the specification. data SourceTypeAcssDebit = SourceTypeAcssDebit { -- | bank_address_city sourceTypeAcssDebitBankAddressCity :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | bank_address_line_1 sourceTypeAcssDebitBankAddressLine_1 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | bank_address_line_2 sourceTypeAcssDebitBankAddressLine_2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | bank_address_postal_code sourceTypeAcssDebitBankAddressPostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | bank_name sourceTypeAcssDebitBankName :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | category sourceTypeAcssDebitCategory :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country sourceTypeAcssDebitCountry :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | fingerprint sourceTypeAcssDebitFingerprint :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | last4 sourceTypeAcssDebitLast4 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | routing_number sourceTypeAcssDebitRoutingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON SourceTypeAcssDebit where toJSON obj = Data.Aeson.Types.Internal.object ("bank_address_city" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankAddressCity obj : "bank_address_line_1" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankAddressLine_1 obj : "bank_address_line_2" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankAddressLine_2 obj : "bank_address_postal_code" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankAddressPostalCode obj : "bank_name" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankName obj : "category" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitCategory obj : "country" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitCountry obj : "fingerprint" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitFingerprint obj : "last4" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitLast4 obj : "routing_number" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitRoutingNumber obj : GHC.Base.mempty) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (("bank_address_city" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankAddressCity obj) GHC.Base.<> (("bank_address_line_1" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankAddressLine_1 obj) GHC.Base.<> (("bank_address_line_2" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankAddressLine_2 obj) GHC.Base.<> (("bank_address_postal_code" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankAddressPostalCode obj) GHC.Base.<> (("bank_name" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitBankName obj) GHC.Base.<> (("category" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitCategory obj) GHC.Base.<> (("country" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitCountry obj) GHC.Base.<> (("fingerprint" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitFingerprint obj) GHC.Base.<> (("last4" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitLast4 obj) GHC.Base.<> ("routing_number" Data.Aeson.Types.ToJSON..= sourceTypeAcssDebitRoutingNumber obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SourceTypeAcssDebit where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceTypeAcssDebit" (\obj -> (((((((((GHC.Base.pure SourceTypeAcssDebit GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_address_line_1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_address_line_2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_address_postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "category")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) -- | Create a new 'SourceTypeAcssDebit' with all required fields. mkSourceTypeAcssDebit :: SourceTypeAcssDebit mkSourceTypeAcssDebit = SourceTypeAcssDebit { sourceTypeAcssDebitBankAddressCity = GHC.Maybe.Nothing, sourceTypeAcssDebitBankAddressLine_1 = GHC.Maybe.Nothing, sourceTypeAcssDebitBankAddressLine_2 = GHC.Maybe.Nothing, sourceTypeAcssDebitBankAddressPostalCode = GHC.Maybe.Nothing, sourceTypeAcssDebitBankName = GHC.Maybe.Nothing, sourceTypeAcssDebitCategory = GHC.Maybe.Nothing, sourceTypeAcssDebitCountry = GHC.Maybe.Nothing, sourceTypeAcssDebitFingerprint = GHC.Maybe.Nothing, sourceTypeAcssDebitLast4 = GHC.Maybe.Nothing, sourceTypeAcssDebitRoutingNumber = GHC.Maybe.Nothing }