{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE DeriveGeneric #-} -- | Contains all types with cyclic dependencies (between each other or to itself) module StripeAPI.CyclicTypes where import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe import qualified Data.Aeson 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.ToJSON import qualified Data.Aeson as Data.Aeson.Types.Internal 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.Generics import qualified GHC.Int import qualified GHC.Show import qualified GHC.Types import qualified StripeAPI.Common import StripeAPI.Types.AccountCapabilities import StripeAPI.Types.AccountDashboardSettings import StripeAPI.Types.AccountDeclineChargeOn import StripeAPI.Types.AccountLink import StripeAPI.Types.AccountPaymentsSettings import StripeAPI.Types.AccountRequirementsError import StripeAPI.Types.AccountTosAcceptance import StripeAPI.Types.Address import StripeAPI.Types.ApplePayDomain import StripeAPI.Types.Application import StripeAPI.Types.BalanceAmountBySourceType import StripeAPI.Types.BitcoinTransaction import StripeAPI.Types.CardMandatePaymentMethodDetails import StripeAPI.Types.ChargeFraudDetails import StripeAPI.Types.CheckoutSessionCustomDisplayItemDescription import StripeAPI.Types.CountrySpecVerificationFieldDetails import StripeAPI.Types.Coupon import StripeAPI.Types.DeletedAccount import StripeAPI.Types.DeletedAlipayAccount import StripeAPI.Types.DeletedApplePayDomain import StripeAPI.Types.DeletedBankAccount import StripeAPI.Types.DeletedBitcoinReceiver import StripeAPI.Types.DeletedCard import StripeAPI.Types.DeletedCoupon import StripeAPI.Types.DeletedCustomer import StripeAPI.Types.DeletedDiscount import StripeAPI.Types.DeletedInvoice import StripeAPI.Types.DeletedInvoiceitem import StripeAPI.Types.DeletedPerson import StripeAPI.Types.DeletedPlan import StripeAPI.Types.DeletedProduct import StripeAPI.Types.DeletedRadarValueList import StripeAPI.Types.DeletedRadarValueListItem import StripeAPI.Types.DeletedRecipient import StripeAPI.Types.DeletedSku import StripeAPI.Types.DeletedSubscriptionItem import StripeAPI.Types.DeletedTaxId import StripeAPI.Types.DeletedTerminalLocation import StripeAPI.Types.DeletedTerminalReader import StripeAPI.Types.DeletedWebhookEndpoint import StripeAPI.Types.DeliveryEstimate import StripeAPI.Types.DisputeEvidenceDetails import StripeAPI.Types.EphemeralKey import StripeAPI.Types.ExchangeRate import StripeAPI.Types.Fee import StripeAPI.Types.FinancialReportingFinanceReportRunRunParameters import StripeAPI.Types.Inventory import StripeAPI.Types.InvoiceItemThresholdReason import StripeAPI.Types.InvoiceLineItemPeriod import StripeAPI.Types.InvoiceSettingCustomField import StripeAPI.Types.InvoiceSettingSubscriptionScheduleSetting import StripeAPI.Types.InvoicesResourceInvoiceTaxId import StripeAPI.Types.InvoicesStatusTransitions import StripeAPI.Types.IssuingSettlement import StripeAPI.Types.IssuingVerification import StripeAPI.Types.IssuingAuthorizationMerchantData import StripeAPI.Types.IssuingAuthorizationVerificationData import StripeAPI.Types.IssuingAuthorizationViolatedAuthControl import StripeAPI.Types.IssuingCardPin import StripeAPI.Types.IssuingCardSpendingLimit import StripeAPI.Types.IssuingCardholderCompany import StripeAPI.Types.IssuingCardholderIndividualDob import StripeAPI.Types.IssuingCardholderRequirements import StripeAPI.Types.IssuingCardholderSpendingLimit import StripeAPI.Types.LegalEntityDob import StripeAPI.Types.LegalEntityJapanAddress import StripeAPI.Types.LightAccountLogout import StripeAPI.Types.LoginLink import StripeAPI.Types.MandateMultiUse import StripeAPI.Types.MandateSepaDebit import StripeAPI.Types.MandateSingleUse import StripeAPI.Types.NotificationEventData import StripeAPI.Types.NotificationEventRequest import StripeAPI.Types.OfflineAcceptance import StripeAPI.Types.OnlineAcceptance import StripeAPI.Types.PackageDimensions import StripeAPI.Types.PaymentIntentNextActionRedirectToUrl import StripeAPI.Types.PaymentMethodCardChecks import StripeAPI.Types.PaymentMethodCardPresent import StripeAPI.Types.PaymentMethodCardWalletAmexExpressCheckout import StripeAPI.Types.PaymentMethodCardWalletApplePay import StripeAPI.Types.PaymentMethodCardWalletGooglePay import StripeAPI.Types.PaymentMethodCardWalletSamsungPay import StripeAPI.Types.PaymentMethodDetailsAchCreditTransfer import StripeAPI.Types.PaymentMethodDetailsAchDebit import StripeAPI.Types.PaymentMethodDetailsAlipay import StripeAPI.Types.PaymentMethodDetailsBancontact import StripeAPI.Types.PaymentMethodDetailsCardChecks import StripeAPI.Types.PaymentMethodDetailsCardInstallmentsPlan import StripeAPI.Types.PaymentMethodDetailsCardPresentReceipt import StripeAPI.Types.PaymentMethodDetailsCardWalletAmexExpressCheckout import StripeAPI.Types.PaymentMethodDetailsCardWalletApplePay import StripeAPI.Types.PaymentMethodDetailsCardWalletGooglePay import StripeAPI.Types.PaymentMethodDetailsCardWalletSamsungPay import StripeAPI.Types.PaymentMethodDetailsEps import StripeAPI.Types.PaymentMethodDetailsFpx import StripeAPI.Types.PaymentMethodDetailsGiropay import StripeAPI.Types.PaymentMethodDetailsIdeal import StripeAPI.Types.PaymentMethodDetailsKlarna import StripeAPI.Types.PaymentMethodDetailsMultibanco import StripeAPI.Types.PaymentMethodDetailsP24 import StripeAPI.Types.PaymentMethodDetailsSepaDebit import StripeAPI.Types.PaymentMethodDetailsSofort import StripeAPI.Types.PaymentMethodDetailsStripeAccount import StripeAPI.Types.PaymentMethodDetailsWechat import StripeAPI.Types.PaymentMethodFpx import StripeAPI.Types.PaymentMethodIdeal import StripeAPI.Types.PaymentMethodSepaDebit import StripeAPI.Types.Period import StripeAPI.Types.PersonRelationship import StripeAPI.Types.PlanTier import StripeAPI.Types.PlatformTaxFee import StripeAPI.Types.RadarValueListItem import StripeAPI.Types.RadarReviewResourceLocation import StripeAPI.Types.RadarReviewResourceSession import StripeAPI.Types.ReportingReportType import StripeAPI.Types.ReserveTransaction import StripeAPI.Types.Rule import StripeAPI.Types.SetupIntentNextActionRedirectToUrl import StripeAPI.Types.SetupIntentPaymentMethodOptionsCard import StripeAPI.Types.SigmaScheduledQueryRunError import StripeAPI.Types.SourceCodeVerificationFlow import StripeAPI.Types.SourceMandateNotificationBacsDebitData import StripeAPI.Types.SourceMandateNotificationSepaDebitData import StripeAPI.Types.SourceOrderItem import StripeAPI.Types.SourceReceiverFlow import StripeAPI.Types.SourceRedirectFlow import StripeAPI.Types.SourceTransactionAchCreditTransferData import StripeAPI.Types.SourceTransactionChfCreditTransferData import StripeAPI.Types.SourceTransactionGbpCreditTransferData import StripeAPI.Types.SourceTransactionPaperCheckData import StripeAPI.Types.SourceTransactionSepaCreditTransferData import StripeAPI.Types.SourceTypeAchCreditTransfer import StripeAPI.Types.SourceTypeAchDebit import StripeAPI.Types.SourceTypeAlipay import StripeAPI.Types.SourceTypeBancontact import StripeAPI.Types.SourceTypeCard import StripeAPI.Types.SourceTypeCardPresent import StripeAPI.Types.SourceTypeEps import StripeAPI.Types.SourceTypeGiropay import StripeAPI.Types.SourceTypeIdeal import StripeAPI.Types.SourceTypeKlarna import StripeAPI.Types.SourceTypeMultibanco import StripeAPI.Types.SourceTypeP24 import StripeAPI.Types.SourceTypeSepaDebit import StripeAPI.Types.SourceTypeSofort import StripeAPI.Types.SourceTypeThreeDSecure import StripeAPI.Types.SourceTypeWechat import StripeAPI.Types.StatusTransitions import StripeAPI.Types.SubscriptionBillingThresholds import StripeAPI.Types.SubscriptionItemBillingThresholds import StripeAPI.Types.SubscriptionPendingInvoiceItemInterval import StripeAPI.Types.SubscriptionScheduleCurrentPhase import StripeAPI.Types.TaxDeductedAtSource import StripeAPI.Types.TaxIdVerification import StripeAPI.Types.TaxRate import StripeAPI.Types.TerminalConnectionToken import StripeAPI.Types.TerminalReader import StripeAPI.Types.ThreeDSecureDetails import StripeAPI.Types.ThreeDSecureUsage import StripeAPI.Types.TransferSchedule import StripeAPI.Types.TransformUsage import StripeAPI.Types.UsageRecord import StripeAPI.Types.WebhookEndpoint import StripeAPI.Types.AccountCapabilityRequirements import StripeAPI.Types.AccountCardPaymentsSettings import StripeAPI.Types.AccountPayoutSettings import StripeAPI.Types.AccountRequirements import StripeAPI.Types.BalanceAmount import StripeAPI.Types.BitcoinReceiver import StripeAPI.Types.ChargeOutcome import StripeAPI.Types.CountrySpecVerificationFields import StripeAPI.Types.CreditNoteTaxAmount import StripeAPI.Types.CustomerAcceptance import StripeAPI.Types.InvoiceTaxAmount import StripeAPI.Types.InvoiceThresholdReason import StripeAPI.Types.IssuingAuthorizationRequest import StripeAPI.Types.IssuingCardAuthorizationControls import StripeAPI.Types.IssuingCardShipping import StripeAPI.Types.IssuingCardholderAddress import StripeAPI.Types.IssuingCardholderAuthorizationControls import StripeAPI.Types.MandatePaymentMethodDetails import StripeAPI.Types.PaymentIntentNextAction import StripeAPI.Types.PersonRequirements import StripeAPI.Types.RadarValueList import StripeAPI.Types.SetupIntentNextAction import StripeAPI.Types.SetupIntentPaymentMethodOptions import StripeAPI.Types.Shipping import StripeAPI.Types.SourceTransaction import StripeAPI.Types.TerminalLocation import StripeAPI.Types.UsageRecordSummary import StripeAPI.Types.Balance import StripeAPI.Types.CountrySpec import StripeAPI.Types.CreditNoteLineItem import StripeAPI.Types.SourceOrder -- | Defines the data type for the schema account -- -- This is an object representing a Stripe account. You can retrieve it to see -- properties on the account like its current e-mail address or if the account is -- enabled yet to make live charges. -- -- Some properties, marked below, are available only to platforms that want to -- [create and manage Express or Custom accounts](https:\/\/stripe.com\/docs\/connect\/accounts). data Account = Account { -- | business_profile: Business information about the account. accountBusinessProfile :: (GHC.Maybe.Maybe AccountBusinessProfile') -- | business_type: The business type. , accountBusinessType :: (GHC.Maybe.Maybe AccountBusinessType') -- | capabilities: , accountCapabilities :: (GHC.Maybe.Maybe AccountCapabilities) -- | charges_enabled: Whether the account can create live charges. , accountChargesEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | company: , accountCompany :: (GHC.Maybe.Maybe LegalEntityCompany) -- | country: The account\'s country. -- -- Constraints: -- -- * Maximum length of 5000 , accountCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , accountCreated :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | default_currency: Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account\'s country](https:\/\/stripe.com\/docs\/payouts). -- -- Constraints: -- -- * Maximum length of 5000 , accountDefaultCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | details_submitted: Whether account details have been submitted. Standard accounts cannot receive payouts before this is true. , accountDetailsSubmitted :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | email: The primary user\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , accountEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | external_accounts: External accounts (bank accounts and debit cards) currently attached to this account , accountExternalAccounts :: (GHC.Maybe.Maybe AccountExternalAccounts') -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , accountId :: GHC.Base.String -- | individual: This is an object representing a person associated with a Stripe account. -- -- Related guide: [Handling Identity Verification with the API](https:\/\/stripe.com\/docs\/connect\/identity-verification-api\#person-information). , accountIndividual :: (GHC.Maybe.Maybe Person) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , accountMetadata :: (GHC.Maybe.Maybe AccountMetadata') -- | object: String representing the object\'s type. Objects of the same type share the same value. , accountObject :: AccountObject' -- | payouts_enabled: Whether Stripe can send payouts to this account. , accountPayoutsEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | requirements: , accountRequirements :: (GHC.Maybe.Maybe AccountRequirements) -- | settings: Options for customizing how the account functions within Stripe. , accountSettings :: (GHC.Maybe.Maybe AccountSettings') -- | tos_acceptance: , accountTosAcceptance :: (GHC.Maybe.Maybe AccountTosAcceptance) -- | type: The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`. , accountType :: (GHC.Maybe.Maybe AccountType') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Account where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "business_profile" (accountBusinessProfile obj) : (Data.Aeson..=) "business_type" (accountBusinessType obj) : (Data.Aeson..=) "capabilities" (accountCapabilities obj) : (Data.Aeson..=) "charges_enabled" (accountChargesEnabled obj) : (Data.Aeson..=) "company" (accountCompany obj) : (Data.Aeson..=) "country" (accountCountry obj) : (Data.Aeson..=) "created" (accountCreated obj) : (Data.Aeson..=) "default_currency" (accountDefaultCurrency obj) : (Data.Aeson..=) "details_submitted" (accountDetailsSubmitted obj) : (Data.Aeson..=) "email" (accountEmail obj) : (Data.Aeson..=) "external_accounts" (accountExternalAccounts obj) : (Data.Aeson..=) "id" (accountId obj) : (Data.Aeson..=) "individual" (accountIndividual obj) : (Data.Aeson..=) "metadata" (accountMetadata obj) : (Data.Aeson..=) "object" (accountObject obj) : (Data.Aeson..=) "payouts_enabled" (accountPayoutsEnabled obj) : (Data.Aeson..=) "requirements" (accountRequirements obj) : (Data.Aeson..=) "settings" (accountSettings obj) : (Data.Aeson..=) "tos_acceptance" (accountTosAcceptance obj) : (Data.Aeson..=) "type" (accountType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "business_profile" (accountBusinessProfile obj) GHC.Base.<> ((Data.Aeson..=) "business_type" (accountBusinessType obj) GHC.Base.<> ((Data.Aeson..=) "capabilities" (accountCapabilities obj) GHC.Base.<> ((Data.Aeson..=) "charges_enabled" (accountChargesEnabled obj) GHC.Base.<> ((Data.Aeson..=) "company" (accountCompany obj) GHC.Base.<> ((Data.Aeson..=) "country" (accountCountry obj) GHC.Base.<> ((Data.Aeson..=) "created" (accountCreated obj) GHC.Base.<> ((Data.Aeson..=) "default_currency" (accountDefaultCurrency obj) GHC.Base.<> ((Data.Aeson..=) "details_submitted" (accountDetailsSubmitted obj) GHC.Base.<> ((Data.Aeson..=) "email" (accountEmail obj) GHC.Base.<> ((Data.Aeson..=) "external_accounts" (accountExternalAccounts obj) GHC.Base.<> ((Data.Aeson..=) "id" (accountId obj) GHC.Base.<> ((Data.Aeson..=) "individual" (accountIndividual obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (accountMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (accountObject obj) GHC.Base.<> ((Data.Aeson..=) "payouts_enabled" (accountPayoutsEnabled obj) GHC.Base.<> ((Data.Aeson..=) "requirements" (accountRequirements obj) GHC.Base.<> ((Data.Aeson..=) "settings" (accountSettings obj) GHC.Base.<> ((Data.Aeson..=) "tos_acceptance" (accountTosAcceptance obj) GHC.Base.<> (Data.Aeson..=) "type" (accountType obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Account where parseJSON = Data.Aeson.Types.FromJSON.withObject "Account" (\obj -> (((((((((((((((((((GHC.Base.pure Account GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "business_profile")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "business_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "capabilities")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charges_enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "company")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details_submitted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "external_accounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "individual")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payouts_enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requirements")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "settings")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tos_acceptance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the data type for the schema accountBusiness_profile\' -- -- Business information about the account. data AccountBusinessProfile' = AccountBusinessProfile' { -- | mcc: [The merchant category code for the account](https:\/\/stripe.com\/docs\/connect\/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. -- -- Constraints: -- -- * Maximum length of 5000 accountBusinessProfile'Mcc :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: The customer-facing business name. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | product_description: Internal-only description of the product sold or service provided by the business. It\'s used by Stripe for risk and underwriting purposes. -- -- Constraints: -- -- * Maximum length of 40000 , accountBusinessProfile'ProductDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_address: A publicly available mailing address for sending support issues to. , accountBusinessProfile'SupportAddress :: (GHC.Maybe.Maybe AccountBusinessProfile'SupportAddress') -- | support_email: A publicly available email address for sending support issues to. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'SupportEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_phone: A publicly available phone number to call with support issues. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'SupportPhone :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_url: A publicly available website for handling support issues. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'SupportUrl :: (GHC.Maybe.Maybe GHC.Base.String) -- | url: The business\'s publicly available website. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'Url :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountBusinessProfile' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "mcc" (accountBusinessProfile'Mcc obj) : (Data.Aeson..=) "name" (accountBusinessProfile'Name obj) : (Data.Aeson..=) "product_description" (accountBusinessProfile'ProductDescription obj) : (Data.Aeson..=) "support_address" (accountBusinessProfile'SupportAddress obj) : (Data.Aeson..=) "support_email" (accountBusinessProfile'SupportEmail obj) : (Data.Aeson..=) "support_phone" (accountBusinessProfile'SupportPhone obj) : (Data.Aeson..=) "support_url" (accountBusinessProfile'SupportUrl obj) : (Data.Aeson..=) "url" (accountBusinessProfile'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "mcc" (accountBusinessProfile'Mcc obj) GHC.Base.<> ((Data.Aeson..=) "name" (accountBusinessProfile'Name obj) GHC.Base.<> ((Data.Aeson..=) "product_description" (accountBusinessProfile'ProductDescription obj) GHC.Base.<> ((Data.Aeson..=) "support_address" (accountBusinessProfile'SupportAddress obj) GHC.Base.<> ((Data.Aeson..=) "support_email" (accountBusinessProfile'SupportEmail obj) GHC.Base.<> ((Data.Aeson..=) "support_phone" (accountBusinessProfile'SupportPhone obj) GHC.Base.<> ((Data.Aeson..=) "support_url" (accountBusinessProfile'SupportUrl obj) GHC.Base.<> (Data.Aeson..=) "url" (accountBusinessProfile'Url obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON AccountBusinessProfile' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBusinessProfile'" (\obj -> (((((((GHC.Base.pure AccountBusinessProfile' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mcc")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url")) -- | Defines the data type for the schema accountBusiness_profile\'Support_address\' -- -- A publicly available mailing address for sending support issues to. data AccountBusinessProfile'SupportAddress' = AccountBusinessProfile'SupportAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 accountBusinessProfile'SupportAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'SupportAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'SupportAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'SupportAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'SupportAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfile'SupportAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountBusinessProfile'SupportAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (accountBusinessProfile'SupportAddress'City obj) : (Data.Aeson..=) "country" (accountBusinessProfile'SupportAddress'Country obj) : (Data.Aeson..=) "line1" (accountBusinessProfile'SupportAddress'Line1 obj) : (Data.Aeson..=) "line2" (accountBusinessProfile'SupportAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (accountBusinessProfile'SupportAddress'PostalCode obj) : (Data.Aeson..=) "state" (accountBusinessProfile'SupportAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (accountBusinessProfile'SupportAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (accountBusinessProfile'SupportAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (accountBusinessProfile'SupportAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (accountBusinessProfile'SupportAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (accountBusinessProfile'SupportAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (accountBusinessProfile'SupportAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON AccountBusinessProfile'SupportAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBusinessProfile'SupportAddress'" (\obj -> (((((GHC.Base.pure AccountBusinessProfile'SupportAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the enum schema accountBusiness_type\' -- -- The business type. data AccountBusinessType' = AccountBusinessType'EnumOther Data.Aeson.Types.Internal.Value | AccountBusinessType'EnumTyped GHC.Base.String | AccountBusinessType'EnumStringCompany | AccountBusinessType'EnumStringGovernmentEntity | AccountBusinessType'EnumStringIndividual | AccountBusinessType'EnumStringNonProfit deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountBusinessType' where toJSON (AccountBusinessType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountBusinessType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountBusinessType'EnumStringCompany) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "company" toJSON (AccountBusinessType'EnumStringGovernmentEntity) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_entity" toJSON (AccountBusinessType'EnumStringIndividual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual" toJSON (AccountBusinessType'EnumStringNonProfit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_profit" instance Data.Aeson.FromJSON AccountBusinessType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "company") then AccountBusinessType'EnumStringCompany else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_entity") then AccountBusinessType'EnumStringGovernmentEntity else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual") then AccountBusinessType'EnumStringIndividual else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_profit") then AccountBusinessType'EnumStringNonProfit else AccountBusinessType'EnumOther val) -- | Defines the data type for the schema accountExternal_accounts\' -- -- External accounts (bank accounts and debit cards) currently attached to this account data AccountExternalAccounts' = AccountExternalAccounts' { -- | data: The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards. accountExternalAccounts'Data :: ([] AccountExternalAccounts'Data') -- | has_more: True if this list has another page of items after this one that can be fetched. , accountExternalAccounts'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , accountExternalAccounts'Object :: AccountExternalAccounts'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountExternalAccounts' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (accountExternalAccounts'Data obj) : (Data.Aeson..=) "has_more" (accountExternalAccounts'HasMore obj) : (Data.Aeson..=) "object" (accountExternalAccounts'Object obj) : (Data.Aeson..=) "url" (accountExternalAccounts'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (accountExternalAccounts'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (accountExternalAccounts'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (accountExternalAccounts'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (accountExternalAccounts'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON AccountExternalAccounts' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountExternalAccounts'" (\obj -> (((GHC.Base.pure AccountExternalAccounts' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the data type for the schema accountExternal_accounts\'Data\' -- -- data AccountExternalAccounts'Data' = AccountExternalAccounts'Data' { -- | account: The ID of the account that the bank account is associated with. accountExternalAccounts'Data'Account :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Account'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , accountExternalAccounts'Data'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] AccountExternalAccounts'Data'AvailablePayoutMethods')) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'BankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'Brand :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , accountExternalAccounts'Data'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer that the bank account is associated with. , accountExternalAccounts'Data'Customer :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Customer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this bank account is the default external account for its currency. , accountExternalAccounts'Data'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | exp_month: Two-digit number representing the card\'s expiration month. , accountExternalAccounts'Data'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , accountExternalAccounts'Data'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'Funding :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'Last4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , accountExternalAccounts'Data'Metadata :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Metadata') -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , accountExternalAccounts'Data'Object :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Object') -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , accountExternalAccounts'Data'Recipient :: (GHC.Maybe.Maybe AccountExternalAccounts'Data'Recipient'Variants) -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'Status :: (GHC.Maybe.Maybe GHC.Base.String) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , accountExternalAccounts'Data'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountExternalAccounts'Data' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (accountExternalAccounts'Data'Account obj) : (Data.Aeson..=) "account_holder_name" (accountExternalAccounts'Data'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (accountExternalAccounts'Data'AccountHolderType obj) : (Data.Aeson..=) "address_city" (accountExternalAccounts'Data'AddressCity obj) : (Data.Aeson..=) "address_country" (accountExternalAccounts'Data'AddressCountry obj) : (Data.Aeson..=) "address_line1" (accountExternalAccounts'Data'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (accountExternalAccounts'Data'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (accountExternalAccounts'Data'AddressLine2 obj) : (Data.Aeson..=) "address_state" (accountExternalAccounts'Data'AddressState obj) : (Data.Aeson..=) "address_zip" (accountExternalAccounts'Data'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (accountExternalAccounts'Data'AddressZipCheck obj) : (Data.Aeson..=) "available_payout_methods" (accountExternalAccounts'Data'AvailablePayoutMethods obj) : (Data.Aeson..=) "bank_name" (accountExternalAccounts'Data'BankName obj) : (Data.Aeson..=) "brand" (accountExternalAccounts'Data'Brand obj) : (Data.Aeson..=) "country" (accountExternalAccounts'Data'Country obj) : (Data.Aeson..=) "currency" (accountExternalAccounts'Data'Currency obj) : (Data.Aeson..=) "customer" (accountExternalAccounts'Data'Customer obj) : (Data.Aeson..=) "cvc_check" (accountExternalAccounts'Data'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (accountExternalAccounts'Data'DefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (accountExternalAccounts'Data'DynamicLast4 obj) : (Data.Aeson..=) "exp_month" (accountExternalAccounts'Data'ExpMonth obj) : (Data.Aeson..=) "exp_year" (accountExternalAccounts'Data'ExpYear obj) : (Data.Aeson..=) "fingerprint" (accountExternalAccounts'Data'Fingerprint obj) : (Data.Aeson..=) "funding" (accountExternalAccounts'Data'Funding obj) : (Data.Aeson..=) "id" (accountExternalAccounts'Data'Id obj) : (Data.Aeson..=) "last4" (accountExternalAccounts'Data'Last4 obj) : (Data.Aeson..=) "metadata" (accountExternalAccounts'Data'Metadata obj) : (Data.Aeson..=) "name" (accountExternalAccounts'Data'Name obj) : (Data.Aeson..=) "object" (accountExternalAccounts'Data'Object obj) : (Data.Aeson..=) "recipient" (accountExternalAccounts'Data'Recipient obj) : (Data.Aeson..=) "routing_number" (accountExternalAccounts'Data'RoutingNumber obj) : (Data.Aeson..=) "status" (accountExternalAccounts'Data'Status obj) : (Data.Aeson..=) "tokenization_method" (accountExternalAccounts'Data'TokenizationMethod obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (accountExternalAccounts'Data'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (accountExternalAccounts'Data'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (accountExternalAccounts'Data'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (accountExternalAccounts'Data'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (accountExternalAccounts'Data'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (accountExternalAccounts'Data'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (accountExternalAccounts'Data'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (accountExternalAccounts'Data'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (accountExternalAccounts'Data'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (accountExternalAccounts'Data'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (accountExternalAccounts'Data'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (accountExternalAccounts'Data'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (accountExternalAccounts'Data'BankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (accountExternalAccounts'Data'Brand obj) GHC.Base.<> ((Data.Aeson..=) "country" (accountExternalAccounts'Data'Country obj) GHC.Base.<> ((Data.Aeson..=) "currency" (accountExternalAccounts'Data'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (accountExternalAccounts'Data'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (accountExternalAccounts'Data'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (accountExternalAccounts'Data'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (accountExternalAccounts'Data'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (accountExternalAccounts'Data'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (accountExternalAccounts'Data'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (accountExternalAccounts'Data'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (accountExternalAccounts'Data'Funding obj) GHC.Base.<> ((Data.Aeson..=) "id" (accountExternalAccounts'Data'Id obj) GHC.Base.<> ((Data.Aeson..=) "last4" (accountExternalAccounts'Data'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (accountExternalAccounts'Data'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (accountExternalAccounts'Data'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (accountExternalAccounts'Data'Object obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (accountExternalAccounts'Data'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (accountExternalAccounts'Data'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "status" (accountExternalAccounts'Data'Status obj) GHC.Base.<> (Data.Aeson..=) "tokenization_method" (accountExternalAccounts'Data'TokenizationMethod obj))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON AccountExternalAccounts'Data' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountExternalAccounts'Data'" (\obj -> ((((((((((((((((((((((((((((((((GHC.Base.pure AccountExternalAccounts'Data' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) -- | Define the one-of schema accountExternal_accounts\'Data\'Account\' -- -- The ID of the account that the bank account is associated with. data AccountExternalAccounts'Data'Account'Variants = AccountExternalAccounts'Data'Account'Account Account | AccountExternalAccounts'Data'Account'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Account'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON AccountExternalAccounts'Data'Account'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema accountExternal_accounts\'Data\'Available_payout_methods\' -- -- data AccountExternalAccounts'Data'AvailablePayoutMethods' = AccountExternalAccounts'Data'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | AccountExternalAccounts'Data'AvailablePayoutMethods'EnumTyped GHC.Base.String | AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant | AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountExternalAccounts'Data'AvailablePayoutMethods' where toJSON (AccountExternalAccounts'Data'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountExternalAccounts'Data'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON AccountExternalAccounts'Data'AvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then AccountExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard else AccountExternalAccounts'Data'AvailablePayoutMethods'EnumOther val) -- | Define the one-of schema accountExternal_accounts\'Data\'Customer\' -- -- The ID of the customer that the bank account is associated with. data AccountExternalAccounts'Data'Customer'Variants = AccountExternalAccounts'Data'Customer'Customer Customer | AccountExternalAccounts'Data'Customer'DeletedCustomer DeletedCustomer | AccountExternalAccounts'Data'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON AccountExternalAccounts'Data'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema accountExternal_accounts\'Data\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data AccountExternalAccounts'Data'Metadata' = AccountExternalAccounts'Data'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON AccountExternalAccounts'Data'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountExternalAccounts'Data'Metadata'" (\obj -> GHC.Base.pure AccountExternalAccounts'Data'Metadata') -- | Defines the enum schema accountExternal_accounts\'Data\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data AccountExternalAccounts'Data'Object' = AccountExternalAccounts'Data'Object'EnumOther Data.Aeson.Types.Internal.Value | AccountExternalAccounts'Data'Object'EnumTyped GHC.Base.String | AccountExternalAccounts'Data'Object'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Object' where toJSON (AccountExternalAccounts'Data'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountExternalAccounts'Data'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountExternalAccounts'Data'Object'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON AccountExternalAccounts'Data'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then AccountExternalAccounts'Data'Object'EnumStringBankAccount else AccountExternalAccounts'Data'Object'EnumOther val) -- | Define the one-of schema accountExternal_accounts\'Data\'Recipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data AccountExternalAccounts'Data'Recipient'Variants = AccountExternalAccounts'Data'Recipient'Recipient Recipient | AccountExternalAccounts'Data'Recipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON AccountExternalAccounts'Data'Recipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON AccountExternalAccounts'Data'Recipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema accountExternal_accounts\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data AccountExternalAccounts'Object' = AccountExternalAccounts'Object'EnumOther Data.Aeson.Types.Internal.Value | AccountExternalAccounts'Object'EnumTyped GHC.Base.String | AccountExternalAccounts'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountExternalAccounts'Object' where toJSON (AccountExternalAccounts'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountExternalAccounts'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountExternalAccounts'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON AccountExternalAccounts'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then AccountExternalAccounts'Object'EnumStringList else AccountExternalAccounts'Object'EnumOther val) -- | Defines the data type for the schema accountMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data AccountMetadata' = AccountMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON AccountMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountMetadata'" (\obj -> GHC.Base.pure AccountMetadata') -- | Defines the enum schema accountObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data AccountObject' = AccountObject'EnumOther Data.Aeson.Types.Internal.Value | AccountObject'EnumTyped GHC.Base.String | AccountObject'EnumStringAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountObject' where toJSON (AccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountObject'EnumStringAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "account" instance Data.Aeson.FromJSON AccountObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "account") then AccountObject'EnumStringAccount else AccountObject'EnumOther val) -- | Defines the data type for the schema accountSettings\' -- -- Options for customizing how the account functions within Stripe. data AccountSettings' = AccountSettings' { -- | branding: accountSettings'Branding :: (GHC.Maybe.Maybe AccountBrandingSettings) -- | card_payments: , accountSettings'CardPayments :: (GHC.Maybe.Maybe AccountCardPaymentsSettings) -- | dashboard: , accountSettings'Dashboard :: (GHC.Maybe.Maybe AccountDashboardSettings) -- | payments: , accountSettings'Payments :: (GHC.Maybe.Maybe AccountPaymentsSettings) -- | payouts: , accountSettings'Payouts :: (GHC.Maybe.Maybe AccountPayoutSettings) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountSettings' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "branding" (accountSettings'Branding obj) : (Data.Aeson..=) "card_payments" (accountSettings'CardPayments obj) : (Data.Aeson..=) "dashboard" (accountSettings'Dashboard obj) : (Data.Aeson..=) "payments" (accountSettings'Payments obj) : (Data.Aeson..=) "payouts" (accountSettings'Payouts obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "branding" (accountSettings'Branding obj) GHC.Base.<> ((Data.Aeson..=) "card_payments" (accountSettings'CardPayments obj) GHC.Base.<> ((Data.Aeson..=) "dashboard" (accountSettings'Dashboard obj) GHC.Base.<> ((Data.Aeson..=) "payments" (accountSettings'Payments obj) GHC.Base.<> (Data.Aeson..=) "payouts" (accountSettings'Payouts obj))))) instance Data.Aeson.Types.FromJSON.FromJSON AccountSettings' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountSettings'" (\obj -> ((((GHC.Base.pure AccountSettings' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "branding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dashboard")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payouts")) -- | Defines the enum schema accountType\' -- -- The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`. data AccountType' = AccountType'EnumOther Data.Aeson.Types.Internal.Value | AccountType'EnumTyped GHC.Base.String | AccountType'EnumStringCustom | AccountType'EnumStringExpress | AccountType'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountType' where toJSON (AccountType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AccountType'EnumStringCustom) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "custom" toJSON (AccountType'EnumStringExpress) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "express" toJSON (AccountType'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON AccountType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "custom") then AccountType'EnumStringCustom else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "express") then AccountType'EnumStringExpress else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then AccountType'EnumStringStandard else AccountType'EnumOther val) -- | Defines the data type for the schema account_branding_settings -- -- data AccountBrandingSettings = AccountBrandingSettings { -- | icon: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) An icon for the account. Must be square and at least 128px x 128px. accountBrandingSettingsIcon :: (GHC.Maybe.Maybe AccountBrandingSettingsIcon'Variants) -- | logo: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account\'s name next to it if provided. Must be at least 128px x 128px. , accountBrandingSettingsLogo :: (GHC.Maybe.Maybe AccountBrandingSettingsLogo'Variants) -- | primary_color: A CSS hex color value representing the primary branding color for this account -- -- Constraints: -- -- * Maximum length of 5000 , accountBrandingSettingsPrimaryColor :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountBrandingSettings where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "icon" (accountBrandingSettingsIcon obj) : (Data.Aeson..=) "logo" (accountBrandingSettingsLogo obj) : (Data.Aeson..=) "primary_color" (accountBrandingSettingsPrimaryColor obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "icon" (accountBrandingSettingsIcon obj) GHC.Base.<> ((Data.Aeson..=) "logo" (accountBrandingSettingsLogo obj) GHC.Base.<> (Data.Aeson..=) "primary_color" (accountBrandingSettingsPrimaryColor obj))) instance Data.Aeson.Types.FromJSON.FromJSON AccountBrandingSettings where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBrandingSettings" (\obj -> ((GHC.Base.pure AccountBrandingSettings GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "icon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "logo")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "primary_color")) -- | Define the one-of schema account_branding_settingsIcon\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) An icon for the account. Must be square and at least 128px x 128px. data AccountBrandingSettingsIcon'Variants = AccountBrandingSettingsIcon'File File | AccountBrandingSettingsIcon'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON AccountBrandingSettingsIcon'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON AccountBrandingSettingsIcon'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema account_branding_settingsLogo\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A logo for the account that will be used in Checkout instead of the icon and without the account\'s name next to it if provided. Must be at least 128px x 128px. data AccountBrandingSettingsLogo'Variants = AccountBrandingSettingsLogo'File File | AccountBrandingSettingsLogo'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON AccountBrandingSettingsLogo'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON AccountBrandingSettingsLogo'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema account_business_profile -- -- data AccountBusinessProfile = AccountBusinessProfile { -- | mcc: [The merchant category code for the account](https:\/\/stripe.com\/docs\/connect\/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. -- -- Constraints: -- -- * Maximum length of 5000 accountBusinessProfileMcc :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: The customer-facing business name. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileName :: (GHC.Maybe.Maybe GHC.Base.String) -- | product_description: Internal-only description of the product sold or service provided by the business. It\'s used by Stripe for risk and underwriting purposes. -- -- Constraints: -- -- * Maximum length of 40000 , accountBusinessProfileProductDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_address: A publicly available mailing address for sending support issues to. , accountBusinessProfileSupportAddress :: (GHC.Maybe.Maybe AccountBusinessProfileSupportAddress') -- | support_email: A publicly available email address for sending support issues to. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileSupportEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_phone: A publicly available phone number to call with support issues. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileSupportPhone :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_url: A publicly available website for handling support issues. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileSupportUrl :: (GHC.Maybe.Maybe GHC.Base.String) -- | url: The business\'s publicly available website. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileUrl :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountBusinessProfile where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "mcc" (accountBusinessProfileMcc obj) : (Data.Aeson..=) "name" (accountBusinessProfileName obj) : (Data.Aeson..=) "product_description" (accountBusinessProfileProductDescription obj) : (Data.Aeson..=) "support_address" (accountBusinessProfileSupportAddress obj) : (Data.Aeson..=) "support_email" (accountBusinessProfileSupportEmail obj) : (Data.Aeson..=) "support_phone" (accountBusinessProfileSupportPhone obj) : (Data.Aeson..=) "support_url" (accountBusinessProfileSupportUrl obj) : (Data.Aeson..=) "url" (accountBusinessProfileUrl obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "mcc" (accountBusinessProfileMcc obj) GHC.Base.<> ((Data.Aeson..=) "name" (accountBusinessProfileName obj) GHC.Base.<> ((Data.Aeson..=) "product_description" (accountBusinessProfileProductDescription obj) GHC.Base.<> ((Data.Aeson..=) "support_address" (accountBusinessProfileSupportAddress obj) GHC.Base.<> ((Data.Aeson..=) "support_email" (accountBusinessProfileSupportEmail obj) GHC.Base.<> ((Data.Aeson..=) "support_phone" (accountBusinessProfileSupportPhone obj) GHC.Base.<> ((Data.Aeson..=) "support_url" (accountBusinessProfileSupportUrl obj) GHC.Base.<> (Data.Aeson..=) "url" (accountBusinessProfileUrl obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON AccountBusinessProfile where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBusinessProfile" (\obj -> (((((((GHC.Base.pure AccountBusinessProfile GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mcc")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url")) -- | Defines the data type for the schema account_business_profileSupport_address\' -- -- A publicly available mailing address for sending support issues to. data AccountBusinessProfileSupportAddress' = AccountBusinessProfileSupportAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 accountBusinessProfileSupportAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileSupportAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileSupportAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileSupportAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileSupportAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , accountBusinessProfileSupportAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountBusinessProfileSupportAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (accountBusinessProfileSupportAddress'City obj) : (Data.Aeson..=) "country" (accountBusinessProfileSupportAddress'Country obj) : (Data.Aeson..=) "line1" (accountBusinessProfileSupportAddress'Line1 obj) : (Data.Aeson..=) "line2" (accountBusinessProfileSupportAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (accountBusinessProfileSupportAddress'PostalCode obj) : (Data.Aeson..=) "state" (accountBusinessProfileSupportAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (accountBusinessProfileSupportAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (accountBusinessProfileSupportAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (accountBusinessProfileSupportAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (accountBusinessProfileSupportAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (accountBusinessProfileSupportAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (accountBusinessProfileSupportAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON AccountBusinessProfileSupportAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountBusinessProfileSupportAddress'" (\obj -> (((((GHC.Base.pure AccountBusinessProfileSupportAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema account_settings -- -- data AccountSettings = AccountSettings { -- | branding: accountSettingsBranding :: AccountBrandingSettings -- | card_payments: , accountSettingsCardPayments :: AccountCardPaymentsSettings -- | dashboard: , accountSettingsDashboard :: AccountDashboardSettings -- | payments: , accountSettingsPayments :: AccountPaymentsSettings -- | payouts: , accountSettingsPayouts :: (GHC.Maybe.Maybe AccountPayoutSettings) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AccountSettings where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "branding" (accountSettingsBranding obj) : (Data.Aeson..=) "card_payments" (accountSettingsCardPayments obj) : (Data.Aeson..=) "dashboard" (accountSettingsDashboard obj) : (Data.Aeson..=) "payments" (accountSettingsPayments obj) : (Data.Aeson..=) "payouts" (accountSettingsPayouts obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "branding" (accountSettingsBranding obj) GHC.Base.<> ((Data.Aeson..=) "card_payments" (accountSettingsCardPayments obj) GHC.Base.<> ((Data.Aeson..=) "dashboard" (accountSettingsDashboard obj) GHC.Base.<> ((Data.Aeson..=) "payments" (accountSettingsPayments obj) GHC.Base.<> (Data.Aeson..=) "payouts" (accountSettingsPayouts obj))))) instance Data.Aeson.Types.FromJSON.FromJSON AccountSettings where parseJSON = Data.Aeson.Types.FromJSON.withObject "AccountSettings" (\obj -> ((((GHC.Base.pure AccountSettings GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "branding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "card_payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "dashboard")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payouts")) -- | Defines the data type for the schema alipay_account -- -- data AlipayAccount = AlipayAccount { -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. alipayAccountCreated :: GHC.Integer.Type.Integer -- | customer: The ID of the customer associated with this Alipay Account. , alipayAccountCustomer :: (GHC.Maybe.Maybe AlipayAccountCustomer'Variants) -- | fingerprint: Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account. -- -- Constraints: -- -- * Maximum length of 5000 , alipayAccountFingerprint :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , alipayAccountId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , alipayAccountLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , alipayAccountMetadata :: (GHC.Maybe.Maybe AlipayAccountMetadata') -- | object: String representing the object\'s type. Objects of the same type share the same value. , alipayAccountObject :: AlipayAccountObject' -- | payment_amount: If the Alipay account object is not reusable, the exact amount that you can create a charge for. , alipayAccountPaymentAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | payment_currency: If the Alipay account object is not reusable, the exact currency that you can create a charge for. , alipayAccountPaymentCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | reusable: True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment. , alipayAccountReusable :: GHC.Types.Bool -- | used: Whether this Alipay account object has ever been used for a payment. , alipayAccountUsed :: GHC.Types.Bool -- | username: The username for the Alipay account. -- -- Constraints: -- -- * Maximum length of 5000 , alipayAccountUsername :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AlipayAccount where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "created" (alipayAccountCreated obj) : (Data.Aeson..=) "customer" (alipayAccountCustomer obj) : (Data.Aeson..=) "fingerprint" (alipayAccountFingerprint obj) : (Data.Aeson..=) "id" (alipayAccountId obj) : (Data.Aeson..=) "livemode" (alipayAccountLivemode obj) : (Data.Aeson..=) "metadata" (alipayAccountMetadata obj) : (Data.Aeson..=) "object" (alipayAccountObject obj) : (Data.Aeson..=) "payment_amount" (alipayAccountPaymentAmount obj) : (Data.Aeson..=) "payment_currency" (alipayAccountPaymentCurrency obj) : (Data.Aeson..=) "reusable" (alipayAccountReusable obj) : (Data.Aeson..=) "used" (alipayAccountUsed obj) : (Data.Aeson..=) "username" (alipayAccountUsername obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "created" (alipayAccountCreated obj) GHC.Base.<> ((Data.Aeson..=) "customer" (alipayAccountCustomer obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (alipayAccountFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "id" (alipayAccountId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (alipayAccountLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (alipayAccountMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (alipayAccountObject obj) GHC.Base.<> ((Data.Aeson..=) "payment_amount" (alipayAccountPaymentAmount obj) GHC.Base.<> ((Data.Aeson..=) "payment_currency" (alipayAccountPaymentCurrency obj) GHC.Base.<> ((Data.Aeson..=) "reusable" (alipayAccountReusable obj) GHC.Base.<> ((Data.Aeson..=) "used" (alipayAccountUsed obj) GHC.Base.<> (Data.Aeson..=) "username" (alipayAccountUsername obj)))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON AlipayAccount where parseJSON = Data.Aeson.Types.FromJSON.withObject "AlipayAccount" (\obj -> (((((((((((GHC.Base.pure AlipayAccount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reusable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "used")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "username")) -- | Define the one-of schema alipay_accountCustomer\' -- -- The ID of the customer associated with this Alipay Account. data AlipayAccountCustomer'Variants = AlipayAccountCustomer'Customer Customer | AlipayAccountCustomer'DeletedCustomer DeletedCustomer | AlipayAccountCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON AlipayAccountCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON AlipayAccountCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema alipay_accountMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data AlipayAccountMetadata' = AlipayAccountMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON AlipayAccountMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON AlipayAccountMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "AlipayAccountMetadata'" (\obj -> GHC.Base.pure AlipayAccountMetadata') -- | Defines the enum schema alipay_accountObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data AlipayAccountObject' = AlipayAccountObject'EnumOther Data.Aeson.Types.Internal.Value | AlipayAccountObject'EnumTyped GHC.Base.String | AlipayAccountObject'EnumStringAlipayAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON AlipayAccountObject' where toJSON (AlipayAccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AlipayAccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (AlipayAccountObject'EnumStringAlipayAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account" instance Data.Aeson.FromJSON AlipayAccountObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account") then AlipayAccountObject'EnumStringAlipayAccount else AlipayAccountObject'EnumOther val) -- | Defines the data type for the schema api_errors -- -- data ApiErrors = ApiErrors { -- | charge: For card errors, the ID of the failed charge. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsCharge :: (GHC.Maybe.Maybe GHC.Base.String) -- | code: For some errors that could be handled programmatically, a short string indicating the [error code](https:\/\/stripe.com\/docs\/error-codes) reported. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | decline_code: For card errors resulting from a card issuer decline, a short string indicating the [card issuer\'s reason for the decline](https:\/\/stripe.com\/docs\/declines\#issuer-declines) if they provide one. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsDeclineCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | doc_url: A URL to more information about the [error code](https:\/\/stripe.com\/docs\/error-codes) reported. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsDocUrl :: (GHC.Maybe.Maybe GHC.Base.String) -- | message: A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. -- -- Constraints: -- -- * Maximum length of 40000 , apiErrorsMessage :: (GHC.Maybe.Maybe GHC.Base.String) -- | param: If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsParam :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_intent: A PaymentIntent guides you through the process of collecting a payment from your customer. -- We recommend that you create exactly one PaymentIntent for each order or -- customer session in your system. You can reference the PaymentIntent later to -- see the history of payment attempts for a particular session. -- -- A PaymentIntent transitions through -- [multiple statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) -- throughout its lifetime as it interfaces with Stripe.js to perform -- authentication flows and ultimately creates at most one successful charge. -- -- Related guide: [Payment Intents API](https:\/\/stripe.com\/docs\/payments\/payment-intents\/creating-payment-intents). , apiErrorsPaymentIntent :: (GHC.Maybe.Maybe PaymentIntent) -- | payment_method: PaymentMethod objects represent your customer\'s payment instruments. -- They can be used with [PaymentIntents](https:\/\/stripe.com\/docs\/payments\/payment-intents) to collect payments or saved to -- Customer objects to store instrument details for future payments. -- -- Related guides: [Payment Methods](https:\/\/stripe.com\/docs\/payments\/payment-methods) and [More Payment Scenarios](https:\/\/stripe.com\/docs\/payments\/more-payment-scenarios). , apiErrorsPaymentMethod :: (GHC.Maybe.Maybe PaymentMethod) -- | setup_intent: A SetupIntent guides you through the process of setting up a customer\'s payment credentials for future payments. -- For example, you could use a SetupIntent to set up your customer\'s card without immediately collecting a payment. -- Later, you can use [PaymentIntents](https:\/\/stripe.com\/docs\/api\#payment_intents) to drive the payment flow. -- -- Create a SetupIntent as soon as you\'re ready to collect your customer\'s payment credentials. -- Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid. -- The SetupIntent then transitions through multiple [statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) as it guides -- you through the setup process. -- -- Successful SetupIntents result in payment credentials that are optimized for future payments. -- For example, cardholders in [certain regions](\/guides\/strong-customer-authentication) may need to be run through -- [Strong Customer Authentication](https:\/\/stripe.com\/docs\/strong-customer-authentication) at the time of payment method collection -- in order to streamline later [off-session payments](https:\/\/stripe.com\/docs\/payments\/setup-intents). -- -- By using SetupIntents, you ensure that your customers experience the minimum set of required friction, -- even as regulations change over time. , apiErrorsSetupIntent :: (GHC.Maybe.Maybe SetupIntent) -- | source: The source object for errors returned on a request involving a source. , apiErrorsSource :: (GHC.Maybe.Maybe ApiErrorsSource') -- | type: The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\` , apiErrorsType :: ApiErrorsType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrors where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "charge" (apiErrorsCharge obj) : (Data.Aeson..=) "code" (apiErrorsCode obj) : (Data.Aeson..=) "decline_code" (apiErrorsDeclineCode obj) : (Data.Aeson..=) "doc_url" (apiErrorsDocUrl obj) : (Data.Aeson..=) "message" (apiErrorsMessage obj) : (Data.Aeson..=) "param" (apiErrorsParam obj) : (Data.Aeson..=) "payment_intent" (apiErrorsPaymentIntent obj) : (Data.Aeson..=) "payment_method" (apiErrorsPaymentMethod obj) : (Data.Aeson..=) "setup_intent" (apiErrorsSetupIntent obj) : (Data.Aeson..=) "source" (apiErrorsSource obj) : (Data.Aeson..=) "type" (apiErrorsType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "charge" (apiErrorsCharge obj) GHC.Base.<> ((Data.Aeson..=) "code" (apiErrorsCode obj) GHC.Base.<> ((Data.Aeson..=) "decline_code" (apiErrorsDeclineCode obj) GHC.Base.<> ((Data.Aeson..=) "doc_url" (apiErrorsDocUrl obj) GHC.Base.<> ((Data.Aeson..=) "message" (apiErrorsMessage obj) GHC.Base.<> ((Data.Aeson..=) "param" (apiErrorsParam obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (apiErrorsPaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (apiErrorsPaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "setup_intent" (apiErrorsSetupIntent obj) GHC.Base.<> ((Data.Aeson..=) "source" (apiErrorsSource obj) GHC.Base.<> (Data.Aeson..=) "type" (apiErrorsType obj))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrors where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrors" (\obj -> ((((((((((GHC.Base.pure ApiErrors GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "decline_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "doc_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "param")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the data type for the schema api_errorsSource\' -- -- The source object for errors returned on a request involving a source. data ApiErrorsSource' = ApiErrorsSource' { -- | account: The ID of the account that the bank account is associated with. apiErrorsSource'Account :: (GHC.Maybe.Maybe ApiErrorsSource'Account'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | ach_credit_transfer , apiErrorsSource'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer) -- | ach_debit , apiErrorsSource'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | alipay , apiErrorsSource'Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay) -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for \`single_use\` sources. , apiErrorsSource'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , apiErrorsSource'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] ApiErrorsSource'AvailablePayoutMethods')) -- | bancontact , apiErrorsSource'Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'BankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Brand :: (GHC.Maybe.Maybe GHC.Base.String) -- | card , apiErrorsSource'Card :: (GHC.Maybe.Maybe SourceTypeCard) -- | card_present , apiErrorsSource'CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent) -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'ClientSecret :: (GHC.Maybe.Maybe GHC.Base.String) -- | code_verification: , apiErrorsSource'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , apiErrorsSource'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , apiErrorsSource'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer that the bank account is associated with. , apiErrorsSource'Customer :: (GHC.Maybe.Maybe ApiErrorsSource'Customer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this bank account is the default external account for its currency. , apiErrorsSource'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | eps , apiErrorsSource'Eps :: (GHC.Maybe.Maybe SourceTypeEps) -- | exp_month: Two-digit number representing the card\'s expiration month. , apiErrorsSource'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , apiErrorsSource'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Flow :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Funding :: (GHC.Maybe.Maybe GHC.Base.String) -- | giropay , apiErrorsSource'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | ideal , apiErrorsSource'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal) -- | klarna , apiErrorsSource'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Last4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , apiErrorsSource'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , apiErrorsSource'Metadata :: (GHC.Maybe.Maybe ApiErrorsSource'Metadata') -- | multibanco , apiErrorsSource'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco) -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , apiErrorsSource'Object :: (GHC.Maybe.Maybe ApiErrorsSource'Object') -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types. , apiErrorsSource'Owner :: (GHC.Maybe.Maybe ApiErrorsSource'Owner') -- | p24 , apiErrorsSource'P24 :: (GHC.Maybe.Maybe SourceTypeP24) -- | receiver: , apiErrorsSource'Receiver :: (GHC.Maybe.Maybe SourceReceiverFlow) -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , apiErrorsSource'Recipient :: (GHC.Maybe.Maybe ApiErrorsSource'Recipient'Variants) -- | redirect: , apiErrorsSource'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow) -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | sepa_debit , apiErrorsSource'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit) -- | sofort , apiErrorsSource'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort) -- | source_order: , apiErrorsSource'SourceOrder :: (GHC.Maybe.Maybe SourceOrder) -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'StatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Status :: (GHC.Maybe.Maybe GHC.Base.String) -- | three_d_secure , apiErrorsSource'ThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. , apiErrorsSource'Type :: (GHC.Maybe.Maybe ApiErrorsSource'Type') -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Usage :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat , apiErrorsSource'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsSource' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (apiErrorsSource'Account obj) : (Data.Aeson..=) "account_holder_name" (apiErrorsSource'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (apiErrorsSource'AccountHolderType obj) : (Data.Aeson..=) "ach_credit_transfer" (apiErrorsSource'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (apiErrorsSource'AchDebit obj) : (Data.Aeson..=) "address_city" (apiErrorsSource'AddressCity obj) : (Data.Aeson..=) "address_country" (apiErrorsSource'AddressCountry obj) : (Data.Aeson..=) "address_line1" (apiErrorsSource'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (apiErrorsSource'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (apiErrorsSource'AddressLine2 obj) : (Data.Aeson..=) "address_state" (apiErrorsSource'AddressState obj) : (Data.Aeson..=) "address_zip" (apiErrorsSource'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (apiErrorsSource'AddressZipCheck obj) : (Data.Aeson..=) "alipay" (apiErrorsSource'Alipay obj) : (Data.Aeson..=) "amount" (apiErrorsSource'Amount obj) : (Data.Aeson..=) "available_payout_methods" (apiErrorsSource'AvailablePayoutMethods obj) : (Data.Aeson..=) "bancontact" (apiErrorsSource'Bancontact obj) : (Data.Aeson..=) "bank_name" (apiErrorsSource'BankName obj) : (Data.Aeson..=) "brand" (apiErrorsSource'Brand obj) : (Data.Aeson..=) "card" (apiErrorsSource'Card obj) : (Data.Aeson..=) "card_present" (apiErrorsSource'CardPresent obj) : (Data.Aeson..=) "client_secret" (apiErrorsSource'ClientSecret obj) : (Data.Aeson..=) "code_verification" (apiErrorsSource'CodeVerification obj) : (Data.Aeson..=) "country" (apiErrorsSource'Country obj) : (Data.Aeson..=) "created" (apiErrorsSource'Created obj) : (Data.Aeson..=) "currency" (apiErrorsSource'Currency obj) : (Data.Aeson..=) "customer" (apiErrorsSource'Customer obj) : (Data.Aeson..=) "cvc_check" (apiErrorsSource'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (apiErrorsSource'DefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (apiErrorsSource'DynamicLast4 obj) : (Data.Aeson..=) "eps" (apiErrorsSource'Eps obj) : (Data.Aeson..=) "exp_month" (apiErrorsSource'ExpMonth obj) : (Data.Aeson..=) "exp_year" (apiErrorsSource'ExpYear obj) : (Data.Aeson..=) "fingerprint" (apiErrorsSource'Fingerprint obj) : (Data.Aeson..=) "flow" (apiErrorsSource'Flow obj) : (Data.Aeson..=) "funding" (apiErrorsSource'Funding obj) : (Data.Aeson..=) "giropay" (apiErrorsSource'Giropay obj) : (Data.Aeson..=) "id" (apiErrorsSource'Id obj) : (Data.Aeson..=) "ideal" (apiErrorsSource'Ideal obj) : (Data.Aeson..=) "klarna" (apiErrorsSource'Klarna obj) : (Data.Aeson..=) "last4" (apiErrorsSource'Last4 obj) : (Data.Aeson..=) "livemode" (apiErrorsSource'Livemode obj) : (Data.Aeson..=) "metadata" (apiErrorsSource'Metadata obj) : (Data.Aeson..=) "multibanco" (apiErrorsSource'Multibanco obj) : (Data.Aeson..=) "name" (apiErrorsSource'Name obj) : (Data.Aeson..=) "object" (apiErrorsSource'Object obj) : (Data.Aeson..=) "owner" (apiErrorsSource'Owner obj) : (Data.Aeson..=) "p24" (apiErrorsSource'P24 obj) : (Data.Aeson..=) "receiver" (apiErrorsSource'Receiver obj) : (Data.Aeson..=) "recipient" (apiErrorsSource'Recipient obj) : (Data.Aeson..=) "redirect" (apiErrorsSource'Redirect obj) : (Data.Aeson..=) "routing_number" (apiErrorsSource'RoutingNumber obj) : (Data.Aeson..=) "sepa_debit" (apiErrorsSource'SepaDebit obj) : (Data.Aeson..=) "sofort" (apiErrorsSource'Sofort obj) : (Data.Aeson..=) "source_order" (apiErrorsSource'SourceOrder obj) : (Data.Aeson..=) "statement_descriptor" (apiErrorsSource'StatementDescriptor obj) : (Data.Aeson..=) "status" (apiErrorsSource'Status obj) : (Data.Aeson..=) "three_d_secure" (apiErrorsSource'ThreeDSecure obj) : (Data.Aeson..=) "tokenization_method" (apiErrorsSource'TokenizationMethod obj) : (Data.Aeson..=) "type" (apiErrorsSource'Type obj) : (Data.Aeson..=) "usage" (apiErrorsSource'Usage obj) : (Data.Aeson..=) "wechat" (apiErrorsSource'Wechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (apiErrorsSource'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (apiErrorsSource'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (apiErrorsSource'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "ach_credit_transfer" (apiErrorsSource'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (apiErrorsSource'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (apiErrorsSource'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (apiErrorsSource'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (apiErrorsSource'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (apiErrorsSource'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (apiErrorsSource'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (apiErrorsSource'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (apiErrorsSource'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (apiErrorsSource'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (apiErrorsSource'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "amount" (apiErrorsSource'Amount obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (apiErrorsSource'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (apiErrorsSource'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (apiErrorsSource'BankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (apiErrorsSource'Brand obj) GHC.Base.<> ((Data.Aeson..=) "card" (apiErrorsSource'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (apiErrorsSource'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (apiErrorsSource'ClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "code_verification" (apiErrorsSource'CodeVerification obj) GHC.Base.<> ((Data.Aeson..=) "country" (apiErrorsSource'Country obj) GHC.Base.<> ((Data.Aeson..=) "created" (apiErrorsSource'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (apiErrorsSource'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (apiErrorsSource'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (apiErrorsSource'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (apiErrorsSource'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (apiErrorsSource'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "eps" (apiErrorsSource'Eps obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (apiErrorsSource'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (apiErrorsSource'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (apiErrorsSource'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "flow" (apiErrorsSource'Flow obj) GHC.Base.<> ((Data.Aeson..=) "funding" (apiErrorsSource'Funding obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (apiErrorsSource'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "id" (apiErrorsSource'Id obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (apiErrorsSource'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (apiErrorsSource'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "last4" (apiErrorsSource'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (apiErrorsSource'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (apiErrorsSource'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (apiErrorsSource'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "name" (apiErrorsSource'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (apiErrorsSource'Object obj) GHC.Base.<> ((Data.Aeson..=) "owner" (apiErrorsSource'Owner obj) GHC.Base.<> ((Data.Aeson..=) "p24" (apiErrorsSource'P24 obj) GHC.Base.<> ((Data.Aeson..=) "receiver" (apiErrorsSource'Receiver obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (apiErrorsSource'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "redirect" (apiErrorsSource'Redirect obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (apiErrorsSource'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (apiErrorsSource'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (apiErrorsSource'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "source_order" (apiErrorsSource'SourceOrder obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (apiErrorsSource'StatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (apiErrorsSource'Status obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (apiErrorsSource'ThreeDSecure obj) GHC.Base.<> ((Data.Aeson..=) "tokenization_method" (apiErrorsSource'TokenizationMethod obj) GHC.Base.<> ((Data.Aeson..=) "type" (apiErrorsSource'Type obj) GHC.Base.<> ((Data.Aeson..=) "usage" (apiErrorsSource'Usage obj) GHC.Base.<> (Data.Aeson..=) "wechat" (apiErrorsSource'Wechat obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'" (\obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure ApiErrorsSource' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) 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..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Define the one-of schema api_errorsSource\'Account\' -- -- The ID of the account that the bank account is associated with. data ApiErrorsSource'Account'Variants = ApiErrorsSource'Account'Account Account | ApiErrorsSource'Account'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ApiErrorsSource'Account'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ApiErrorsSource'Account'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema api_errorsSource\'Available_payout_methods\' -- -- data ApiErrorsSource'AvailablePayoutMethods' = ApiErrorsSource'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | ApiErrorsSource'AvailablePayoutMethods'EnumTyped GHC.Base.String | ApiErrorsSource'AvailablePayoutMethods'EnumStringInstant | ApiErrorsSource'AvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsSource'AvailablePayoutMethods' where toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (ApiErrorsSource'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON ApiErrorsSource'AvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then ApiErrorsSource'AvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then ApiErrorsSource'AvailablePayoutMethods'EnumStringStandard else ApiErrorsSource'AvailablePayoutMethods'EnumOther val) -- | Define the one-of schema api_errorsSource\'Customer\' -- -- The ID of the customer that the bank account is associated with. data ApiErrorsSource'Customer'Variants = ApiErrorsSource'Customer'Customer Customer | ApiErrorsSource'Customer'DeletedCustomer DeletedCustomer | ApiErrorsSource'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ApiErrorsSource'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ApiErrorsSource'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema api_errorsSource\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data ApiErrorsSource'Metadata' = ApiErrorsSource'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsSource'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Metadata'" (\obj -> GHC.Base.pure ApiErrorsSource'Metadata') -- | Defines the enum schema api_errorsSource\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ApiErrorsSource'Object' = ApiErrorsSource'Object'EnumOther Data.Aeson.Types.Internal.Value | ApiErrorsSource'Object'EnumTyped GHC.Base.String | ApiErrorsSource'Object'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsSource'Object' where toJSON (ApiErrorsSource'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApiErrorsSource'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApiErrorsSource'Object'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON ApiErrorsSource'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then ApiErrorsSource'Object'EnumStringBankAccount else ApiErrorsSource'Object'EnumOther val) -- | Defines the data type for the schema api_errorsSource\'Owner\' -- -- Information about the owner of the payment instrument that may be used or required by particular source types. data ApiErrorsSource'Owner' = ApiErrorsSource'Owner' { -- | address: Owner\'s address. apiErrorsSource'Owner'Address :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'Address') -- | email: Owner\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'Email :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s full name. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Owner\'s phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. , apiErrorsSource'Owner'VerifiedAddress :: (GHC.Maybe.Maybe ApiErrorsSource'Owner'VerifiedAddress') -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'VerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'VerifiedName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'VerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsSource'Owner' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (apiErrorsSource'Owner'Address obj) : (Data.Aeson..=) "email" (apiErrorsSource'Owner'Email obj) : (Data.Aeson..=) "name" (apiErrorsSource'Owner'Name obj) : (Data.Aeson..=) "phone" (apiErrorsSource'Owner'Phone obj) : (Data.Aeson..=) "verified_address" (apiErrorsSource'Owner'VerifiedAddress obj) : (Data.Aeson..=) "verified_email" (apiErrorsSource'Owner'VerifiedEmail obj) : (Data.Aeson..=) "verified_name" (apiErrorsSource'Owner'VerifiedName obj) : (Data.Aeson..=) "verified_phone" (apiErrorsSource'Owner'VerifiedPhone obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (apiErrorsSource'Owner'Address obj) GHC.Base.<> ((Data.Aeson..=) "email" (apiErrorsSource'Owner'Email obj) GHC.Base.<> ((Data.Aeson..=) "name" (apiErrorsSource'Owner'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (apiErrorsSource'Owner'Phone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (apiErrorsSource'Owner'VerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (apiErrorsSource'Owner'VerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (apiErrorsSource'Owner'VerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (apiErrorsSource'Owner'VerifiedPhone obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'" (\obj -> (((((((GHC.Base.pure ApiErrorsSource'Owner' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone")) -- | Defines the data type for the schema api_errorsSource\'Owner\'Address\' -- -- Owner\\\'s address. data ApiErrorsSource'Owner'Address' = ApiErrorsSource'Owner'Address' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'Address'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'Address'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'Address'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'Address'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'Address'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'Address'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsSource'Owner'Address' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (apiErrorsSource'Owner'Address'City obj) : (Data.Aeson..=) "country" (apiErrorsSource'Owner'Address'Country obj) : (Data.Aeson..=) "line1" (apiErrorsSource'Owner'Address'Line1 obj) : (Data.Aeson..=) "line2" (apiErrorsSource'Owner'Address'Line2 obj) : (Data.Aeson..=) "postal_code" (apiErrorsSource'Owner'Address'PostalCode obj) : (Data.Aeson..=) "state" (apiErrorsSource'Owner'Address'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (apiErrorsSource'Owner'Address'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (apiErrorsSource'Owner'Address'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (apiErrorsSource'Owner'Address'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (apiErrorsSource'Owner'Address'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (apiErrorsSource'Owner'Address'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (apiErrorsSource'Owner'Address'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'Address'" (\obj -> (((((GHC.Base.pure ApiErrorsSource'Owner'Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema api_errorsSource\'Owner\'Verified_address\' -- -- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. data ApiErrorsSource'Owner'VerifiedAddress' = ApiErrorsSource'Owner'VerifiedAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 apiErrorsSource'Owner'VerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'VerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , apiErrorsSource'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsSource'Owner'VerifiedAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (apiErrorsSource'Owner'VerifiedAddress'City obj) : (Data.Aeson..=) "country" (apiErrorsSource'Owner'VerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (apiErrorsSource'Owner'VerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (apiErrorsSource'Owner'VerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (apiErrorsSource'Owner'VerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (apiErrorsSource'Owner'VerifiedAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (apiErrorsSource'Owner'VerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (apiErrorsSource'Owner'VerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (apiErrorsSource'Owner'VerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (apiErrorsSource'Owner'VerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (apiErrorsSource'Owner'VerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (apiErrorsSource'Owner'VerifiedAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON ApiErrorsSource'Owner'VerifiedAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApiErrorsSource'Owner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure ApiErrorsSource'Owner'VerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Define the one-of schema api_errorsSource\'Recipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data ApiErrorsSource'Recipient'Variants = ApiErrorsSource'Recipient'Recipient Recipient | ApiErrorsSource'Recipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ApiErrorsSource'Recipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ApiErrorsSource'Recipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema api_errorsSource\'Type\' -- -- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. data ApiErrorsSource'Type' = ApiErrorsSource'Type'EnumOther Data.Aeson.Types.Internal.Value | ApiErrorsSource'Type'EnumTyped GHC.Base.String | ApiErrorsSource'Type'EnumStringAchCreditTransfer | ApiErrorsSource'Type'EnumStringAchDebit | ApiErrorsSource'Type'EnumStringAlipay | ApiErrorsSource'Type'EnumStringBancontact | ApiErrorsSource'Type'EnumStringCard | ApiErrorsSource'Type'EnumStringCardPresent | ApiErrorsSource'Type'EnumStringEps | ApiErrorsSource'Type'EnumStringGiropay | ApiErrorsSource'Type'EnumStringIdeal | ApiErrorsSource'Type'EnumStringKlarna | ApiErrorsSource'Type'EnumStringMultibanco | ApiErrorsSource'Type'EnumStringP24 | ApiErrorsSource'Type'EnumStringSepaDebit | ApiErrorsSource'Type'EnumStringSofort | ApiErrorsSource'Type'EnumStringThreeDSecure | ApiErrorsSource'Type'EnumStringWechat deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsSource'Type' where toJSON (ApiErrorsSource'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApiErrorsSource'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApiErrorsSource'Type'EnumStringAchCreditTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer" toJSON (ApiErrorsSource'Type'EnumStringAchDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit" toJSON (ApiErrorsSource'Type'EnumStringAlipay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay" toJSON (ApiErrorsSource'Type'EnumStringBancontact) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact" toJSON (ApiErrorsSource'Type'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card" toJSON (ApiErrorsSource'Type'EnumStringCardPresent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present" toJSON (ApiErrorsSource'Type'EnumStringEps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps" toJSON (ApiErrorsSource'Type'EnumStringGiropay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay" toJSON (ApiErrorsSource'Type'EnumStringIdeal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal" toJSON (ApiErrorsSource'Type'EnumStringKlarna) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna" toJSON (ApiErrorsSource'Type'EnumStringMultibanco) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco" toJSON (ApiErrorsSource'Type'EnumStringP24) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24" toJSON (ApiErrorsSource'Type'EnumStringSepaDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit" toJSON (ApiErrorsSource'Type'EnumStringSofort) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort" toJSON (ApiErrorsSource'Type'EnumStringThreeDSecure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure" toJSON (ApiErrorsSource'Type'EnumStringWechat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat" instance Data.Aeson.FromJSON ApiErrorsSource'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer") then ApiErrorsSource'Type'EnumStringAchCreditTransfer else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit") then ApiErrorsSource'Type'EnumStringAchDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay") then ApiErrorsSource'Type'EnumStringAlipay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact") then ApiErrorsSource'Type'EnumStringBancontact else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card") then ApiErrorsSource'Type'EnumStringCard else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present") then ApiErrorsSource'Type'EnumStringCardPresent else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps") then ApiErrorsSource'Type'EnumStringEps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay") then ApiErrorsSource'Type'EnumStringGiropay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal") then ApiErrorsSource'Type'EnumStringIdeal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna") then ApiErrorsSource'Type'EnumStringKlarna else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco") then ApiErrorsSource'Type'EnumStringMultibanco else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24") then ApiErrorsSource'Type'EnumStringP24 else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit") then ApiErrorsSource'Type'EnumStringSepaDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort") then ApiErrorsSource'Type'EnumStringSofort else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure") then ApiErrorsSource'Type'EnumStringThreeDSecure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat") then ApiErrorsSource'Type'EnumStringWechat else ApiErrorsSource'Type'EnumOther val) -- | Defines the enum schema api_errorsType\' -- -- The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\` data ApiErrorsType' = ApiErrorsType'EnumOther Data.Aeson.Types.Internal.Value | ApiErrorsType'EnumTyped GHC.Base.String | ApiErrorsType'EnumStringApiConnectionError | ApiErrorsType'EnumStringApiError | ApiErrorsType'EnumStringAuthenticationError | ApiErrorsType'EnumStringCardError | ApiErrorsType'EnumStringIdempotencyError | ApiErrorsType'EnumStringInvalidRequestError | ApiErrorsType'EnumStringRateLimitError deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ApiErrorsType' where toJSON (ApiErrorsType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApiErrorsType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApiErrorsType'EnumStringApiConnectionError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_connection_error" toJSON (ApiErrorsType'EnumStringApiError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_error" toJSON (ApiErrorsType'EnumStringAuthenticationError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "authentication_error" toJSON (ApiErrorsType'EnumStringCardError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_error" toJSON (ApiErrorsType'EnumStringIdempotencyError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "idempotency_error" toJSON (ApiErrorsType'EnumStringInvalidRequestError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invalid_request_error" toJSON (ApiErrorsType'EnumStringRateLimitError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rate_limit_error" instance Data.Aeson.FromJSON ApiErrorsType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_connection_error") then ApiErrorsType'EnumStringApiConnectionError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_error") then ApiErrorsType'EnumStringApiError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "authentication_error") then ApiErrorsType'EnumStringAuthenticationError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_error") then ApiErrorsType'EnumStringCardError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "idempotency_error") then ApiErrorsType'EnumStringIdempotencyError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invalid_request_error") then ApiErrorsType'EnumStringInvalidRequestError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rate_limit_error") then ApiErrorsType'EnumStringRateLimitError else ApiErrorsType'EnumOther val) -- | Defines the data type for the schema application_fee -- -- data ApplicationFee = ApplicationFee { -- | account: ID of the Stripe account this fee was taken from. applicationFeeAccount :: ApplicationFeeAccount'Variants -- | amount: Amount earned, in %s. , applicationFeeAmount :: GHC.Integer.Type.Integer -- | amount_refunded: Amount in %s refunded (can be less than the amount attribute on the fee if a partial refund was issued) , applicationFeeAmountRefunded :: GHC.Integer.Type.Integer -- | application: ID of the Connect application that earned the fee. , applicationFeeApplication :: ApplicationFeeApplication'Variants -- | balance_transaction: Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds). , applicationFeeBalanceTransaction :: (GHC.Maybe.Maybe ApplicationFeeBalanceTransaction'Variants) -- | charge: ID of the charge that the application fee was taken from. , applicationFeeCharge :: ApplicationFeeCharge'Variants -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , applicationFeeCreated :: GHC.Integer.Type.Integer -- | 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). , applicationFeeCurrency :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , applicationFeeId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , applicationFeeLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , applicationFeeObject :: ApplicationFeeObject' -- | originating_transaction: ID of the corresponding charge on the platform account, if this fee was the result of a charge using the \`destination\` parameter. , applicationFeeOriginatingTransaction :: (GHC.Maybe.Maybe ApplicationFeeOriginatingTransaction'Variants) -- | refunded: Whether the fee has been fully refunded. If the fee is only partially refunded, this attribute will still be false. , applicationFeeRefunded :: GHC.Types.Bool -- | refunds: A list of refunds that have been applied to the fee. , applicationFeeRefunds :: ApplicationFeeRefunds' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ApplicationFee where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (applicationFeeAccount obj) : (Data.Aeson..=) "amount" (applicationFeeAmount obj) : (Data.Aeson..=) "amount_refunded" (applicationFeeAmountRefunded obj) : (Data.Aeson..=) "application" (applicationFeeApplication obj) : (Data.Aeson..=) "balance_transaction" (applicationFeeBalanceTransaction obj) : (Data.Aeson..=) "charge" (applicationFeeCharge obj) : (Data.Aeson..=) "created" (applicationFeeCreated obj) : (Data.Aeson..=) "currency" (applicationFeeCurrency obj) : (Data.Aeson..=) "id" (applicationFeeId obj) : (Data.Aeson..=) "livemode" (applicationFeeLivemode obj) : (Data.Aeson..=) "object" (applicationFeeObject obj) : (Data.Aeson..=) "originating_transaction" (applicationFeeOriginatingTransaction obj) : (Data.Aeson..=) "refunded" (applicationFeeRefunded obj) : (Data.Aeson..=) "refunds" (applicationFeeRefunds obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (applicationFeeAccount obj) GHC.Base.<> ((Data.Aeson..=) "amount" (applicationFeeAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_refunded" (applicationFeeAmountRefunded obj) GHC.Base.<> ((Data.Aeson..=) "application" (applicationFeeApplication obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (applicationFeeBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "charge" (applicationFeeCharge obj) GHC.Base.<> ((Data.Aeson..=) "created" (applicationFeeCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (applicationFeeCurrency obj) GHC.Base.<> ((Data.Aeson..=) "id" (applicationFeeId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (applicationFeeLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (applicationFeeObject obj) GHC.Base.<> ((Data.Aeson..=) "originating_transaction" (applicationFeeOriginatingTransaction obj) GHC.Base.<> ((Data.Aeson..=) "refunded" (applicationFeeRefunded obj) GHC.Base.<> (Data.Aeson..=) "refunds" (applicationFeeRefunds obj)))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ApplicationFee where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApplicationFee" (\obj -> (((((((((((((GHC.Base.pure ApplicationFee GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount_refunded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "application")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "originating_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "refunded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "refunds")) -- | Define the one-of schema application_feeAccount\' -- -- ID of the Stripe account this fee was taken from. data ApplicationFeeAccount'Variants = ApplicationFeeAccount'Account Account | ApplicationFeeAccount'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ApplicationFeeAccount'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ApplicationFeeAccount'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema application_feeApplication\' -- -- ID of the Connect application that earned the fee. data ApplicationFeeApplication'Variants = ApplicationFeeApplication'Application Application | ApplicationFeeApplication'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ApplicationFeeApplication'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ApplicationFeeApplication'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema application_feeBalance_transaction\' -- -- Balance transaction that describes the impact of this collected application fee on your account balance (not including refunds). data ApplicationFeeBalanceTransaction'Variants = ApplicationFeeBalanceTransaction'BalanceTransaction BalanceTransaction | ApplicationFeeBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ApplicationFeeBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ApplicationFeeBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema application_feeCharge\' -- -- ID of the charge that the application fee was taken from. data ApplicationFeeCharge'Variants = ApplicationFeeCharge'Charge Charge | ApplicationFeeCharge'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ApplicationFeeCharge'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ApplicationFeeCharge'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema application_feeObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ApplicationFeeObject' = ApplicationFeeObject'EnumOther Data.Aeson.Types.Internal.Value | ApplicationFeeObject'EnumTyped GHC.Base.String | ApplicationFeeObject'EnumStringApplicationFee deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ApplicationFeeObject' where toJSON (ApplicationFeeObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApplicationFeeObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApplicationFeeObject'EnumStringApplicationFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee" instance Data.Aeson.FromJSON ApplicationFeeObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee") then ApplicationFeeObject'EnumStringApplicationFee else ApplicationFeeObject'EnumOther val) -- | Define the one-of schema application_feeOriginating_transaction\' -- -- ID of the corresponding charge on the platform account, if this fee was the result of a charge using the \`destination\` parameter. data ApplicationFeeOriginatingTransaction'Variants = ApplicationFeeOriginatingTransaction'Charge Charge | ApplicationFeeOriginatingTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ApplicationFeeOriginatingTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ApplicationFeeOriginatingTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema application_feeRefunds\' -- -- A list of refunds that have been applied to the fee. data ApplicationFeeRefunds' = ApplicationFeeRefunds' { -- | data: Details about each object. applicationFeeRefunds'Data :: ([] FeeRefund) -- | has_more: True if this list has another page of items after this one that can be fetched. , applicationFeeRefunds'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , applicationFeeRefunds'Object :: ApplicationFeeRefunds'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , applicationFeeRefunds'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ApplicationFeeRefunds' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (applicationFeeRefunds'Data obj) : (Data.Aeson..=) "has_more" (applicationFeeRefunds'HasMore obj) : (Data.Aeson..=) "object" (applicationFeeRefunds'Object obj) : (Data.Aeson..=) "url" (applicationFeeRefunds'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (applicationFeeRefunds'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (applicationFeeRefunds'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (applicationFeeRefunds'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (applicationFeeRefunds'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON ApplicationFeeRefunds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ApplicationFeeRefunds'" (\obj -> (((GHC.Base.pure ApplicationFeeRefunds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema application_feeRefunds\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data ApplicationFeeRefunds'Object' = ApplicationFeeRefunds'Object'EnumOther Data.Aeson.Types.Internal.Value | ApplicationFeeRefunds'Object'EnumTyped GHC.Base.String | ApplicationFeeRefunds'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ApplicationFeeRefunds'Object' where toJSON (ApplicationFeeRefunds'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApplicationFeeRefunds'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ApplicationFeeRefunds'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON ApplicationFeeRefunds'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then ApplicationFeeRefunds'Object'EnumStringList else ApplicationFeeRefunds'Object'EnumOther val) -- | Defines the data type for the schema balance_transaction -- -- Balance transactions represent funds moving through your Stripe account. -- They\'re created for every type of transaction that comes into or flows out of your Stripe account balance. -- -- Related guide: [Balance Transaction Types](https:\/\/stripe.com\/docs\/reports\/balance-transaction-types). data BalanceTransaction = BalanceTransaction { -- | amount: Gross amount of the transaction, in %s. balanceTransactionAmount :: GHC.Integer.Type.Integer -- | available_on: The date the transaction\'s net funds will become available in the Stripe balance. , balanceTransactionAvailableOn :: GHC.Integer.Type.Integer -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , balanceTransactionCreated :: GHC.Integer.Type.Integer -- | 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). , balanceTransactionCurrency :: GHC.Base.String -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , balanceTransactionDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | exchange_rate: The exchange rate used, if applicable, for this transaction. Specifically, if money was converted from currency A to currency B, then the \`amount\` in currency A, times \`exchange_rate\`, would be the \`amount\` in currency B. For example, suppose you charged a customer 10.00 EUR. Then the PaymentIntent\'s \`amount\` would be \`1000\` and \`currency\` would be \`eur\`. Suppose this was converted into 12.34 USD in your Stripe account. Then the BalanceTransaction\'s \`amount\` would be \`1234\`, \`currency\` would be \`usd\`, and \`exchange_rate\` would be \`1.234\`. , balanceTransactionExchangeRate :: (GHC.Maybe.Maybe GHC.Types.Double) -- | fee: Fees (in %s) paid for this transaction. , balanceTransactionFee :: GHC.Integer.Type.Integer -- | fee_details: Detailed breakdown of fees (in %s) paid for this transaction. , balanceTransactionFeeDetails :: ([] Fee) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , balanceTransactionId :: GHC.Base.String -- | net: Net amount of the transaction, in %s. , balanceTransactionNet :: GHC.Integer.Type.Integer -- | object: String representing the object\'s type. Objects of the same type share the same value. , balanceTransactionObject :: BalanceTransactionObject' -- | reporting_category: [Learn more](https:\/\/stripe.com\/docs\/reports\/reporting-categories) about how reporting categories can help you understand balance transactions from an accounting perspective. -- -- Constraints: -- -- * Maximum length of 5000 , balanceTransactionReportingCategory :: GHC.Base.String -- | source: The Stripe object to which this transaction is related. , balanceTransactionSource :: (GHC.Maybe.Maybe BalanceTransactionSource'Variants) -- | status: If the transaction\'s net funds are available in the Stripe balance yet. Either \`available\` or \`pending\`. -- -- Constraints: -- -- * Maximum length of 5000 , balanceTransactionStatus :: GHC.Base.String -- | type: Transaction type: \`adjustment\`, \`advance\`, \`advance_funding\`, \`application_fee\`, \`application_fee_refund\`, \`charge\`, \`connect_collection_transfer\`, \`issuing_authorization_hold\`, \`issuing_authorization_release\`, \`issuing_transaction\`, \`payment\`, \`payment_failure_refund\`, \`payment_refund\`, \`payout\`, \`payout_cancel\`, \`payout_failure\`, \`refund\`, \`refund_failure\`, \`reserve_transaction\`, \`reserved_funds\`, \`stripe_fee\`, \`stripe_fx_fee\`, \`tax_fee\`, \`topup\`, \`topup_reversal\`, \`transfer\`, \`transfer_cancel\`, \`transfer_failure\`, or \`transfer_refund\`. [Learn more](https:\/\/stripe.com\/docs\/reports\/balance-transaction-types) about balance transaction types and what they represent. If you are looking to classify transactions for accounting purposes, you might want to consider \`reporting_category\` instead. , balanceTransactionType :: BalanceTransactionType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON BalanceTransaction where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (balanceTransactionAmount obj) : (Data.Aeson..=) "available_on" (balanceTransactionAvailableOn obj) : (Data.Aeson..=) "created" (balanceTransactionCreated obj) : (Data.Aeson..=) "currency" (balanceTransactionCurrency obj) : (Data.Aeson..=) "description" (balanceTransactionDescription obj) : (Data.Aeson..=) "exchange_rate" (balanceTransactionExchangeRate obj) : (Data.Aeson..=) "fee" (balanceTransactionFee obj) : (Data.Aeson..=) "fee_details" (balanceTransactionFeeDetails obj) : (Data.Aeson..=) "id" (balanceTransactionId obj) : (Data.Aeson..=) "net" (balanceTransactionNet obj) : (Data.Aeson..=) "object" (balanceTransactionObject obj) : (Data.Aeson..=) "reporting_category" (balanceTransactionReportingCategory obj) : (Data.Aeson..=) "source" (balanceTransactionSource obj) : (Data.Aeson..=) "status" (balanceTransactionStatus obj) : (Data.Aeson..=) "type" (balanceTransactionType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (balanceTransactionAmount obj) GHC.Base.<> ((Data.Aeson..=) "available_on" (balanceTransactionAvailableOn obj) GHC.Base.<> ((Data.Aeson..=) "created" (balanceTransactionCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (balanceTransactionCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (balanceTransactionDescription obj) GHC.Base.<> ((Data.Aeson..=) "exchange_rate" (balanceTransactionExchangeRate obj) GHC.Base.<> ((Data.Aeson..=) "fee" (balanceTransactionFee obj) GHC.Base.<> ((Data.Aeson..=) "fee_details" (balanceTransactionFeeDetails obj) GHC.Base.<> ((Data.Aeson..=) "id" (balanceTransactionId obj) GHC.Base.<> ((Data.Aeson..=) "net" (balanceTransactionNet obj) GHC.Base.<> ((Data.Aeson..=) "object" (balanceTransactionObject obj) GHC.Base.<> ((Data.Aeson..=) "reporting_category" (balanceTransactionReportingCategory obj) GHC.Base.<> ((Data.Aeson..=) "source" (balanceTransactionSource obj) GHC.Base.<> ((Data.Aeson..=) "status" (balanceTransactionStatus obj) GHC.Base.<> (Data.Aeson..=) "type" (balanceTransactionType obj))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON BalanceTransaction where parseJSON = Data.Aeson.Types.FromJSON.withObject "BalanceTransaction" (\obj -> ((((((((((((((GHC.Base.pure BalanceTransaction GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "available_on")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "exchange_rate")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fee")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fee_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "net")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reporting_category")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the enum schema balance_transactionObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data BalanceTransactionObject' = BalanceTransactionObject'EnumOther Data.Aeson.Types.Internal.Value | BalanceTransactionObject'EnumTyped GHC.Base.String | BalanceTransactionObject'EnumStringBalanceTransaction deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON BalanceTransactionObject' where toJSON (BalanceTransactionObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (BalanceTransactionObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (BalanceTransactionObject'EnumStringBalanceTransaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "balance_transaction" instance Data.Aeson.FromJSON BalanceTransactionObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "balance_transaction") then BalanceTransactionObject'EnumStringBalanceTransaction else BalanceTransactionObject'EnumOther val) -- | Define the one-of schema balance_transactionSource\' -- -- The Stripe object to which this transaction is related. data BalanceTransactionSource'Variants = BalanceTransactionSource'ApplicationFee ApplicationFee | BalanceTransactionSource'Charge Charge | BalanceTransactionSource'ConnectCollectionTransfer ConnectCollectionTransfer | BalanceTransactionSource'Dispute Dispute | BalanceTransactionSource'FeeRefund FeeRefund | BalanceTransactionSource'Issuing'authorization Issuing'authorization | BalanceTransactionSource'Issuing'transaction Issuing'transaction | BalanceTransactionSource'Payout Payout | BalanceTransactionSource'PlatformTaxFee PlatformTaxFee | BalanceTransactionSource'Refund Refund | BalanceTransactionSource'ReserveTransaction ReserveTransaction | BalanceTransactionSource'TaxDeductedAtSource TaxDeductedAtSource | BalanceTransactionSource'Topup Topup | BalanceTransactionSource'Transfer Transfer | BalanceTransactionSource'TransferReversal TransferReversal | BalanceTransactionSource'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON BalanceTransactionSource'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON BalanceTransactionSource'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema balance_transactionType\' -- -- Transaction type: \`adjustment\`, \`advance\`, \`advance_funding\`, \`application_fee\`, \`application_fee_refund\`, \`charge\`, \`connect_collection_transfer\`, \`issuing_authorization_hold\`, \`issuing_authorization_release\`, \`issuing_transaction\`, \`payment\`, \`payment_failure_refund\`, \`payment_refund\`, \`payout\`, \`payout_cancel\`, \`payout_failure\`, \`refund\`, \`refund_failure\`, \`reserve_transaction\`, \`reserved_funds\`, \`stripe_fee\`, \`stripe_fx_fee\`, \`tax_fee\`, \`topup\`, \`topup_reversal\`, \`transfer\`, \`transfer_cancel\`, \`transfer_failure\`, or \`transfer_refund\`. [Learn more](https:\/\/stripe.com\/docs\/reports\/balance-transaction-types) about balance transaction types and what they represent. If you are looking to classify transactions for accounting purposes, you might want to consider \`reporting_category\` instead. data BalanceTransactionType' = BalanceTransactionType'EnumOther Data.Aeson.Types.Internal.Value | BalanceTransactionType'EnumTyped GHC.Base.String | BalanceTransactionType'EnumStringAdjustment | BalanceTransactionType'EnumStringAdvance | BalanceTransactionType'EnumStringAdvanceFunding | BalanceTransactionType'EnumStringApplicationFee | BalanceTransactionType'EnumStringApplicationFeeRefund | BalanceTransactionType'EnumStringCharge | BalanceTransactionType'EnumStringConnectCollectionTransfer | BalanceTransactionType'EnumStringIssuingAuthorizationHold | BalanceTransactionType'EnumStringIssuingAuthorizationRelease | BalanceTransactionType'EnumStringIssuingTransaction | BalanceTransactionType'EnumStringPayment | BalanceTransactionType'EnumStringPaymentFailureRefund | BalanceTransactionType'EnumStringPaymentRefund | BalanceTransactionType'EnumStringPayout | BalanceTransactionType'EnumStringPayoutCancel | BalanceTransactionType'EnumStringPayoutFailure | BalanceTransactionType'EnumStringRefund | BalanceTransactionType'EnumStringRefundFailure | BalanceTransactionType'EnumStringReserveTransaction | BalanceTransactionType'EnumStringReservedFunds | BalanceTransactionType'EnumStringStripeFee | BalanceTransactionType'EnumStringStripeFxFee | BalanceTransactionType'EnumStringTaxFee | BalanceTransactionType'EnumStringTopup | BalanceTransactionType'EnumStringTopupReversal | BalanceTransactionType'EnumStringTransfer | BalanceTransactionType'EnumStringTransferCancel | BalanceTransactionType'EnumStringTransferFailure | BalanceTransactionType'EnumStringTransferRefund deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON BalanceTransactionType' where toJSON (BalanceTransactionType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (BalanceTransactionType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (BalanceTransactionType'EnumStringAdjustment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "adjustment" toJSON (BalanceTransactionType'EnumStringAdvance) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advance" toJSON (BalanceTransactionType'EnumStringAdvanceFunding) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advance_funding" toJSON (BalanceTransactionType'EnumStringApplicationFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee" toJSON (BalanceTransactionType'EnumStringApplicationFeeRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee_refund" toJSON (BalanceTransactionType'EnumStringCharge) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge" toJSON (BalanceTransactionType'EnumStringConnectCollectionTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "connect_collection_transfer" toJSON (BalanceTransactionType'EnumStringIssuingAuthorizationHold) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_authorization_hold" toJSON (BalanceTransactionType'EnumStringIssuingAuthorizationRelease) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_authorization_release" toJSON (BalanceTransactionType'EnumStringIssuingTransaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_transaction" toJSON (BalanceTransactionType'EnumStringPayment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment" toJSON (BalanceTransactionType'EnumStringPaymentFailureRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_failure_refund" toJSON (BalanceTransactionType'EnumStringPaymentRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_refund" toJSON (BalanceTransactionType'EnumStringPayout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout" toJSON (BalanceTransactionType'EnumStringPayoutCancel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout_cancel" toJSON (BalanceTransactionType'EnumStringPayoutFailure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout_failure" toJSON (BalanceTransactionType'EnumStringRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund" toJSON (BalanceTransactionType'EnumStringRefundFailure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund_failure" toJSON (BalanceTransactionType'EnumStringReserveTransaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reserve_transaction" toJSON (BalanceTransactionType'EnumStringReservedFunds) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reserved_funds" toJSON (BalanceTransactionType'EnumStringStripeFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stripe_fee" toJSON (BalanceTransactionType'EnumStringStripeFxFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stripe_fx_fee" toJSON (BalanceTransactionType'EnumStringTaxFee) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_fee" toJSON (BalanceTransactionType'EnumStringTopup) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup" toJSON (BalanceTransactionType'EnumStringTopupReversal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup_reversal" toJSON (BalanceTransactionType'EnumStringTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer" toJSON (BalanceTransactionType'EnumStringTransferCancel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_cancel" toJSON (BalanceTransactionType'EnumStringTransferFailure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_failure" toJSON (BalanceTransactionType'EnumStringTransferRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_refund" instance Data.Aeson.FromJSON BalanceTransactionType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "adjustment") then BalanceTransactionType'EnumStringAdjustment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advance") then BalanceTransactionType'EnumStringAdvance else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advance_funding") then BalanceTransactionType'EnumStringAdvanceFunding else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee") then BalanceTransactionType'EnumStringApplicationFee else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "application_fee_refund") then BalanceTransactionType'EnumStringApplicationFeeRefund else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge") then BalanceTransactionType'EnumStringCharge else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "connect_collection_transfer") then BalanceTransactionType'EnumStringConnectCollectionTransfer else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_authorization_hold") then BalanceTransactionType'EnumStringIssuingAuthorizationHold else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_authorization_release") then BalanceTransactionType'EnumStringIssuingAuthorizationRelease else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing_transaction") then BalanceTransactionType'EnumStringIssuingTransaction else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment") then BalanceTransactionType'EnumStringPayment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_failure_refund") then BalanceTransactionType'EnumStringPaymentFailureRefund else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_refund") then BalanceTransactionType'EnumStringPaymentRefund else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout") then BalanceTransactionType'EnumStringPayout else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout_cancel") then BalanceTransactionType'EnumStringPayoutCancel else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout_failure") then BalanceTransactionType'EnumStringPayoutFailure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund") then BalanceTransactionType'EnumStringRefund else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund_failure") then BalanceTransactionType'EnumStringRefundFailure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reserve_transaction") then BalanceTransactionType'EnumStringReserveTransaction else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reserved_funds") then BalanceTransactionType'EnumStringReservedFunds else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stripe_fee") then BalanceTransactionType'EnumStringStripeFee else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stripe_fx_fee") then BalanceTransactionType'EnumStringStripeFxFee else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_fee") then BalanceTransactionType'EnumStringTaxFee else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup") then BalanceTransactionType'EnumStringTopup else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup_reversal") then BalanceTransactionType'EnumStringTopupReversal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer") then BalanceTransactionType'EnumStringTransfer else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_cancel") then BalanceTransactionType'EnumStringTransferCancel else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_failure") then BalanceTransactionType'EnumStringTransferFailure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_refund") then BalanceTransactionType'EnumStringTransferRefund else BalanceTransactionType'EnumOther val) -- | Defines the data type for the schema bank_account -- -- These bank accounts are payment methods on \`Customer\` objects. -- -- On the other hand [External Accounts](https:\/\/stripe.com\/docs\/api\#external_accounts) are transfer -- destinations on \`Account\` objects for [Custom accounts](https:\/\/stripe.com\/docs\/connect\/custom-accounts). -- They can be bank accounts or debit cards as well, and are documented in the links above. -- -- Related guide: [Processing ACH & Bank Transfers](https:\/\/stripe.com\/docs\/payments\/ach-bank-transfers). data BankAccount = BankAccount { -- | account: The ID of the account that the bank account is associated with. bankAccountAccount :: (GHC.Maybe.Maybe BankAccountAccount'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountAccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountAccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountBankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountCountry :: GHC.Base.String -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , bankAccountCurrency :: GHC.Base.String -- | customer: The ID of the customer that the bank account is associated with. , bankAccountCustomer :: (GHC.Maybe.Maybe BankAccountCustomer'Variants) -- | default_for_currency: Whether this bank account is the default external account for its currency. , bankAccountDefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountFingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountId :: GHC.Base.String -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountLast4 :: GHC.Base.String -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , bankAccountMetadata :: (GHC.Maybe.Maybe BankAccountMetadata') -- | object: String representing the object\'s type. Objects of the same type share the same value. , bankAccountObject :: BankAccountObject' -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountRoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , bankAccountStatus :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON BankAccount where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (bankAccountAccount obj) : (Data.Aeson..=) "account_holder_name" (bankAccountAccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (bankAccountAccountHolderType obj) : (Data.Aeson..=) "bank_name" (bankAccountBankName obj) : (Data.Aeson..=) "country" (bankAccountCountry obj) : (Data.Aeson..=) "currency" (bankAccountCurrency obj) : (Data.Aeson..=) "customer" (bankAccountCustomer obj) : (Data.Aeson..=) "default_for_currency" (bankAccountDefaultForCurrency obj) : (Data.Aeson..=) "fingerprint" (bankAccountFingerprint obj) : (Data.Aeson..=) "id" (bankAccountId obj) : (Data.Aeson..=) "last4" (bankAccountLast4 obj) : (Data.Aeson..=) "metadata" (bankAccountMetadata obj) : (Data.Aeson..=) "object" (bankAccountObject obj) : (Data.Aeson..=) "routing_number" (bankAccountRoutingNumber obj) : (Data.Aeson..=) "status" (bankAccountStatus obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (bankAccountAccount obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (bankAccountAccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (bankAccountAccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (bankAccountBankName obj) GHC.Base.<> ((Data.Aeson..=) "country" (bankAccountCountry obj) GHC.Base.<> ((Data.Aeson..=) "currency" (bankAccountCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (bankAccountCustomer obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (bankAccountDefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (bankAccountFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "id" (bankAccountId obj) GHC.Base.<> ((Data.Aeson..=) "last4" (bankAccountLast4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (bankAccountMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (bankAccountObject obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (bankAccountRoutingNumber obj) GHC.Base.<> (Data.Aeson..=) "status" (bankAccountStatus obj))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON BankAccount where parseJSON = Data.Aeson.Types.FromJSON.withObject "BankAccount" (\obj -> ((((((((((((((GHC.Base.pure BankAccount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) -- | Define the one-of schema bank_accountAccount\' -- -- The ID of the account that the bank account is associated with. data BankAccountAccount'Variants = BankAccountAccount'Account Account | BankAccountAccount'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON BankAccountAccount'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON BankAccountAccount'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema bank_accountCustomer\' -- -- The ID of the customer that the bank account is associated with. data BankAccountCustomer'Variants = BankAccountCustomer'Customer Customer | BankAccountCustomer'DeletedCustomer DeletedCustomer | BankAccountCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON BankAccountCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON BankAccountCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema bank_accountMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data BankAccountMetadata' = BankAccountMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON BankAccountMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON BankAccountMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "BankAccountMetadata'" (\obj -> GHC.Base.pure BankAccountMetadata') -- | Defines the enum schema bank_accountObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data BankAccountObject' = BankAccountObject'EnumOther Data.Aeson.Types.Internal.Value | BankAccountObject'EnumTyped GHC.Base.String | BankAccountObject'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON BankAccountObject' where toJSON (BankAccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (BankAccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (BankAccountObject'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON BankAccountObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then BankAccountObject'EnumStringBankAccount else BankAccountObject'EnumOther val) -- | Defines the data type for the schema billing_details -- -- data BillingDetails = BillingDetails { -- | address: Billing address. billingDetailsAddress :: (GHC.Maybe.Maybe BillingDetailsAddress') -- | email: Email address. -- -- Constraints: -- -- * Maximum length of 5000 , billingDetailsEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Full name. -- -- Constraints: -- -- * Maximum length of 5000 , billingDetailsName :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Billing phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , billingDetailsPhone :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON BillingDetails where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (billingDetailsAddress obj) : (Data.Aeson..=) "email" (billingDetailsEmail obj) : (Data.Aeson..=) "name" (billingDetailsName obj) : (Data.Aeson..=) "phone" (billingDetailsPhone obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (billingDetailsAddress obj) GHC.Base.<> ((Data.Aeson..=) "email" (billingDetailsEmail obj) GHC.Base.<> ((Data.Aeson..=) "name" (billingDetailsName obj) GHC.Base.<> (Data.Aeson..=) "phone" (billingDetailsPhone obj)))) instance Data.Aeson.Types.FromJSON.FromJSON BillingDetails where parseJSON = Data.Aeson.Types.FromJSON.withObject "BillingDetails" (\obj -> (((GHC.Base.pure BillingDetails GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) -- | Defines the data type for the schema billing_detailsAddress\' -- -- Billing address. data BillingDetailsAddress' = BillingDetailsAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 billingDetailsAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , billingDetailsAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , billingDetailsAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , billingDetailsAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , billingDetailsAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , billingDetailsAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON BillingDetailsAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (billingDetailsAddress'City obj) : (Data.Aeson..=) "country" (billingDetailsAddress'Country obj) : (Data.Aeson..=) "line1" (billingDetailsAddress'Line1 obj) : (Data.Aeson..=) "line2" (billingDetailsAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (billingDetailsAddress'PostalCode obj) : (Data.Aeson..=) "state" (billingDetailsAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (billingDetailsAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (billingDetailsAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (billingDetailsAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (billingDetailsAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (billingDetailsAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (billingDetailsAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON BillingDetailsAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "BillingDetailsAddress'" (\obj -> (((((GHC.Base.pure BillingDetailsAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema capability -- -- This is an object representing a capability for a Stripe account. -- -- Related guide: [Capabilities Overview](https:\/\/stripe.com\/docs\/connect\/capabilities-overview). data Capability = Capability { -- | account: The account for which the capability enables functionality. capabilityAccount :: CapabilityAccount'Variants -- | id: The identifier for the capability. -- -- Constraints: -- -- * Maximum length of 5000 , capabilityId :: GHC.Base.String -- | object: String representing the object\'s type. Objects of the same type share the same value. , capabilityObject :: CapabilityObject' -- | requested: Whether the capability has been requested. , capabilityRequested :: GHC.Types.Bool -- | requested_at: Time at which the capability was requested. Measured in seconds since the Unix epoch. , capabilityRequestedAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | requirements: , capabilityRequirements :: (GHC.Maybe.Maybe AccountCapabilityRequirements) -- | status: The status of the capability. Can be \`active\`, \`inactive\`, \`pending\`, or \`unrequested\`. , capabilityStatus :: CapabilityStatus' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Capability where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (capabilityAccount obj) : (Data.Aeson..=) "id" (capabilityId obj) : (Data.Aeson..=) "object" (capabilityObject obj) : (Data.Aeson..=) "requested" (capabilityRequested obj) : (Data.Aeson..=) "requested_at" (capabilityRequestedAt obj) : (Data.Aeson..=) "requirements" (capabilityRequirements obj) : (Data.Aeson..=) "status" (capabilityStatus obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (capabilityAccount obj) GHC.Base.<> ((Data.Aeson..=) "id" (capabilityId obj) GHC.Base.<> ((Data.Aeson..=) "object" (capabilityObject obj) GHC.Base.<> ((Data.Aeson..=) "requested" (capabilityRequested obj) GHC.Base.<> ((Data.Aeson..=) "requested_at" (capabilityRequestedAt obj) GHC.Base.<> ((Data.Aeson..=) "requirements" (capabilityRequirements obj) GHC.Base.<> (Data.Aeson..=) "status" (capabilityStatus obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON Capability where parseJSON = Data.Aeson.Types.FromJSON.withObject "Capability" (\obj -> ((((((GHC.Base.pure Capability GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "requested")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requested_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requirements")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) -- | Define the one-of schema capabilityAccount\' -- -- The account for which the capability enables functionality. data CapabilityAccount'Variants = CapabilityAccount'Account Account | CapabilityAccount'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CapabilityAccount'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CapabilityAccount'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema capabilityObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data CapabilityObject' = CapabilityObject'EnumOther Data.Aeson.Types.Internal.Value | CapabilityObject'EnumTyped GHC.Base.String | CapabilityObject'EnumStringCapability deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CapabilityObject' where toJSON (CapabilityObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CapabilityObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CapabilityObject'EnumStringCapability) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "capability" instance Data.Aeson.FromJSON CapabilityObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "capability") then CapabilityObject'EnumStringCapability else CapabilityObject'EnumOther val) -- | Defines the enum schema capabilityStatus\' -- -- The status of the capability. Can be \`active\`, \`inactive\`, \`pending\`, or \`unrequested\`. data CapabilityStatus' = CapabilityStatus'EnumOther Data.Aeson.Types.Internal.Value | CapabilityStatus'EnumTyped GHC.Base.String | CapabilityStatus'EnumStringActive | CapabilityStatus'EnumStringDisabled | CapabilityStatus'EnumStringInactive | CapabilityStatus'EnumStringPending | CapabilityStatus'EnumStringUnrequested deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CapabilityStatus' where toJSON (CapabilityStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CapabilityStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CapabilityStatus'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active" toJSON (CapabilityStatus'EnumStringDisabled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "disabled" toJSON (CapabilityStatus'EnumStringInactive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive" toJSON (CapabilityStatus'EnumStringPending) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending" toJSON (CapabilityStatus'EnumStringUnrequested) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unrequested" instance Data.Aeson.FromJSON CapabilityStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active") then CapabilityStatus'EnumStringActive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "disabled") then CapabilityStatus'EnumStringDisabled else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive") then CapabilityStatus'EnumStringInactive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending") then CapabilityStatus'EnumStringPending else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unrequested") then CapabilityStatus'EnumStringUnrequested else CapabilityStatus'EnumOther val) -- | Defines the data type for the schema card -- -- You can store multiple cards on a customer in order to charge the customer -- later. You can also store multiple debit cards on a recipient in order to -- transfer to those cards later. -- -- Related guide: [Card Payments with Sources](https:\/\/stripe.com\/docs\/sources\/cards). data Card = Card { -- | account: The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead. cardAccount :: (GHC.Maybe.Maybe CardAccount'Variants) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , cardAddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , cardAddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , cardAddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , cardAddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , cardAddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , cardAddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , cardAddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , cardAddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , cardAvailablePayoutMethods :: (GHC.Maybe.Maybe ([] CardAvailablePayoutMethods')) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , cardBrand :: GHC.Base.String -- | country: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you\'ve collected. -- -- Constraints: -- -- * Maximum length of 5000 , cardCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | currency , cardCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead. , cardCustomer :: (GHC.Maybe.Maybe CardCustomer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , cardCvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this card is the default external account for its currency. , cardDefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , cardDynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | exp_month: Two-digit number representing the card\'s expiration month. , cardExpMonth :: GHC.Integer.Type.Integer -- | exp_year: Four-digit number representing the card\'s expiration year. , cardExpYear :: GHC.Integer.Type.Integer -- | fingerprint: Uniquely identifies this particular card number. You can use this attribute to check whether two customers who\'ve signed up with you are using the same card number, for example. -- -- Constraints: -- -- * Maximum length of 5000 , cardFingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , cardFunding :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , cardId :: GHC.Base.String -- | last4: The last four digits of the card. -- -- Constraints: -- -- * Maximum length of 5000 , cardLast4 :: GHC.Base.String -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , cardMetadata :: CardMetadata' -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , cardName :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , cardObject :: CardObject' -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , cardRecipient :: (GHC.Maybe.Maybe CardRecipient'Variants) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , cardTokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Card where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (cardAccount obj) : (Data.Aeson..=) "address_city" (cardAddressCity obj) : (Data.Aeson..=) "address_country" (cardAddressCountry obj) : (Data.Aeson..=) "address_line1" (cardAddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (cardAddressLine1Check obj) : (Data.Aeson..=) "address_line2" (cardAddressLine2 obj) : (Data.Aeson..=) "address_state" (cardAddressState obj) : (Data.Aeson..=) "address_zip" (cardAddressZip obj) : (Data.Aeson..=) "address_zip_check" (cardAddressZipCheck obj) : (Data.Aeson..=) "available_payout_methods" (cardAvailablePayoutMethods obj) : (Data.Aeson..=) "brand" (cardBrand obj) : (Data.Aeson..=) "country" (cardCountry obj) : (Data.Aeson..=) "currency" (cardCurrency obj) : (Data.Aeson..=) "customer" (cardCustomer obj) : (Data.Aeson..=) "cvc_check" (cardCvcCheck obj) : (Data.Aeson..=) "default_for_currency" (cardDefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (cardDynamicLast4 obj) : (Data.Aeson..=) "exp_month" (cardExpMonth obj) : (Data.Aeson..=) "exp_year" (cardExpYear obj) : (Data.Aeson..=) "fingerprint" (cardFingerprint obj) : (Data.Aeson..=) "funding" (cardFunding obj) : (Data.Aeson..=) "id" (cardId obj) : (Data.Aeson..=) "last4" (cardLast4 obj) : (Data.Aeson..=) "metadata" (cardMetadata obj) : (Data.Aeson..=) "name" (cardName obj) : (Data.Aeson..=) "object" (cardObject obj) : (Data.Aeson..=) "recipient" (cardRecipient obj) : (Data.Aeson..=) "tokenization_method" (cardTokenizationMethod obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (cardAccount obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (cardAddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (cardAddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (cardAddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (cardAddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (cardAddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (cardAddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (cardAddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (cardAddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (cardAvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "brand" (cardBrand obj) GHC.Base.<> ((Data.Aeson..=) "country" (cardCountry obj) GHC.Base.<> ((Data.Aeson..=) "currency" (cardCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (cardCustomer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (cardCvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (cardDefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (cardDynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (cardExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (cardExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (cardFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (cardFunding obj) GHC.Base.<> ((Data.Aeson..=) "id" (cardId obj) GHC.Base.<> ((Data.Aeson..=) "last4" (cardLast4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (cardMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (cardName obj) GHC.Base.<> ((Data.Aeson..=) "object" (cardObject obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (cardRecipient obj) GHC.Base.<> (Data.Aeson..=) "tokenization_method" (cardTokenizationMethod obj)))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Card where parseJSON = Data.Aeson.Types.FromJSON.withObject "Card" (\obj -> (((((((((((((((((((((((((((GHC.Base.pure Card GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) -- | Define the one-of schema cardAccount\' -- -- The account this card belongs to. This attribute will not be in the card object if the card belongs to a customer or recipient instead. data CardAccount'Variants = CardAccount'Account Account | CardAccount'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CardAccount'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CardAccount'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema cardAvailable_payout_methods\' -- -- data CardAvailablePayoutMethods' = CardAvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | CardAvailablePayoutMethods'EnumTyped GHC.Base.String | CardAvailablePayoutMethods'EnumStringInstant | CardAvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CardAvailablePayoutMethods' where toJSON (CardAvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CardAvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CardAvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (CardAvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON CardAvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then CardAvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then CardAvailablePayoutMethods'EnumStringStandard else CardAvailablePayoutMethods'EnumOther val) -- | Define the one-of schema cardCustomer\' -- -- The customer that this card belongs to. This attribute will not be in the card object if the card belongs to an account or recipient instead. data CardCustomer'Variants = CardCustomer'Customer Customer | CardCustomer'DeletedCustomer DeletedCustomer | CardCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CardCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CardCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema cardMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data CardMetadata' = CardMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CardMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON CardMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CardMetadata'" (\obj -> GHC.Base.pure CardMetadata') -- | Defines the enum schema cardObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data CardObject' = CardObject'EnumOther Data.Aeson.Types.Internal.Value | CardObject'EnumTyped GHC.Base.String | CardObject'EnumStringCard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CardObject' where toJSON (CardObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CardObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CardObject'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card" instance Data.Aeson.FromJSON CardObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card") then CardObject'EnumStringCard else CardObject'EnumOther val) -- | Define the one-of schema cardRecipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data CardRecipient'Variants = CardRecipient'Recipient Recipient | CardRecipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CardRecipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CardRecipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema charge -- -- To charge a credit or a debit card, you create a \`Charge\` object. You can -- retrieve and refund individual charges as well as list all charges. Charges -- are identified by a unique, random ID. -- -- Related guide: [Accept a payment with the Charges API](https:\/\/stripe.com\/docs\/payments\/accept-a-payment-charges). data Charge = Charge { -- | amount: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https:\/\/stripe.com\/docs\/currencies\#zero-decimal) (e.g., 100 cents to charge \$1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is \$0.50 US or [equivalent in charge currency](https:\/\/stripe.com\/docs\/currencies\#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of \$999,999.99). chargeAmount :: GHC.Integer.Type.Integer -- | amount_refunded: Amount in %s refunded (can be less than the amount attribute on the charge if a partial refund was issued). , chargeAmountRefunded :: GHC.Integer.Type.Integer -- | application: ID of the Connect application that created the charge. , chargeApplication :: (GHC.Maybe.Maybe ChargeApplication'Variants) -- | application_fee: The application fee (if any) for the charge. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/direct-charges\#collecting-fees) for details. , chargeApplicationFee :: (GHC.Maybe.Maybe ChargeApplicationFee'Variants) -- | application_fee_amount: The amount of the application fee (if any) for the charge. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/direct-charges\#collecting-fees) for details. , chargeApplicationFeeAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | balance_transaction: ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes). , chargeBalanceTransaction :: (GHC.Maybe.Maybe ChargeBalanceTransaction'Variants) -- | billing_details: , chargeBillingDetails :: BillingDetails -- | captured: If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured. , chargeCaptured :: GHC.Types.Bool -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , chargeCreated :: GHC.Integer.Type.Integer -- | 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). , chargeCurrency :: GHC.Base.String -- | customer: ID of the customer this charge is for if one exists. , chargeCustomer :: (GHC.Maybe.Maybe ChargeCustomer'Variants) -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 40000 , chargeDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | disputed: Whether the charge has been disputed. , chargeDisputed :: GHC.Types.Bool -- | failure_code: Error code explaining reason for charge failure if available (see [the errors section](https:\/\/stripe.com\/docs\/api\#errors) for a list of codes). -- -- Constraints: -- -- * Maximum length of 5000 , chargeFailureCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | failure_message: Message to user further explaining reason for charge failure if available. -- -- Constraints: -- -- * Maximum length of 5000 , chargeFailureMessage :: (GHC.Maybe.Maybe GHC.Base.String) -- | fraud_details: Information on fraud assessments for the charge. , chargeFraudDetails :: (GHC.Maybe.Maybe ChargeFraudDetails') -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , chargeId :: GHC.Base.String -- | invoice: ID of the invoice this charge is for if one exists. , chargeInvoice :: (GHC.Maybe.Maybe ChargeInvoice'Variants) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , chargeLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , chargeMetadata :: ChargeMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , chargeObject :: ChargeObject' -- | on_behalf_of: The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https:\/\/stripe.com\/docs\/connect\/charges-transfers) for details. , chargeOnBehalfOf :: (GHC.Maybe.Maybe ChargeOnBehalfOf'Variants) -- | order: ID of the order this charge is for if one exists. , chargeOrder :: (GHC.Maybe.Maybe ChargeOrder'Variants) -- | outcome: Details about whether the payment was accepted, and why. See [understanding declines](https:\/\/stripe.com\/docs\/declines) for details. , chargeOutcome :: (GHC.Maybe.Maybe ChargeOutcome') -- | paid: \`true\` if the charge succeeded, or was successfully authorized for later capture. , chargePaid :: GHC.Types.Bool -- | payment_intent: ID of the PaymentIntent associated with this charge, if one exists. -- -- Constraints: -- -- * Maximum length of 5000 , chargePaymentIntent :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_method: ID of the payment method used in this charge. -- -- Constraints: -- -- * Maximum length of 5000 , chargePaymentMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_method_details: Details about the payment method at the time of the transaction. , chargePaymentMethodDetails :: (GHC.Maybe.Maybe ChargePaymentMethodDetails') -- | receipt_email: This is the email address that the receipt for this charge was sent to. -- -- Constraints: -- -- * Maximum length of 5000 , chargeReceiptEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | receipt_number: This is the transaction number that appears on email receipts sent for this charge. This attribute will be \`null\` until a receipt has been sent. -- -- Constraints: -- -- * Maximum length of 5000 , chargeReceiptNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | receipt_url: This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt. -- -- Constraints: -- -- * Maximum length of 5000 , chargeReceiptUrl :: GHC.Base.String -- | refunded: Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false. , chargeRefunded :: GHC.Types.Bool -- | refunds: A list of refunds that have been applied to the charge. , chargeRefunds :: ChargeRefunds' -- | review: ID of the review associated with this charge if one exists. , chargeReview :: (GHC.Maybe.Maybe ChargeReview'Variants) -- | shipping: Shipping information for the charge. , chargeShipping :: (GHC.Maybe.Maybe ChargeShipping') -- | source_transfer: The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/destination-charges) for details. , chargeSourceTransfer :: (GHC.Maybe.Maybe ChargeSourceTransfer'Variants) -- | statement_descriptor: For card charges, use \`statement_descriptor_suffix\` instead. Otherwise, you can use this value as the complete description of a charge on your customers’ statements. Must contain at least one letter, maximum 22 characters. -- -- Constraints: -- -- * Maximum length of 5000 , chargeStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | statement_descriptor_suffix: Provides information about the charge that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. -- -- Constraints: -- -- * Maximum length of 5000 , chargeStatementDescriptorSuffix :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: The status of the payment is either \`succeeded\`, \`pending\`, or \`failed\`. -- -- Constraints: -- -- * Maximum length of 5000 , chargeStatus :: GHC.Base.String -- | transfer: ID of the transfer to the \`destination\` account (only applicable if the charge was created using the \`destination\` parameter). , chargeTransfer :: (GHC.Maybe.Maybe ChargeTransfer'Variants) -- | transfer_data: An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/destination-charges) for details. , chargeTransferData :: (GHC.Maybe.Maybe ChargeTransferData') -- | transfer_group: A string that identifies this transaction as part of a group. See the [Connect documentation](https:\/\/stripe.com\/docs\/connect\/charges-transfers\#transfer-options) for details. -- -- Constraints: -- -- * Maximum length of 5000 , chargeTransferGroup :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Charge where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (chargeAmount obj) : (Data.Aeson..=) "amount_refunded" (chargeAmountRefunded obj) : (Data.Aeson..=) "application" (chargeApplication obj) : (Data.Aeson..=) "application_fee" (chargeApplicationFee obj) : (Data.Aeson..=) "application_fee_amount" (chargeApplicationFeeAmount obj) : (Data.Aeson..=) "balance_transaction" (chargeBalanceTransaction obj) : (Data.Aeson..=) "billing_details" (chargeBillingDetails obj) : (Data.Aeson..=) "captured" (chargeCaptured obj) : (Data.Aeson..=) "created" (chargeCreated obj) : (Data.Aeson..=) "currency" (chargeCurrency obj) : (Data.Aeson..=) "customer" (chargeCustomer obj) : (Data.Aeson..=) "description" (chargeDescription obj) : (Data.Aeson..=) "disputed" (chargeDisputed obj) : (Data.Aeson..=) "failure_code" (chargeFailureCode obj) : (Data.Aeson..=) "failure_message" (chargeFailureMessage obj) : (Data.Aeson..=) "fraud_details" (chargeFraudDetails obj) : (Data.Aeson..=) "id" (chargeId obj) : (Data.Aeson..=) "invoice" (chargeInvoice obj) : (Data.Aeson..=) "livemode" (chargeLivemode obj) : (Data.Aeson..=) "metadata" (chargeMetadata obj) : (Data.Aeson..=) "object" (chargeObject obj) : (Data.Aeson..=) "on_behalf_of" (chargeOnBehalfOf obj) : (Data.Aeson..=) "order" (chargeOrder obj) : (Data.Aeson..=) "outcome" (chargeOutcome obj) : (Data.Aeson..=) "paid" (chargePaid obj) : (Data.Aeson..=) "payment_intent" (chargePaymentIntent obj) : (Data.Aeson..=) "payment_method" (chargePaymentMethod obj) : (Data.Aeson..=) "payment_method_details" (chargePaymentMethodDetails obj) : (Data.Aeson..=) "receipt_email" (chargeReceiptEmail obj) : (Data.Aeson..=) "receipt_number" (chargeReceiptNumber obj) : (Data.Aeson..=) "receipt_url" (chargeReceiptUrl obj) : (Data.Aeson..=) "refunded" (chargeRefunded obj) : (Data.Aeson..=) "refunds" (chargeRefunds obj) : (Data.Aeson..=) "review" (chargeReview obj) : (Data.Aeson..=) "shipping" (chargeShipping obj) : (Data.Aeson..=) "source_transfer" (chargeSourceTransfer obj) : (Data.Aeson..=) "statement_descriptor" (chargeStatementDescriptor obj) : (Data.Aeson..=) "statement_descriptor_suffix" (chargeStatementDescriptorSuffix obj) : (Data.Aeson..=) "status" (chargeStatus obj) : (Data.Aeson..=) "transfer" (chargeTransfer obj) : (Data.Aeson..=) "transfer_data" (chargeTransferData obj) : (Data.Aeson..=) "transfer_group" (chargeTransferGroup obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (chargeAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_refunded" (chargeAmountRefunded obj) GHC.Base.<> ((Data.Aeson..=) "application" (chargeApplication obj) GHC.Base.<> ((Data.Aeson..=) "application_fee" (chargeApplicationFee obj) GHC.Base.<> ((Data.Aeson..=) "application_fee_amount" (chargeApplicationFeeAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (chargeBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "billing_details" (chargeBillingDetails obj) GHC.Base.<> ((Data.Aeson..=) "captured" (chargeCaptured obj) GHC.Base.<> ((Data.Aeson..=) "created" (chargeCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (chargeCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (chargeCustomer obj) GHC.Base.<> ((Data.Aeson..=) "description" (chargeDescription obj) GHC.Base.<> ((Data.Aeson..=) "disputed" (chargeDisputed obj) GHC.Base.<> ((Data.Aeson..=) "failure_code" (chargeFailureCode obj) GHC.Base.<> ((Data.Aeson..=) "failure_message" (chargeFailureMessage obj) GHC.Base.<> ((Data.Aeson..=) "fraud_details" (chargeFraudDetails obj) GHC.Base.<> ((Data.Aeson..=) "id" (chargeId obj) GHC.Base.<> ((Data.Aeson..=) "invoice" (chargeInvoice obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (chargeLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (chargeMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (chargeObject obj) GHC.Base.<> ((Data.Aeson..=) "on_behalf_of" (chargeOnBehalfOf obj) GHC.Base.<> ((Data.Aeson..=) "order" (chargeOrder obj) GHC.Base.<> ((Data.Aeson..=) "outcome" (chargeOutcome obj) GHC.Base.<> ((Data.Aeson..=) "paid" (chargePaid obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (chargePaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (chargePaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_details" (chargePaymentMethodDetails obj) GHC.Base.<> ((Data.Aeson..=) "receipt_email" (chargeReceiptEmail obj) GHC.Base.<> ((Data.Aeson..=) "receipt_number" (chargeReceiptNumber obj) GHC.Base.<> ((Data.Aeson..=) "receipt_url" (chargeReceiptUrl obj) GHC.Base.<> ((Data.Aeson..=) "refunded" (chargeRefunded obj) GHC.Base.<> ((Data.Aeson..=) "refunds" (chargeRefunds obj) GHC.Base.<> ((Data.Aeson..=) "review" (chargeReview obj) GHC.Base.<> ((Data.Aeson..=) "shipping" (chargeShipping obj) GHC.Base.<> ((Data.Aeson..=) "source_transfer" (chargeSourceTransfer obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (chargeStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor_suffix" (chargeStatementDescriptorSuffix obj) GHC.Base.<> ((Data.Aeson..=) "status" (chargeStatus obj) GHC.Base.<> ((Data.Aeson..=) "transfer" (chargeTransfer obj) GHC.Base.<> ((Data.Aeson..=) "transfer_data" (chargeTransferData obj) GHC.Base.<> (Data.Aeson..=) "transfer_group" (chargeTransferGroup obj)))))))))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Charge where parseJSON = Data.Aeson.Types.FromJSON.withObject "Charge" (\obj -> (((((((((((((((((((((((((((((((((((((((((GHC.Base.pure Charge GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount_refunded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "billing_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "captured")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "disputed")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fraud_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "on_behalf_of")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "outcome")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "paid")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "receipt_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "refunded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "refunds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "review")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor_suffix")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_group")) -- | Define the one-of schema chargeApplication\' -- -- ID of the Connect application that created the charge. data ChargeApplication'Variants = ChargeApplication'Application Application | ChargeApplication'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeApplication'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeApplication'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema chargeApplication_fee\' -- -- The application fee (if any) for the charge. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/direct-charges\#collecting-fees) for details. data ChargeApplicationFee'Variants = ChargeApplicationFee'ApplicationFee ApplicationFee | ChargeApplicationFee'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeApplicationFee'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeApplicationFee'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema chargeBalance_transaction\' -- -- ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes). data ChargeBalanceTransaction'Variants = ChargeBalanceTransaction'BalanceTransaction BalanceTransaction | ChargeBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema chargeCustomer\' -- -- ID of the customer this charge is for if one exists. data ChargeCustomer'Variants = ChargeCustomer'Customer Customer | ChargeCustomer'DeletedCustomer DeletedCustomer | ChargeCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema chargeFraud_details\' -- -- Information on fraud assessments for the charge. data ChargeFraudDetails' = ChargeFraudDetails' { -- | stripe_report: Assessments from Stripe. If set, the value is \`fraudulent\`. -- -- Constraints: -- -- * Maximum length of 5000 chargeFraudDetails'StripeReport :: (GHC.Maybe.Maybe GHC.Base.String) -- | user_report: Assessments reported by you. If set, possible values of are \`safe\` and \`fraudulent\`. -- -- Constraints: -- -- * Maximum length of 5000 , chargeFraudDetails'UserReport :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeFraudDetails' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "stripe_report" (chargeFraudDetails'StripeReport obj) : (Data.Aeson..=) "user_report" (chargeFraudDetails'UserReport obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "stripe_report" (chargeFraudDetails'StripeReport obj) GHC.Base.<> (Data.Aeson..=) "user_report" (chargeFraudDetails'UserReport obj)) instance Data.Aeson.Types.FromJSON.FromJSON ChargeFraudDetails' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeFraudDetails'" (\obj -> (GHC.Base.pure ChargeFraudDetails' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "stripe_report")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "user_report")) -- | Define the one-of schema chargeInvoice\' -- -- ID of the invoice this charge is for if one exists. data ChargeInvoice'Variants = ChargeInvoice'Invoice Invoice | ChargeInvoice'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeInvoice'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeInvoice'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema chargeMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data ChargeMetadata' = ChargeMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON ChargeMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeMetadata'" (\obj -> GHC.Base.pure ChargeMetadata') -- | Defines the enum schema chargeObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ChargeObject' = ChargeObject'EnumOther Data.Aeson.Types.Internal.Value | ChargeObject'EnumTyped GHC.Base.String | ChargeObject'EnumStringCharge deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeObject' where toJSON (ChargeObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ChargeObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ChargeObject'EnumStringCharge) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge" instance Data.Aeson.FromJSON ChargeObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge") then ChargeObject'EnumStringCharge else ChargeObject'EnumOther val) -- | Define the one-of schema chargeOn_behalf_of\' -- -- The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https:\/\/stripe.com\/docs\/connect\/charges-transfers) for details. data ChargeOnBehalfOf'Variants = ChargeOnBehalfOf'Account Account | ChargeOnBehalfOf'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeOnBehalfOf'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeOnBehalfOf'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema chargeOrder\' -- -- ID of the order this charge is for if one exists. data ChargeOrder'Variants = ChargeOrder'Order Order | ChargeOrder'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeOrder'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeOrder'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema chargeOutcome\' -- -- Details about whether the payment was accepted, and why. See [understanding declines](https:\\\/\\\/stripe.com\\\/docs\\\/declines) for details. data ChargeOutcome' = ChargeOutcome' { -- | network_status: Possible values are \`approved_by_network\`, \`declined_by_network\`, \`not_sent_to_network\`, and \`reversed_after_approval\`. The value \`reversed_after_approval\` indicates the payment was [blocked by Stripe](https:\/\/stripe.com\/docs\/declines\#blocked-payments) after bank authorization, and may temporarily appear as \"pending\" on a cardholder\'s statement. -- -- Constraints: -- -- * Maximum length of 5000 chargeOutcome'NetworkStatus :: (GHC.Maybe.Maybe GHC.Base.String) -- | reason: An enumerated value providing a more detailed explanation of the outcome\'s \`type\`. Charges blocked by Radar\'s default block rule have the value \`highest_risk_level\`. Charges placed in review by Radar\'s default review rule have the value \`elevated_risk_level\`. Charges authorized, blocked, or placed in review by custom rules have the value \`rule\`. See [understanding declines](https:\/\/stripe.com\/docs\/declines) for more details. -- -- Constraints: -- -- * Maximum length of 5000 , chargeOutcome'Reason :: (GHC.Maybe.Maybe GHC.Base.String) -- | risk_level: Stripe\'s evaluation of the riskiness of the payment. Possible values for evaluated payments are \`normal\`, \`elevated\`, \`highest\`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value \`not_assessed\`. In the event of an error in the evaluation, this field will have the value \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , chargeOutcome'RiskLevel :: (GHC.Maybe.Maybe GHC.Base.String) -- | risk_score: Stripe\'s evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams. , chargeOutcome'RiskScore :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | rule: The ID of the Radar rule that matched the payment, if applicable. , chargeOutcome'Rule :: (GHC.Maybe.Maybe ChargeOutcome'Rule'Variants) -- | seller_message: A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer. -- -- Constraints: -- -- * Maximum length of 5000 , chargeOutcome'SellerMessage :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: Possible values are \`authorized\`, \`manual_review\`, \`issuer_declined\`, \`blocked\`, and \`invalid\`. See [understanding declines](https:\/\/stripe.com\/docs\/declines) and [Radar reviews](https:\/\/stripe.com\/docs\/radar\/reviews) for details. -- -- Constraints: -- -- * Maximum length of 5000 , chargeOutcome'Type :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeOutcome' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "network_status" (chargeOutcome'NetworkStatus obj) : (Data.Aeson..=) "reason" (chargeOutcome'Reason obj) : (Data.Aeson..=) "risk_level" (chargeOutcome'RiskLevel obj) : (Data.Aeson..=) "risk_score" (chargeOutcome'RiskScore obj) : (Data.Aeson..=) "rule" (chargeOutcome'Rule obj) : (Data.Aeson..=) "seller_message" (chargeOutcome'SellerMessage obj) : (Data.Aeson..=) "type" (chargeOutcome'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "network_status" (chargeOutcome'NetworkStatus obj) GHC.Base.<> ((Data.Aeson..=) "reason" (chargeOutcome'Reason obj) GHC.Base.<> ((Data.Aeson..=) "risk_level" (chargeOutcome'RiskLevel obj) GHC.Base.<> ((Data.Aeson..=) "risk_score" (chargeOutcome'RiskScore obj) GHC.Base.<> ((Data.Aeson..=) "rule" (chargeOutcome'Rule obj) GHC.Base.<> ((Data.Aeson..=) "seller_message" (chargeOutcome'SellerMessage obj) GHC.Base.<> (Data.Aeson..=) "type" (chargeOutcome'Type obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON ChargeOutcome' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeOutcome'" (\obj -> ((((((GHC.Base.pure ChargeOutcome' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "network_status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "risk_level")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "risk_score")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "rule")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "seller_message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Define the one-of schema chargeOutcome\'Rule\' -- -- The ID of the Radar rule that matched the payment, if applicable. data ChargeOutcome'Rule'Variants = ChargeOutcome'Rule'Rule Rule | ChargeOutcome'Rule'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeOutcome'Rule'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeOutcome'Rule'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema chargePayment_method_details\' -- -- Details about the payment method at the time of the transaction. data ChargePaymentMethodDetails' = ChargePaymentMethodDetails' { -- | ach_credit_transfer: chargePaymentMethodDetails'AchCreditTransfer :: (GHC.Maybe.Maybe PaymentMethodDetailsAchCreditTransfer) -- | ach_debit: , chargePaymentMethodDetails'AchDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsAchDebit) -- | alipay: , chargePaymentMethodDetails'Alipay :: (GHC.Maybe.Maybe PaymentMethodDetailsAlipay) -- | bancontact: , chargePaymentMethodDetails'Bancontact :: (GHC.Maybe.Maybe PaymentMethodDetailsBancontact) -- | card: , chargePaymentMethodDetails'Card :: (GHC.Maybe.Maybe PaymentMethodDetailsCard) -- | card_present: , chargePaymentMethodDetails'CardPresent :: (GHC.Maybe.Maybe PaymentMethodDetailsCardPresent) -- | eps: , chargePaymentMethodDetails'Eps :: (GHC.Maybe.Maybe PaymentMethodDetailsEps) -- | fpx: , chargePaymentMethodDetails'Fpx :: (GHC.Maybe.Maybe PaymentMethodDetailsFpx) -- | giropay: , chargePaymentMethodDetails'Giropay :: (GHC.Maybe.Maybe PaymentMethodDetailsGiropay) -- | ideal: , chargePaymentMethodDetails'Ideal :: (GHC.Maybe.Maybe PaymentMethodDetailsIdeal) -- | klarna: , chargePaymentMethodDetails'Klarna :: (GHC.Maybe.Maybe PaymentMethodDetailsKlarna) -- | multibanco: , chargePaymentMethodDetails'Multibanco :: (GHC.Maybe.Maybe PaymentMethodDetailsMultibanco) -- | p24: , chargePaymentMethodDetails'P24 :: (GHC.Maybe.Maybe PaymentMethodDetailsP24) -- | sepa_debit: , chargePaymentMethodDetails'SepaDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsSepaDebit) -- | sofort: , chargePaymentMethodDetails'Sofort :: (GHC.Maybe.Maybe PaymentMethodDetailsSofort) -- | stripe_account: , chargePaymentMethodDetails'StripeAccount :: (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\`, \`alipay\`, \`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 , chargePaymentMethodDetails'Type :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat: , chargePaymentMethodDetails'Wechat :: (GHC.Maybe.Maybe PaymentMethodDetailsWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargePaymentMethodDetails' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "ach_credit_transfer" (chargePaymentMethodDetails'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (chargePaymentMethodDetails'AchDebit obj) : (Data.Aeson..=) "alipay" (chargePaymentMethodDetails'Alipay obj) : (Data.Aeson..=) "bancontact" (chargePaymentMethodDetails'Bancontact obj) : (Data.Aeson..=) "card" (chargePaymentMethodDetails'Card obj) : (Data.Aeson..=) "card_present" (chargePaymentMethodDetails'CardPresent obj) : (Data.Aeson..=) "eps" (chargePaymentMethodDetails'Eps obj) : (Data.Aeson..=) "fpx" (chargePaymentMethodDetails'Fpx obj) : (Data.Aeson..=) "giropay" (chargePaymentMethodDetails'Giropay obj) : (Data.Aeson..=) "ideal" (chargePaymentMethodDetails'Ideal obj) : (Data.Aeson..=) "klarna" (chargePaymentMethodDetails'Klarna obj) : (Data.Aeson..=) "multibanco" (chargePaymentMethodDetails'Multibanco obj) : (Data.Aeson..=) "p24" (chargePaymentMethodDetails'P24 obj) : (Data.Aeson..=) "sepa_debit" (chargePaymentMethodDetails'SepaDebit obj) : (Data.Aeson..=) "sofort" (chargePaymentMethodDetails'Sofort obj) : (Data.Aeson..=) "stripe_account" (chargePaymentMethodDetails'StripeAccount obj) : (Data.Aeson..=) "type" (chargePaymentMethodDetails'Type obj) : (Data.Aeson..=) "wechat" (chargePaymentMethodDetails'Wechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "ach_credit_transfer" (chargePaymentMethodDetails'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (chargePaymentMethodDetails'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (chargePaymentMethodDetails'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (chargePaymentMethodDetails'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "card" (chargePaymentMethodDetails'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (chargePaymentMethodDetails'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "eps" (chargePaymentMethodDetails'Eps obj) GHC.Base.<> ((Data.Aeson..=) "fpx" (chargePaymentMethodDetails'Fpx obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (chargePaymentMethodDetails'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (chargePaymentMethodDetails'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (chargePaymentMethodDetails'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (chargePaymentMethodDetails'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "p24" (chargePaymentMethodDetails'P24 obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (chargePaymentMethodDetails'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (chargePaymentMethodDetails'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "stripe_account" (chargePaymentMethodDetails'StripeAccount obj) GHC.Base.<> ((Data.Aeson..=) "type" (chargePaymentMethodDetails'Type obj) GHC.Base.<> (Data.Aeson..=) "wechat" (chargePaymentMethodDetails'Wechat obj)))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ChargePaymentMethodDetails' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargePaymentMethodDetails'" (\obj -> (((((((((((((((((GHC.Base.pure ChargePaymentMethodDetails' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fpx")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "stripe_account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Defines the data type for the schema chargeRefunds\' -- -- A list of refunds that have been applied to the charge. data ChargeRefunds' = ChargeRefunds' { -- | data: Details about each object. chargeRefunds'Data :: ([] Refund) -- | has_more: True if this list has another page of items after this one that can be fetched. , chargeRefunds'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , chargeRefunds'Object :: ChargeRefunds'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , chargeRefunds'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeRefunds' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (chargeRefunds'Data obj) : (Data.Aeson..=) "has_more" (chargeRefunds'HasMore obj) : (Data.Aeson..=) "object" (chargeRefunds'Object obj) : (Data.Aeson..=) "url" (chargeRefunds'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (chargeRefunds'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (chargeRefunds'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (chargeRefunds'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (chargeRefunds'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON ChargeRefunds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeRefunds'" (\obj -> (((GHC.Base.pure ChargeRefunds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema chargeRefunds\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data ChargeRefunds'Object' = ChargeRefunds'Object'EnumOther Data.Aeson.Types.Internal.Value | ChargeRefunds'Object'EnumTyped GHC.Base.String | ChargeRefunds'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeRefunds'Object' where toJSON (ChargeRefunds'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ChargeRefunds'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ChargeRefunds'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON ChargeRefunds'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then ChargeRefunds'Object'EnumStringList else ChargeRefunds'Object'EnumOther val) -- | Define the one-of schema chargeReview\' -- -- ID of the review associated with this charge if one exists. data ChargeReview'Variants = ChargeReview'Review Review | ChargeReview'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeReview'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeReview'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema chargeShipping\' -- -- Shipping information for the charge. data ChargeShipping' = ChargeShipping' { -- | address: chargeShipping'Address :: (GHC.Maybe.Maybe Address) -- | carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. -- -- Constraints: -- -- * Maximum length of 5000 , chargeShipping'Carrier :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Recipient name. -- -- Constraints: -- -- * Maximum length of 5000 , chargeShipping'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Recipient phone (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , chargeShipping'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. -- -- Constraints: -- -- * Maximum length of 5000 , chargeShipping'TrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeShipping' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (chargeShipping'Address obj) : (Data.Aeson..=) "carrier" (chargeShipping'Carrier obj) : (Data.Aeson..=) "name" (chargeShipping'Name obj) : (Data.Aeson..=) "phone" (chargeShipping'Phone obj) : (Data.Aeson..=) "tracking_number" (chargeShipping'TrackingNumber obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (chargeShipping'Address obj) GHC.Base.<> ((Data.Aeson..=) "carrier" (chargeShipping'Carrier obj) GHC.Base.<> ((Data.Aeson..=) "name" (chargeShipping'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (chargeShipping'Phone obj) GHC.Base.<> (Data.Aeson..=) "tracking_number" (chargeShipping'TrackingNumber obj))))) instance Data.Aeson.Types.FromJSON.FromJSON ChargeShipping' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeShipping'" (\obj -> ((((GHC.Base.pure ChargeShipping' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number")) -- | Define the one-of schema chargeSource_transfer\' -- -- The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https:\/\/stripe.com\/docs\/connect\/destination-charges) for details. data ChargeSourceTransfer'Variants = ChargeSourceTransfer'Transfer Transfer | ChargeSourceTransfer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeSourceTransfer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeSourceTransfer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema chargeTransfer\' -- -- ID of the transfer to the \`destination\` account (only applicable if the charge was created using the \`destination\` parameter). data ChargeTransfer'Variants = ChargeTransfer'Transfer Transfer | ChargeTransfer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeTransfer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeTransfer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema chargeTransfer_data\' -- -- An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https:\\\/\\\/stripe.com\\\/docs\\\/connect\\\/destination-charges) for details. data ChargeTransferData' = ChargeTransferData' { -- | amount: The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account. chargeTransferData'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | destination: ID of an existing, connected Stripe account to transfer funds to if \`transfer_data\` was specified in the charge request. , chargeTransferData'Destination :: (GHC.Maybe.Maybe ChargeTransferData'Destination'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeTransferData' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (chargeTransferData'Amount obj) : (Data.Aeson..=) "destination" (chargeTransferData'Destination obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (chargeTransferData'Amount obj) GHC.Base.<> (Data.Aeson..=) "destination" (chargeTransferData'Destination obj)) instance Data.Aeson.Types.FromJSON.FromJSON ChargeTransferData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeTransferData'" (\obj -> (GHC.Base.pure ChargeTransferData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "destination")) -- | Define the one-of schema chargeTransfer_data\'Destination\' -- -- ID of an existing, connected Stripe account to transfer funds to if \`transfer_data\` was specified in the charge request. data ChargeTransferData'Destination'Variants = ChargeTransferData'Destination'Account Account | ChargeTransferData'Destination'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeTransferData'Destination'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeTransferData'Destination'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema charge_transfer_data -- -- data ChargeTransferData = ChargeTransferData { -- | amount: The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account. chargeTransferDataAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | destination: ID of an existing, connected Stripe account to transfer funds to if \`transfer_data\` was specified in the charge request. , chargeTransferDataDestination :: ChargeTransferDataDestination'Variants } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ChargeTransferData where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (chargeTransferDataAmount obj) : (Data.Aeson..=) "destination" (chargeTransferDataDestination obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (chargeTransferDataAmount obj) GHC.Base.<> (Data.Aeson..=) "destination" (chargeTransferDataDestination obj)) instance Data.Aeson.Types.FromJSON.FromJSON ChargeTransferData where parseJSON = Data.Aeson.Types.FromJSON.withObject "ChargeTransferData" (\obj -> (GHC.Base.pure ChargeTransferData GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "destination")) -- | Define the one-of schema charge_transfer_dataDestination\' -- -- ID of an existing, connected Stripe account to transfer funds to if \`transfer_data\` was specified in the charge request. data ChargeTransferDataDestination'Variants = ChargeTransferDataDestination'Account Account | ChargeTransferDataDestination'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ChargeTransferDataDestination'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ChargeTransferDataDestination'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema checkout.session -- -- A Checkout Session represents your customer\'s session as they pay for -- one-time purchases or subscriptions through [Checkout](https:\/\/stripe.com\/docs\/payments\/checkout). -- We recommend creating a new Session each time your customer attempts to pay. -- -- Once payment is successful, the Checkout Session will contain a reference -- to the [Customer](https:\/\/stripe.com\/docs\/api\/customers), and either the successful -- [PaymentIntent](https:\/\/stripe.com\/docs\/api\/payment_intents) or an active -- [Subscription](https:\/\/stripe.com\/docs\/api\/subscriptions). -- -- You can create a Checkout Session on your server and pass its ID to the -- client to begin Checkout. -- -- Related guide: [Checkout Server Quickstart](https:\/\/stripe.com\/docs\/payments\/checkout\/api). data Checkout'session = Checkout'session { -- | billing_address_collection: The value (\`auto\` or \`required\`) for whether Checkout collected the -- customer\'s billing address. -- -- Constraints: -- -- * Maximum length of 5000 checkout'sessionBillingAddressCollection :: (GHC.Maybe.Maybe GHC.Base.String) -- | cancel_url: The URL the customer will be directed to if they decide to cancel payment and return to your website. -- -- Constraints: -- -- * Maximum length of 5000 , checkout'sessionCancelUrl :: GHC.Base.String -- | client_reference_id: A unique string to reference the Checkout Session. This can be a -- customer ID, a cart ID, or similar, and can be used to reconcile the -- session with your internal systems. -- -- Constraints: -- -- * Maximum length of 5000 , checkout'sessionClientReferenceId :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer for this session. -- For Checkout Sessions in \`payment\` or \`subscription\` mode, Checkout -- will create a new customer object based on information provided -- during the session unless an existing customer was provided when -- the session was created. , checkout'sessionCustomer :: (GHC.Maybe.Maybe Checkout'sessionCustomer'Variants) -- | customer_email: If provided, this value will be used when the Customer object is created. -- If not provided, customers will be asked to enter their email address. -- Use this parameter to prefill customer data if you already have an email -- on file. To access information about the customer once a session is -- complete, use the \`customer\` field. -- -- Constraints: -- -- * Maximum length of 5000 , checkout'sessionCustomerEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | display_items: The line items, plans, or SKUs purchased by the customer. , checkout'sessionDisplayItems :: (GHC.Maybe.Maybe ([] CheckoutSessionDisplayItem)) -- | id: Unique identifier for the object. Used to pass to \`redirectToCheckout\` -- in Stripe.js. -- -- Constraints: -- -- * Maximum length of 5000 , checkout'sessionId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , checkout'sessionLivemode :: GHC.Types.Bool -- | locale: The IETF language tag of the locale Checkout is displayed in. If blank or \`auto\`, the browser\'s locale is used. , checkout'sessionLocale :: (GHC.Maybe.Maybe Checkout'sessionLocale') -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , checkout'sessionMetadata :: (GHC.Maybe.Maybe Checkout'sessionMetadata') -- | mode: The mode of the Checkout Session, one of \`payment\`, \`setup\`, or \`subscription\`. , checkout'sessionMode :: (GHC.Maybe.Maybe Checkout'sessionMode') -- | object: String representing the object\'s type. Objects of the same type share the same value. , checkout'sessionObject :: Checkout'sessionObject' -- | payment_intent: The ID of the PaymentIntent for Checkout Sessions in \`payment\` mode. , checkout'sessionPaymentIntent :: (GHC.Maybe.Maybe Checkout'sessionPaymentIntent'Variants) -- | payment_method_types: A list of the types of payment methods (e.g. card) this Checkout -- Session is allowed to accept. , checkout'sessionPaymentMethodTypes :: ([] GHC.Base.String) -- | setup_intent: The ID of the SetupIntent for Checkout Sessions in \`setup\` mode. , checkout'sessionSetupIntent :: (GHC.Maybe.Maybe Checkout'sessionSetupIntent'Variants) -- | submit_type: Describes the type of transaction being performed by Checkout in order to customize -- relevant text on the page, such as the submit button. \`submit_type\` can only be -- specified on Checkout Sessions in \`payment\` mode, but not Checkout Sessions -- in \`subscription\` or \`setup\` mode. , checkout'sessionSubmitType :: (GHC.Maybe.Maybe Checkout'sessionSubmitType') -- | subscription: The ID of the subscription for Checkout Sessions in \`subscription\` mode. , checkout'sessionSubscription :: (GHC.Maybe.Maybe Checkout'sessionSubscription'Variants) -- | success_url: The URL the customer will be directed to after the payment or -- subscription creation is successful. -- -- Constraints: -- -- * Maximum length of 5000 , checkout'sessionSuccessUrl :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Checkout'session where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_address_collection" (checkout'sessionBillingAddressCollection obj) : (Data.Aeson..=) "cancel_url" (checkout'sessionCancelUrl obj) : (Data.Aeson..=) "client_reference_id" (checkout'sessionClientReferenceId obj) : (Data.Aeson..=) "customer" (checkout'sessionCustomer obj) : (Data.Aeson..=) "customer_email" (checkout'sessionCustomerEmail obj) : (Data.Aeson..=) "display_items" (checkout'sessionDisplayItems obj) : (Data.Aeson..=) "id" (checkout'sessionId obj) : (Data.Aeson..=) "livemode" (checkout'sessionLivemode obj) : (Data.Aeson..=) "locale" (checkout'sessionLocale obj) : (Data.Aeson..=) "metadata" (checkout'sessionMetadata obj) : (Data.Aeson..=) "mode" (checkout'sessionMode obj) : (Data.Aeson..=) "object" (checkout'sessionObject obj) : (Data.Aeson..=) "payment_intent" (checkout'sessionPaymentIntent obj) : (Data.Aeson..=) "payment_method_types" (checkout'sessionPaymentMethodTypes obj) : (Data.Aeson..=) "setup_intent" (checkout'sessionSetupIntent obj) : (Data.Aeson..=) "submit_type" (checkout'sessionSubmitType obj) : (Data.Aeson..=) "subscription" (checkout'sessionSubscription obj) : (Data.Aeson..=) "success_url" (checkout'sessionSuccessUrl obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_address_collection" (checkout'sessionBillingAddressCollection obj) GHC.Base.<> ((Data.Aeson..=) "cancel_url" (checkout'sessionCancelUrl obj) GHC.Base.<> ((Data.Aeson..=) "client_reference_id" (checkout'sessionClientReferenceId obj) GHC.Base.<> ((Data.Aeson..=) "customer" (checkout'sessionCustomer obj) GHC.Base.<> ((Data.Aeson..=) "customer_email" (checkout'sessionCustomerEmail obj) GHC.Base.<> ((Data.Aeson..=) "display_items" (checkout'sessionDisplayItems obj) GHC.Base.<> ((Data.Aeson..=) "id" (checkout'sessionId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (checkout'sessionLivemode obj) GHC.Base.<> ((Data.Aeson..=) "locale" (checkout'sessionLocale obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (checkout'sessionMetadata obj) GHC.Base.<> ((Data.Aeson..=) "mode" (checkout'sessionMode obj) GHC.Base.<> ((Data.Aeson..=) "object" (checkout'sessionObject obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (checkout'sessionPaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_types" (checkout'sessionPaymentMethodTypes obj) GHC.Base.<> ((Data.Aeson..=) "setup_intent" (checkout'sessionSetupIntent obj) GHC.Base.<> ((Data.Aeson..=) "submit_type" (checkout'sessionSubmitType obj) GHC.Base.<> ((Data.Aeson..=) "subscription" (checkout'sessionSubscription obj) GHC.Base.<> (Data.Aeson..=) "success_url" (checkout'sessionSuccessUrl obj)))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Checkout'session where parseJSON = Data.Aeson.Types.FromJSON.withObject "Checkout'session" (\obj -> (((((((((((((((((GHC.Base.pure Checkout'session GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_address_collection")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "cancel_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_reference_id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "display_items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "locale")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "payment_method_types")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "submit_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "success_url")) -- | Define the one-of schema checkout.sessionCustomer\' -- -- The ID of the customer for this session. -- For Checkout Sessions in \`payment\` or \`subscription\` mode, Checkout -- will create a new customer object based on information provided -- during the session unless an existing customer was provided when -- the session was created. data Checkout'sessionCustomer'Variants = Checkout'sessionCustomer'Customer Customer | Checkout'sessionCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Checkout'sessionCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Checkout'sessionCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema checkout.sessionLocale\' -- -- The IETF language tag of the locale Checkout is displayed in. If blank or \`auto\`, the browser\'s locale is used. data Checkout'sessionLocale' = Checkout'sessionLocale'EnumOther Data.Aeson.Types.Internal.Value | Checkout'sessionLocale'EnumTyped GHC.Base.String | Checkout'sessionLocale'EnumStringAuto | Checkout'sessionLocale'EnumStringDa | Checkout'sessionLocale'EnumStringDe | Checkout'sessionLocale'EnumStringEn | Checkout'sessionLocale'EnumStringEs | Checkout'sessionLocale'EnumStringFi | Checkout'sessionLocale'EnumStringFr | Checkout'sessionLocale'EnumStringIt | Checkout'sessionLocale'EnumStringJa | Checkout'sessionLocale'EnumStringMs | Checkout'sessionLocale'EnumStringNb | Checkout'sessionLocale'EnumStringNl | Checkout'sessionLocale'EnumStringPl | Checkout'sessionLocale'EnumStringPt | Checkout'sessionLocale'EnumStringSv | Checkout'sessionLocale'EnumStringZh deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Checkout'sessionLocale' where toJSON (Checkout'sessionLocale'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Checkout'sessionLocale'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Checkout'sessionLocale'EnumStringAuto) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto" toJSON (Checkout'sessionLocale'EnumStringDa) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "da" toJSON (Checkout'sessionLocale'EnumStringDe) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "de" toJSON (Checkout'sessionLocale'EnumStringEn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "en" toJSON (Checkout'sessionLocale'EnumStringEs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "es" toJSON (Checkout'sessionLocale'EnumStringFi) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fi" toJSON (Checkout'sessionLocale'EnumStringFr) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fr" toJSON (Checkout'sessionLocale'EnumStringIt) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "it" toJSON (Checkout'sessionLocale'EnumStringJa) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ja" toJSON (Checkout'sessionLocale'EnumStringMs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ms" toJSON (Checkout'sessionLocale'EnumStringNb) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nb" toJSON (Checkout'sessionLocale'EnumStringNl) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nl" toJSON (Checkout'sessionLocale'EnumStringPl) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pl" toJSON (Checkout'sessionLocale'EnumStringPt) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pt" toJSON (Checkout'sessionLocale'EnumStringSv) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sv" toJSON (Checkout'sessionLocale'EnumStringZh) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "zh" instance Data.Aeson.FromJSON Checkout'sessionLocale' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto") then Checkout'sessionLocale'EnumStringAuto else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "da") then Checkout'sessionLocale'EnumStringDa else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "de") then Checkout'sessionLocale'EnumStringDe else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "en") then Checkout'sessionLocale'EnumStringEn else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "es") then Checkout'sessionLocale'EnumStringEs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fi") then Checkout'sessionLocale'EnumStringFi else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fr") then Checkout'sessionLocale'EnumStringFr else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "it") then Checkout'sessionLocale'EnumStringIt else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ja") then Checkout'sessionLocale'EnumStringJa else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ms") then Checkout'sessionLocale'EnumStringMs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nb") then Checkout'sessionLocale'EnumStringNb else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nl") then Checkout'sessionLocale'EnumStringNl else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pl") then Checkout'sessionLocale'EnumStringPl else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pt") then Checkout'sessionLocale'EnumStringPt else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sv") then Checkout'sessionLocale'EnumStringSv else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "zh") then Checkout'sessionLocale'EnumStringZh else Checkout'sessionLocale'EnumOther val) -- | Defines the data type for the schema checkout.sessionMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data Checkout'sessionMetadata' = Checkout'sessionMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Checkout'sessionMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON Checkout'sessionMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Checkout'sessionMetadata'" (\obj -> GHC.Base.pure Checkout'sessionMetadata') -- | Defines the enum schema checkout.sessionMode\' -- -- The mode of the Checkout Session, one of \`payment\`, \`setup\`, or \`subscription\`. data Checkout'sessionMode' = Checkout'sessionMode'EnumOther Data.Aeson.Types.Internal.Value | Checkout'sessionMode'EnumTyped GHC.Base.String | Checkout'sessionMode'EnumStringPayment | Checkout'sessionMode'EnumStringSetup | Checkout'sessionMode'EnumStringSubscription deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Checkout'sessionMode' where toJSON (Checkout'sessionMode'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Checkout'sessionMode'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Checkout'sessionMode'EnumStringPayment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment" toJSON (Checkout'sessionMode'EnumStringSetup) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "setup" toJSON (Checkout'sessionMode'EnumStringSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription" instance Data.Aeson.FromJSON Checkout'sessionMode' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment") then Checkout'sessionMode'EnumStringPayment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "setup") then Checkout'sessionMode'EnumStringSetup else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription") then Checkout'sessionMode'EnumStringSubscription else Checkout'sessionMode'EnumOther val) -- | Defines the enum schema checkout.sessionObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Checkout'sessionObject' = Checkout'sessionObject'EnumOther Data.Aeson.Types.Internal.Value | Checkout'sessionObject'EnumTyped GHC.Base.String | Checkout'sessionObject'EnumStringCheckout'session deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Checkout'sessionObject' where toJSON (Checkout'sessionObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Checkout'sessionObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Checkout'sessionObject'EnumStringCheckout'session) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "checkout.session" instance Data.Aeson.FromJSON Checkout'sessionObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "checkout.session") then Checkout'sessionObject'EnumStringCheckout'session else Checkout'sessionObject'EnumOther val) -- | Define the one-of schema checkout.sessionPayment_intent\' -- -- The ID of the PaymentIntent for Checkout Sessions in \`payment\` mode. data Checkout'sessionPaymentIntent'Variants = Checkout'sessionPaymentIntent'PaymentIntent PaymentIntent | Checkout'sessionPaymentIntent'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Checkout'sessionPaymentIntent'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Checkout'sessionPaymentIntent'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema checkout.sessionSetup_intent\' -- -- The ID of the SetupIntent for Checkout Sessions in \`setup\` mode. data Checkout'sessionSetupIntent'Variants = Checkout'sessionSetupIntent'SetupIntent SetupIntent | Checkout'sessionSetupIntent'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Checkout'sessionSetupIntent'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Checkout'sessionSetupIntent'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema checkout.sessionSubmit_type\' -- -- Describes the type of transaction being performed by Checkout in order to customize -- relevant text on the page, such as the submit button. \`submit_type\` can only be -- specified on Checkout Sessions in \`payment\` mode, but not Checkout Sessions -- in \`subscription\` or \`setup\` mode. data Checkout'sessionSubmitType' = Checkout'sessionSubmitType'EnumOther Data.Aeson.Types.Internal.Value | Checkout'sessionSubmitType'EnumTyped GHC.Base.String | Checkout'sessionSubmitType'EnumStringAuto | Checkout'sessionSubmitType'EnumStringBook | Checkout'sessionSubmitType'EnumStringDonate | Checkout'sessionSubmitType'EnumStringPay deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Checkout'sessionSubmitType' where toJSON (Checkout'sessionSubmitType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Checkout'sessionSubmitType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Checkout'sessionSubmitType'EnumStringAuto) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto" toJSON (Checkout'sessionSubmitType'EnumStringBook) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book" toJSON (Checkout'sessionSubmitType'EnumStringDonate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "donate" toJSON (Checkout'sessionSubmitType'EnumStringPay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pay" instance Data.Aeson.FromJSON Checkout'sessionSubmitType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto") then Checkout'sessionSubmitType'EnumStringAuto else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book") then Checkout'sessionSubmitType'EnumStringBook else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "donate") then Checkout'sessionSubmitType'EnumStringDonate else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pay") then Checkout'sessionSubmitType'EnumStringPay else Checkout'sessionSubmitType'EnumOther val) -- | Define the one-of schema checkout.sessionSubscription\' -- -- The ID of the subscription for Checkout Sessions in \`subscription\` mode. data Checkout'sessionSubscription'Variants = Checkout'sessionSubscription'Subscription Subscription | Checkout'sessionSubscription'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Checkout'sessionSubscription'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Checkout'sessionSubscription'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema checkout_session_display_item -- -- data CheckoutSessionDisplayItem = CheckoutSessionDisplayItem { -- | amount: Amount for the display item. checkoutSessionDisplayItemAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | 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). , checkoutSessionDisplayItemCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | custom: , checkoutSessionDisplayItemCustom :: (GHC.Maybe.Maybe CheckoutSessionCustomDisplayItemDescription) -- | plan: Plans define the base price, currency, and billing cycle for subscriptions. -- For example, you might have a \5\<\/currency>\/month plan -- that provides limited access to your products, and a -- \15\<\/currency>\/month plan that allows full access. -- -- Related guide: [Managing Products and Plans](https:\/\/stripe.com\/docs\/billing\/subscriptions\/products-and-plans). , checkoutSessionDisplayItemPlan :: (GHC.Maybe.Maybe Plan) -- | quantity: Quantity of the display item being purchased. , checkoutSessionDisplayItemQuantity :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | sku: Stores representations of [stock keeping units](http:\/\/en.wikipedia.org\/wiki\/Stock_keeping_unit). -- SKUs describe specific product variations, taking into account any combination of: attributes, -- currency, and cost. For example, a product may be a T-shirt, whereas a specific SKU represents -- the \`size: large\`, \`color: red\` version of that shirt. -- -- Can also be used to manage inventory. -- -- Related guide: [Tax, Shipping, and Inventory](https:\/\/stripe.com\/docs\/orders). , checkoutSessionDisplayItemSku :: (GHC.Maybe.Maybe Sku) -- | type: The type of display item. One of \`custom\`, \`plan\` or \`sku\` -- -- Constraints: -- -- * Maximum length of 5000 , checkoutSessionDisplayItemType :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CheckoutSessionDisplayItem where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (checkoutSessionDisplayItemAmount obj) : (Data.Aeson..=) "currency" (checkoutSessionDisplayItemCurrency obj) : (Data.Aeson..=) "custom" (checkoutSessionDisplayItemCustom obj) : (Data.Aeson..=) "plan" (checkoutSessionDisplayItemPlan obj) : (Data.Aeson..=) "quantity" (checkoutSessionDisplayItemQuantity obj) : (Data.Aeson..=) "sku" (checkoutSessionDisplayItemSku obj) : (Data.Aeson..=) "type" (checkoutSessionDisplayItemType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (checkoutSessionDisplayItemAmount obj) GHC.Base.<> ((Data.Aeson..=) "currency" (checkoutSessionDisplayItemCurrency obj) GHC.Base.<> ((Data.Aeson..=) "custom" (checkoutSessionDisplayItemCustom obj) GHC.Base.<> ((Data.Aeson..=) "plan" (checkoutSessionDisplayItemPlan obj) GHC.Base.<> ((Data.Aeson..=) "quantity" (checkoutSessionDisplayItemQuantity obj) GHC.Base.<> ((Data.Aeson..=) "sku" (checkoutSessionDisplayItemSku obj) GHC.Base.<> (Data.Aeson..=) "type" (checkoutSessionDisplayItemType obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON CheckoutSessionDisplayItem where parseJSON = Data.Aeson.Types.FromJSON.withObject "CheckoutSessionDisplayItem" (\obj -> ((((((GHC.Base.pure CheckoutSessionDisplayItem GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "custom")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sku")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the data type for the schema connect_collection_transfer -- -- data ConnectCollectionTransfer = ConnectCollectionTransfer { -- | amount: Amount transferred, in %s. connectCollectionTransferAmount :: GHC.Integer.Type.Integer -- | 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). , connectCollectionTransferCurrency :: GHC.Base.String -- | destination: ID of the account that funds are being collected for. , connectCollectionTransferDestination :: ConnectCollectionTransferDestination'Variants -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , connectCollectionTransferId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , connectCollectionTransferLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , connectCollectionTransferObject :: ConnectCollectionTransferObject' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ConnectCollectionTransfer where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (connectCollectionTransferAmount obj) : (Data.Aeson..=) "currency" (connectCollectionTransferCurrency obj) : (Data.Aeson..=) "destination" (connectCollectionTransferDestination obj) : (Data.Aeson..=) "id" (connectCollectionTransferId obj) : (Data.Aeson..=) "livemode" (connectCollectionTransferLivemode obj) : (Data.Aeson..=) "object" (connectCollectionTransferObject obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (connectCollectionTransferAmount obj) GHC.Base.<> ((Data.Aeson..=) "currency" (connectCollectionTransferCurrency obj) GHC.Base.<> ((Data.Aeson..=) "destination" (connectCollectionTransferDestination obj) GHC.Base.<> ((Data.Aeson..=) "id" (connectCollectionTransferId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (connectCollectionTransferLivemode obj) GHC.Base.<> (Data.Aeson..=) "object" (connectCollectionTransferObject obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON ConnectCollectionTransfer where parseJSON = Data.Aeson.Types.FromJSON.withObject "ConnectCollectionTransfer" (\obj -> (((((GHC.Base.pure ConnectCollectionTransfer GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "destination")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) -- | Define the one-of schema connect_collection_transferDestination\' -- -- ID of the account that funds are being collected for. data ConnectCollectionTransferDestination'Variants = ConnectCollectionTransferDestination'Account Account | ConnectCollectionTransferDestination'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ConnectCollectionTransferDestination'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ConnectCollectionTransferDestination'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema connect_collection_transferObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ConnectCollectionTransferObject' = ConnectCollectionTransferObject'EnumOther Data.Aeson.Types.Internal.Value | ConnectCollectionTransferObject'EnumTyped GHC.Base.String | ConnectCollectionTransferObject'EnumStringConnectCollectionTransfer deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ConnectCollectionTransferObject' where toJSON (ConnectCollectionTransferObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ConnectCollectionTransferObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ConnectCollectionTransferObject'EnumStringConnectCollectionTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "connect_collection_transfer" instance Data.Aeson.FromJSON ConnectCollectionTransferObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "connect_collection_transfer") then ConnectCollectionTransferObject'EnumStringConnectCollectionTransfer else ConnectCollectionTransferObject'EnumOther val) -- | Defines the data type for the schema credit_note -- -- Issue a credit note to adjust an invoice\'s amount after the invoice is finalized. -- -- Related guide: [Credit Notes](https:\/\/stripe.com\/docs\/billing\/invoices\/credit-notes). data CreditNote = CreditNote { -- | amount: The integer amount in **%s** representing the total amount of the credit note, including tax. creditNoteAmount :: GHC.Integer.Type.Integer -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , creditNoteCreated :: GHC.Integer.Type.Integer -- | 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). , creditNoteCurrency :: GHC.Base.String -- | customer: ID of the customer. , creditNoteCustomer :: CreditNoteCustomer'Variants -- | customer_balance_transaction: Customer balance transaction related to this credit note. , creditNoteCustomerBalanceTransaction :: (GHC.Maybe.Maybe CreditNoteCustomerBalanceTransaction'Variants) -- | discount_amount: The integer amount in **%s** representing the amount of the discount that was credited. , creditNoteDiscountAmount :: GHC.Integer.Type.Integer -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , creditNoteId :: GHC.Base.String -- | invoice: ID of the invoice. , creditNoteInvoice :: CreditNoteInvoice'Variants -- | lines: Line items that make up the credit note , creditNoteLines :: CreditNoteLines' -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , creditNoteLivemode :: GHC.Types.Bool -- | memo: Customer-facing text that appears on the credit note PDF. -- -- Constraints: -- -- * Maximum length of 5000 , creditNoteMemo :: (GHC.Maybe.Maybe GHC.Base.String) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , creditNoteMetadata :: CreditNoteMetadata' -- | number: A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice. -- -- Constraints: -- -- * Maximum length of 5000 , creditNoteNumber :: GHC.Base.String -- | object: String representing the object\'s type. Objects of the same type share the same value. , creditNoteObject :: CreditNoteObject' -- | out_of_band_amount: Amount that was credited outside of Stripe. , creditNoteOutOfBandAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | pdf: The link to download the PDF of the credit note. -- -- Constraints: -- -- * Maximum length of 5000 , creditNotePdf :: GHC.Base.String -- | reason: Reason for issuing this credit note, one of \`duplicate\`, \`fraudulent\`, \`order_change\`, or \`product_unsatisfactory\` , creditNoteReason :: (GHC.Maybe.Maybe CreditNoteReason') -- | refund: Refund related to this credit note. , creditNoteRefund :: (GHC.Maybe.Maybe CreditNoteRefund'Variants) -- | status: Status of this credit note, one of \`issued\` or \`void\`. Learn more about [voiding credit notes](https:\/\/stripe.com\/docs\/billing\/invoices\/credit-notes\#voiding). , creditNoteStatus :: CreditNoteStatus' -- | subtotal: The integer amount in **%s** representing the amount of the credit note, excluding tax and discount. , creditNoteSubtotal :: GHC.Integer.Type.Integer -- | tax_amounts: The aggregate amounts calculated per tax rate for all line items. , creditNoteTaxAmounts :: ([] CreditNoteTaxAmount) -- | total: The integer amount in **%s** representing the total amount of the credit note, including tax and discount. , creditNoteTotal :: GHC.Integer.Type.Integer -- | type: Type of this credit note, one of \`pre_payment\` or \`post_payment\`. A \`pre_payment\` credit note means it was issued when the invoice was open. A \`post_payment\` credit note means it was issued when the invoice was paid. , creditNoteType :: CreditNoteType' -- | voided_at: The time that the credit note was voided. , creditNoteVoidedAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CreditNote where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (creditNoteAmount obj) : (Data.Aeson..=) "created" (creditNoteCreated obj) : (Data.Aeson..=) "currency" (creditNoteCurrency obj) : (Data.Aeson..=) "customer" (creditNoteCustomer obj) : (Data.Aeson..=) "customer_balance_transaction" (creditNoteCustomerBalanceTransaction obj) : (Data.Aeson..=) "discount_amount" (creditNoteDiscountAmount obj) : (Data.Aeson..=) "id" (creditNoteId obj) : (Data.Aeson..=) "invoice" (creditNoteInvoice obj) : (Data.Aeson..=) "lines" (creditNoteLines obj) : (Data.Aeson..=) "livemode" (creditNoteLivemode obj) : (Data.Aeson..=) "memo" (creditNoteMemo obj) : (Data.Aeson..=) "metadata" (creditNoteMetadata obj) : (Data.Aeson..=) "number" (creditNoteNumber obj) : (Data.Aeson..=) "object" (creditNoteObject obj) : (Data.Aeson..=) "out_of_band_amount" (creditNoteOutOfBandAmount obj) : (Data.Aeson..=) "pdf" (creditNotePdf obj) : (Data.Aeson..=) "reason" (creditNoteReason obj) : (Data.Aeson..=) "refund" (creditNoteRefund obj) : (Data.Aeson..=) "status" (creditNoteStatus obj) : (Data.Aeson..=) "subtotal" (creditNoteSubtotal obj) : (Data.Aeson..=) "tax_amounts" (creditNoteTaxAmounts obj) : (Data.Aeson..=) "total" (creditNoteTotal obj) : (Data.Aeson..=) "type" (creditNoteType obj) : (Data.Aeson..=) "voided_at" (creditNoteVoidedAt obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (creditNoteAmount obj) GHC.Base.<> ((Data.Aeson..=) "created" (creditNoteCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (creditNoteCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (creditNoteCustomer obj) GHC.Base.<> ((Data.Aeson..=) "customer_balance_transaction" (creditNoteCustomerBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "discount_amount" (creditNoteDiscountAmount obj) GHC.Base.<> ((Data.Aeson..=) "id" (creditNoteId obj) GHC.Base.<> ((Data.Aeson..=) "invoice" (creditNoteInvoice obj) GHC.Base.<> ((Data.Aeson..=) "lines" (creditNoteLines obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (creditNoteLivemode obj) GHC.Base.<> ((Data.Aeson..=) "memo" (creditNoteMemo obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (creditNoteMetadata obj) GHC.Base.<> ((Data.Aeson..=) "number" (creditNoteNumber obj) GHC.Base.<> ((Data.Aeson..=) "object" (creditNoteObject obj) GHC.Base.<> ((Data.Aeson..=) "out_of_band_amount" (creditNoteOutOfBandAmount obj) GHC.Base.<> ((Data.Aeson..=) "pdf" (creditNotePdf obj) GHC.Base.<> ((Data.Aeson..=) "reason" (creditNoteReason obj) GHC.Base.<> ((Data.Aeson..=) "refund" (creditNoteRefund obj) GHC.Base.<> ((Data.Aeson..=) "status" (creditNoteStatus obj) GHC.Base.<> ((Data.Aeson..=) "subtotal" (creditNoteSubtotal obj) GHC.Base.<> ((Data.Aeson..=) "tax_amounts" (creditNoteTaxAmounts obj) GHC.Base.<> ((Data.Aeson..=) "total" (creditNoteTotal obj) GHC.Base.<> ((Data.Aeson..=) "type" (creditNoteType obj) GHC.Base.<> (Data.Aeson..=) "voided_at" (creditNoteVoidedAt obj)))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON CreditNote where parseJSON = Data.Aeson.Types.FromJSON.withObject "CreditNote" (\obj -> (((((((((((((((((((((((GHC.Base.pure CreditNote GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "discount_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "lines")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "memo")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "out_of_band_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "pdf")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "subtotal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "tax_amounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "total")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "voided_at")) -- | Define the one-of schema credit_noteCustomer\' -- -- ID of the customer. data CreditNoteCustomer'Variants = CreditNoteCustomer'Customer Customer | CreditNoteCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CreditNoteCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CreditNoteCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema credit_noteCustomer_balance_transaction\' -- -- Customer balance transaction related to this credit note. data CreditNoteCustomerBalanceTransaction'Variants = CreditNoteCustomerBalanceTransaction'CustomerBalanceTransaction CustomerBalanceTransaction | CreditNoteCustomerBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CreditNoteCustomerBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CreditNoteCustomerBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema credit_noteInvoice\' -- -- ID of the invoice. data CreditNoteInvoice'Variants = CreditNoteInvoice'Invoice Invoice | CreditNoteInvoice'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CreditNoteInvoice'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CreditNoteInvoice'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema credit_noteLines\' -- -- Line items that make up the credit note data CreditNoteLines' = CreditNoteLines' { -- | data: Details about each object. creditNoteLines'Data :: ([] CreditNoteLineItem) -- | has_more: True if this list has another page of items after this one that can be fetched. , creditNoteLines'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , creditNoteLines'Object :: CreditNoteLines'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , creditNoteLines'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CreditNoteLines' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (creditNoteLines'Data obj) : (Data.Aeson..=) "has_more" (creditNoteLines'HasMore obj) : (Data.Aeson..=) "object" (creditNoteLines'Object obj) : (Data.Aeson..=) "url" (creditNoteLines'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (creditNoteLines'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (creditNoteLines'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (creditNoteLines'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (creditNoteLines'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON CreditNoteLines' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CreditNoteLines'" (\obj -> (((GHC.Base.pure CreditNoteLines' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema credit_noteLines\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data CreditNoteLines'Object' = CreditNoteLines'Object'EnumOther Data.Aeson.Types.Internal.Value | CreditNoteLines'Object'EnumTyped GHC.Base.String | CreditNoteLines'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CreditNoteLines'Object' where toJSON (CreditNoteLines'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteLines'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteLines'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON CreditNoteLines'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then CreditNoteLines'Object'EnumStringList else CreditNoteLines'Object'EnumOther val) -- | Defines the data type for the schema credit_noteMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data CreditNoteMetadata' = CreditNoteMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CreditNoteMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON CreditNoteMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CreditNoteMetadata'" (\obj -> GHC.Base.pure CreditNoteMetadata') -- | Defines the enum schema credit_noteObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data CreditNoteObject' = CreditNoteObject'EnumOther Data.Aeson.Types.Internal.Value | CreditNoteObject'EnumTyped GHC.Base.String | CreditNoteObject'EnumStringCreditNote deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CreditNoteObject' where toJSON (CreditNoteObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteObject'EnumStringCreditNote) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_note" instance Data.Aeson.FromJSON CreditNoteObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_note") then CreditNoteObject'EnumStringCreditNote else CreditNoteObject'EnumOther val) -- | Defines the enum schema credit_noteReason\' -- -- Reason for issuing this credit note, one of \`duplicate\`, \`fraudulent\`, \`order_change\`, or \`product_unsatisfactory\` data CreditNoteReason' = CreditNoteReason'EnumOther Data.Aeson.Types.Internal.Value | CreditNoteReason'EnumTyped GHC.Base.String | CreditNoteReason'EnumStringDuplicate | CreditNoteReason'EnumStringFraudulent | CreditNoteReason'EnumStringOrderChange | CreditNoteReason'EnumStringProductUnsatisfactory deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CreditNoteReason' where toJSON (CreditNoteReason'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteReason'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteReason'EnumStringDuplicate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duplicate" toJSON (CreditNoteReason'EnumStringFraudulent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fraudulent" toJSON (CreditNoteReason'EnumStringOrderChange) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order_change" toJSON (CreditNoteReason'EnumStringProductUnsatisfactory) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "product_unsatisfactory" instance Data.Aeson.FromJSON CreditNoteReason' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duplicate") then CreditNoteReason'EnumStringDuplicate else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fraudulent") then CreditNoteReason'EnumStringFraudulent else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order_change") then CreditNoteReason'EnumStringOrderChange else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "product_unsatisfactory") then CreditNoteReason'EnumStringProductUnsatisfactory else CreditNoteReason'EnumOther val) -- | Define the one-of schema credit_noteRefund\' -- -- Refund related to this credit note. data CreditNoteRefund'Variants = CreditNoteRefund'Refund Refund | CreditNoteRefund'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CreditNoteRefund'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CreditNoteRefund'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema credit_noteStatus\' -- -- Status of this credit note, one of \`issued\` or \`void\`. Learn more about [voiding credit notes](https:\/\/stripe.com\/docs\/billing\/invoices\/credit-notes\#voiding). data CreditNoteStatus' = CreditNoteStatus'EnumOther Data.Aeson.Types.Internal.Value | CreditNoteStatus'EnumTyped GHC.Base.String | CreditNoteStatus'EnumStringIssued | CreditNoteStatus'EnumStringVoid deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CreditNoteStatus' where toJSON (CreditNoteStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteStatus'EnumStringIssued) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issued" toJSON (CreditNoteStatus'EnumStringVoid) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "void" instance Data.Aeson.FromJSON CreditNoteStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issued") then CreditNoteStatus'EnumStringIssued else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "void") then CreditNoteStatus'EnumStringVoid else CreditNoteStatus'EnumOther val) -- | Defines the enum schema credit_noteType\' -- -- Type of this credit note, one of \`pre_payment\` or \`post_payment\`. A \`pre_payment\` credit note means it was issued when the invoice was open. A \`post_payment\` credit note means it was issued when the invoice was paid. data CreditNoteType' = CreditNoteType'EnumOther Data.Aeson.Types.Internal.Value | CreditNoteType'EnumTyped GHC.Base.String | CreditNoteType'EnumStringPostPayment | CreditNoteType'EnumStringPrePayment deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CreditNoteType' where toJSON (CreditNoteType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CreditNoteType'EnumStringPostPayment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "post_payment" toJSON (CreditNoteType'EnumStringPrePayment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pre_payment" instance Data.Aeson.FromJSON CreditNoteType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "post_payment") then CreditNoteType'EnumStringPostPayment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pre_payment") then CreditNoteType'EnumStringPrePayment else CreditNoteType'EnumOther val) -- | Defines the data type for the schema customer -- -- \`Customer\` objects allow you to perform recurring charges, and to track -- multiple charges, that are associated with the same customer. The API allows -- you to create, delete, and update your customers. You can retrieve individual -- customers as well as a list of all your customers. -- -- Related guide: [Saving Cards with Customers](https:\/\/stripe.com\/docs\/saving-cards). data Customer = Customer { -- | address: The customer\'s address. customerAddress :: (GHC.Maybe.Maybe CustomerAddress') -- | balance: Current balance, if any, being stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that will be added to their next invoice. The balance does not refer to any unpaid invoices; it solely takes into account amounts that have yet to be successfully applied to any invoice. This balance is only taken into account as invoices are finalized. , customerBalance :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , customerCreated :: GHC.Integer.Type.Integer -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/currencies) the customer can be charged in for recurring billing purposes. -- -- Constraints: -- -- * Maximum length of 5000 , customerCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_source: ID of the default payment source for the customer. -- -- If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-invoice_settings-default_payment_method) field instead. , customerDefaultSource :: (GHC.Maybe.Maybe CustomerDefaultSource'Variants) -- | delinquent: When the customer\'s latest invoice is billed by charging automatically, delinquent is true if the invoice\'s latest charge is failed. When the customer\'s latest invoice is billed by sending an invoice, delinquent is true if the invoice is not paid by its due date. , customerDelinquent :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , customerDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | discount: Describes the current discount active on the customer, if there is one. , customerDiscount :: (GHC.Maybe.Maybe CustomerDiscount') -- | email: The customer\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , customerEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , customerId :: GHC.Base.String -- | invoice_prefix: The prefix for the customer used to generate unique invoice numbers. -- -- Constraints: -- -- * Maximum length of 5000 , customerInvoicePrefix :: (GHC.Maybe.Maybe GHC.Base.String) -- | invoice_settings: , customerInvoiceSettings :: (GHC.Maybe.Maybe InvoiceSettingCustomerSetting) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , customerLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , customerMetadata :: (GHC.Maybe.Maybe CustomerMetadata') -- | name: The customer\'s full name or business name. -- -- Constraints: -- -- * Maximum length of 5000 , customerName :: (GHC.Maybe.Maybe GHC.Base.String) -- | next_invoice_sequence: The suffix of the customer\'s next invoice number, e.g., 0001. , customerNextInvoiceSequence :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | object: String representing the object\'s type. Objects of the same type share the same value. , customerObject :: CustomerObject' -- | phone: The customer\'s phone number. -- -- Constraints: -- -- * Maximum length of 5000 , customerPhone :: (GHC.Maybe.Maybe GHC.Base.String) -- | preferred_locales: The customer\'s preferred locales (languages), ordered by preference. , customerPreferredLocales :: (GHC.Maybe.Maybe ([] GHC.Base.String)) -- | shipping: Mailing and shipping address for the customer. Appears on invoices emailed to this customer. , customerShipping :: (GHC.Maybe.Maybe CustomerShipping') -- | sources: The customer\'s payment sources, if any. , customerSources :: CustomerSources' -- | subscriptions: The customer\'s current subscriptions, if any. , customerSubscriptions :: (GHC.Maybe.Maybe CustomerSubscriptions') -- | tax_exempt: Describes the customer\'s tax exemption status. One of \`none\`, \`exempt\`, or \`reverse\`. When set to \`reverse\`, invoice and receipt PDFs include the text **\"Reverse charge\"**. , customerTaxExempt :: (GHC.Maybe.Maybe CustomerTaxExempt') -- | tax_ids: The customer\'s tax IDs. , customerTaxIds :: (GHC.Maybe.Maybe CustomerTaxIds') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Customer where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (customerAddress obj) : (Data.Aeson..=) "balance" (customerBalance obj) : (Data.Aeson..=) "created" (customerCreated obj) : (Data.Aeson..=) "currency" (customerCurrency obj) : (Data.Aeson..=) "default_source" (customerDefaultSource obj) : (Data.Aeson..=) "delinquent" (customerDelinquent obj) : (Data.Aeson..=) "description" (customerDescription obj) : (Data.Aeson..=) "discount" (customerDiscount obj) : (Data.Aeson..=) "email" (customerEmail obj) : (Data.Aeson..=) "id" (customerId obj) : (Data.Aeson..=) "invoice_prefix" (customerInvoicePrefix obj) : (Data.Aeson..=) "invoice_settings" (customerInvoiceSettings obj) : (Data.Aeson..=) "livemode" (customerLivemode obj) : (Data.Aeson..=) "metadata" (customerMetadata obj) : (Data.Aeson..=) "name" (customerName obj) : (Data.Aeson..=) "next_invoice_sequence" (customerNextInvoiceSequence obj) : (Data.Aeson..=) "object" (customerObject obj) : (Data.Aeson..=) "phone" (customerPhone obj) : (Data.Aeson..=) "preferred_locales" (customerPreferredLocales obj) : (Data.Aeson..=) "shipping" (customerShipping obj) : (Data.Aeson..=) "sources" (customerSources obj) : (Data.Aeson..=) "subscriptions" (customerSubscriptions obj) : (Data.Aeson..=) "tax_exempt" (customerTaxExempt obj) : (Data.Aeson..=) "tax_ids" (customerTaxIds obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (customerAddress obj) GHC.Base.<> ((Data.Aeson..=) "balance" (customerBalance obj) GHC.Base.<> ((Data.Aeson..=) "created" (customerCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (customerCurrency obj) GHC.Base.<> ((Data.Aeson..=) "default_source" (customerDefaultSource obj) GHC.Base.<> ((Data.Aeson..=) "delinquent" (customerDelinquent obj) GHC.Base.<> ((Data.Aeson..=) "description" (customerDescription obj) GHC.Base.<> ((Data.Aeson..=) "discount" (customerDiscount obj) GHC.Base.<> ((Data.Aeson..=) "email" (customerEmail obj) GHC.Base.<> ((Data.Aeson..=) "id" (customerId obj) GHC.Base.<> ((Data.Aeson..=) "invoice_prefix" (customerInvoicePrefix obj) GHC.Base.<> ((Data.Aeson..=) "invoice_settings" (customerInvoiceSettings obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (customerLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (customerMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (customerName obj) GHC.Base.<> ((Data.Aeson..=) "next_invoice_sequence" (customerNextInvoiceSequence obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerObject obj) GHC.Base.<> ((Data.Aeson..=) "phone" (customerPhone obj) GHC.Base.<> ((Data.Aeson..=) "preferred_locales" (customerPreferredLocales obj) GHC.Base.<> ((Data.Aeson..=) "shipping" (customerShipping obj) GHC.Base.<> ((Data.Aeson..=) "sources" (customerSources obj) GHC.Base.<> ((Data.Aeson..=) "subscriptions" (customerSubscriptions obj) GHC.Base.<> ((Data.Aeson..=) "tax_exempt" (customerTaxExempt obj) GHC.Base.<> (Data.Aeson..=) "tax_ids" (customerTaxIds obj)))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Customer where parseJSON = Data.Aeson.Types.FromJSON.withObject "Customer" (\obj -> (((((((((((((((((((((((GHC.Base.pure Customer GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "delinquent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "discount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice_prefix")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice_settings")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "next_invoice_sequence")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "preferred_locales")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "sources")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscriptions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_exempt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_ids")) -- | Defines the data type for the schema customerAddress\' -- -- The customer\\\'s address. data CustomerAddress' = CustomerAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 customerAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , customerAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , customerAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , customerAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , customerAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , customerAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (customerAddress'City obj) : (Data.Aeson..=) "country" (customerAddress'Country obj) : (Data.Aeson..=) "line1" (customerAddress'Line1 obj) : (Data.Aeson..=) "line2" (customerAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (customerAddress'PostalCode obj) : (Data.Aeson..=) "state" (customerAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (customerAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (customerAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (customerAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (customerAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (customerAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (customerAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerAddress'" (\obj -> (((((GHC.Base.pure CustomerAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Define the one-of schema customerDefault_source\' -- -- ID of the default payment source for the customer. -- -- If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-invoice_settings-default_payment_method) field instead. data CustomerDefaultSource'Variants = CustomerDefaultSource'AlipayAccount AlipayAccount | CustomerDefaultSource'BankAccount BankAccount | CustomerDefaultSource'BitcoinReceiver BitcoinReceiver | CustomerDefaultSource'Card Card | CustomerDefaultSource'Source Source | CustomerDefaultSource'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CustomerDefaultSource'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CustomerDefaultSource'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema customerDiscount\' -- -- Describes the current discount active on the customer, if there is one. data CustomerDiscount' = CustomerDiscount' { -- | coupon: A coupon contains information about a percent-off or amount-off discount you -- might want to apply to a customer. Coupons may be applied to [invoices](https:\/\/stripe.com\/docs\/api\#invoices) or -- [orders](https:\/\/stripe.com\/docs\/api\#create_order-coupon). Coupons do not work with conventional one-off [charges](https:\/\/stripe.com\/docs\/api\#create_charge). customerDiscount'Coupon :: (GHC.Maybe.Maybe Coupon) -- | customer: The ID of the customer associated with this discount. , customerDiscount'Customer :: (GHC.Maybe.Maybe CustomerDiscount'Customer'Variants) -- | end: If the coupon has a duration of \`repeating\`, the date that this discount will end. If the coupon has a duration of \`once\` or \`forever\`, this attribute will be null. , customerDiscount'End :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | object: String representing the object\'s type. Objects of the same type share the same value. , customerDiscount'Object :: (GHC.Maybe.Maybe CustomerDiscount'Object') -- | start: Date that the coupon was applied. , customerDiscount'Start :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | subscription: The subscription that this coupon is applied to, if it is applied to a particular subscription. -- -- Constraints: -- -- * Maximum length of 5000 , customerDiscount'Subscription :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerDiscount' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "coupon" (customerDiscount'Coupon obj) : (Data.Aeson..=) "customer" (customerDiscount'Customer obj) : (Data.Aeson..=) "end" (customerDiscount'End obj) : (Data.Aeson..=) "object" (customerDiscount'Object obj) : (Data.Aeson..=) "start" (customerDiscount'Start obj) : (Data.Aeson..=) "subscription" (customerDiscount'Subscription obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "coupon" (customerDiscount'Coupon obj) GHC.Base.<> ((Data.Aeson..=) "customer" (customerDiscount'Customer obj) GHC.Base.<> ((Data.Aeson..=) "end" (customerDiscount'End obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerDiscount'Object obj) GHC.Base.<> ((Data.Aeson..=) "start" (customerDiscount'Start obj) GHC.Base.<> (Data.Aeson..=) "subscription" (customerDiscount'Subscription obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerDiscount' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerDiscount'" (\obj -> (((((GHC.Base.pure CustomerDiscount' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "start")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) -- | Define the one-of schema customerDiscount\'Customer\' -- -- The ID of the customer associated with this discount. data CustomerDiscount'Customer'Variants = CustomerDiscount'Customer'Customer Customer | CustomerDiscount'Customer'DeletedCustomer DeletedCustomer | CustomerDiscount'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CustomerDiscount'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CustomerDiscount'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema customerDiscount\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data CustomerDiscount'Object' = CustomerDiscount'Object'EnumOther Data.Aeson.Types.Internal.Value | CustomerDiscount'Object'EnumTyped GHC.Base.String | CustomerDiscount'Object'EnumStringDiscount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerDiscount'Object' where toJSON (CustomerDiscount'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerDiscount'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerDiscount'Object'EnumStringDiscount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount" instance Data.Aeson.FromJSON CustomerDiscount'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount") then CustomerDiscount'Object'EnumStringDiscount else CustomerDiscount'Object'EnumOther val) -- | Defines the data type for the schema customerMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data CustomerMetadata' = CustomerMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON CustomerMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerMetadata'" (\obj -> GHC.Base.pure CustomerMetadata') -- | Defines the enum schema customerObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data CustomerObject' = CustomerObject'EnumOther Data.Aeson.Types.Internal.Value | CustomerObject'EnumTyped GHC.Base.String | CustomerObject'EnumStringCustomer deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerObject' where toJSON (CustomerObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerObject'EnumStringCustomer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "customer" instance Data.Aeson.FromJSON CustomerObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "customer") then CustomerObject'EnumStringCustomer else CustomerObject'EnumOther val) -- | Defines the data type for the schema customerShipping\' -- -- Mailing and shipping address for the customer. Appears on invoices emailed to this customer. data CustomerShipping' = CustomerShipping' { -- | address: customerShipping'Address :: (GHC.Maybe.Maybe Address) -- | carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. -- -- Constraints: -- -- * Maximum length of 5000 , customerShipping'Carrier :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Recipient name. -- -- Constraints: -- -- * Maximum length of 5000 , customerShipping'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Recipient phone (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , customerShipping'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. -- -- Constraints: -- -- * Maximum length of 5000 , customerShipping'TrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerShipping' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (customerShipping'Address obj) : (Data.Aeson..=) "carrier" (customerShipping'Carrier obj) : (Data.Aeson..=) "name" (customerShipping'Name obj) : (Data.Aeson..=) "phone" (customerShipping'Phone obj) : (Data.Aeson..=) "tracking_number" (customerShipping'TrackingNumber obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (customerShipping'Address obj) GHC.Base.<> ((Data.Aeson..=) "carrier" (customerShipping'Carrier obj) GHC.Base.<> ((Data.Aeson..=) "name" (customerShipping'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (customerShipping'Phone obj) GHC.Base.<> (Data.Aeson..=) "tracking_number" (customerShipping'TrackingNumber obj))))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerShipping' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerShipping'" (\obj -> ((((GHC.Base.pure CustomerShipping' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number")) -- | Defines the data type for the schema customerSources\' -- -- The customer\'s payment sources, if any. data CustomerSources' = CustomerSources' { -- | data: Details about each object. customerSources'Data :: ([] CustomerSources'Data') -- | has_more: True if this list has another page of items after this one that can be fetched. , customerSources'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , customerSources'Object :: CustomerSources'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (customerSources'Data obj) : (Data.Aeson..=) "has_more" (customerSources'HasMore obj) : (Data.Aeson..=) "object" (customerSources'Object obj) : (Data.Aeson..=) "url" (customerSources'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (customerSources'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (customerSources'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerSources'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (customerSources'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'" (\obj -> (((GHC.Base.pure CustomerSources' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the data type for the schema customerSources\'Data\' -- -- data CustomerSources'Data' = CustomerSources'Data' { -- | account: The ID of the account that the bank account is associated with. customerSources'Data'Account :: (GHC.Maybe.Maybe CustomerSources'Data'Account'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | ach_credit_transfer , customerSources'Data'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer) -- | ach_debit , customerSources'Data'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit) -- | active: True when this bitcoin receiver has received a non-zero amount of bitcoin. , customerSources'Data'Active :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | alipay , customerSources'Data'Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay) -- | amount: The amount of \`currency\` that you are collecting as payment. , customerSources'Data'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | amount_received: The amount of \`currency\` to which \`bitcoin_amount_received\` has been converted. , customerSources'Data'AmountReceived :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , customerSources'Data'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] CustomerSources'Data'AvailablePayoutMethods')) -- | bancontact , customerSources'Data'Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'BankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | bitcoin_amount: The amount of bitcoin that the customer should send to fill the receiver. The \`bitcoin_amount\` is denominated in Satoshi: there are 10^8 Satoshi in one bitcoin. , customerSources'Data'BitcoinAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | bitcoin_amount_received: The amount of bitcoin that has been sent by the customer to this receiver. , customerSources'Data'BitcoinAmountReceived :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | bitcoin_uri: This URI can be displayed to the customer as a clickable link (to activate their bitcoin client) or as a QR code (for mobile wallets). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'BitcoinUri :: (GHC.Maybe.Maybe GHC.Base.String) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Brand :: (GHC.Maybe.Maybe GHC.Base.String) -- | card , customerSources'Data'Card :: (GHC.Maybe.Maybe SourceTypeCard) -- | card_present , customerSources'Data'CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent) -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'ClientSecret :: (GHC.Maybe.Maybe GHC.Base.String) -- | code_verification: , customerSources'Data'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , customerSources'Data'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , customerSources'Data'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer associated with this Alipay Account. , customerSources'Data'Customer :: (GHC.Maybe.Maybe CustomerSources'Data'Customer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this bank account is the default external account for its currency. , customerSources'Data'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Description :: (GHC.Maybe.Maybe GHC.Base.String) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | email: The customer\'s email address, set by the API call that creates the receiver. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Email :: (GHC.Maybe.Maybe GHC.Base.String) -- | eps , customerSources'Data'Eps :: (GHC.Maybe.Maybe SourceTypeEps) -- | exp_month: Two-digit number representing the card\'s expiration month. , customerSources'Data'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , customerSources'Data'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | filled: This flag is initially false and updates to true when the customer sends the \`bitcoin_amount\` to this receiver. , customerSources'Data'Filled :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | fingerprint: Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Flow :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Funding :: (GHC.Maybe.Maybe GHC.Base.String) -- | giropay , customerSources'Data'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | ideal , customerSources'Data'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal) -- | inbound_address: A bitcoin address that is specific to this receiver. The customer can send bitcoin to this address to fill the receiver. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'InboundAddress :: (GHC.Maybe.Maybe GHC.Base.String) -- | klarna , customerSources'Data'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Last4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , customerSources'Data'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , customerSources'Data'Metadata :: (GHC.Maybe.Maybe CustomerSources'Data'Metadata') -- | multibanco , customerSources'Data'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco) -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , customerSources'Data'Object :: (GHC.Maybe.Maybe CustomerSources'Data'Object') -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types. , customerSources'Data'Owner :: (GHC.Maybe.Maybe CustomerSources'Data'Owner') -- | p24 , customerSources'Data'P24 :: (GHC.Maybe.Maybe SourceTypeP24) -- | payment: The ID of the payment created from the receiver, if any. Hidden when viewing the receiver with a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Payment :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_amount: If the Alipay account object is not reusable, the exact amount that you can create a charge for. , customerSources'Data'PaymentAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | payment_currency: If the Alipay account object is not reusable, the exact currency that you can create a charge for. , customerSources'Data'PaymentCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | receiver: , customerSources'Data'Receiver :: (GHC.Maybe.Maybe SourceReceiverFlow) -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , customerSources'Data'Recipient :: (GHC.Maybe.Maybe CustomerSources'Data'Recipient'Variants) -- | redirect: , customerSources'Data'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow) -- | refund_address: The refund address of this bitcoin receiver. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'RefundAddress :: (GHC.Maybe.Maybe GHC.Base.String) -- | reusable: True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment. , customerSources'Data'Reusable :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | sepa_debit , customerSources'Data'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit) -- | sofort , customerSources'Data'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort) -- | source_order: , customerSources'Data'SourceOrder :: (GHC.Maybe.Maybe SourceOrder) -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'StatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Status :: (GHC.Maybe.Maybe GHC.Base.String) -- | three_d_secure , customerSources'Data'ThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | transactions: A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key. , customerSources'Data'Transactions :: (GHC.Maybe.Maybe CustomerSources'Data'Transactions') -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. , customerSources'Data'Type :: (GHC.Maybe.Maybe CustomerSources'Data'Type') -- | uncaptured_funds: This receiver contains uncaptured funds that can be used for a payment or refunded. , customerSources'Data'UncapturedFunds :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Usage :: (GHC.Maybe.Maybe GHC.Base.String) -- | used: Whether this Alipay account object has ever been used for a payment. , customerSources'Data'Used :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | used_for_payment: Indicate if this source is used for payment. , customerSources'Data'UsedForPayment :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | username: The username for the Alipay account. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Username :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat , customerSources'Data'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (customerSources'Data'Account obj) : (Data.Aeson..=) "account_holder_name" (customerSources'Data'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (customerSources'Data'AccountHolderType obj) : (Data.Aeson..=) "ach_credit_transfer" (customerSources'Data'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (customerSources'Data'AchDebit obj) : (Data.Aeson..=) "active" (customerSources'Data'Active obj) : (Data.Aeson..=) "address_city" (customerSources'Data'AddressCity obj) : (Data.Aeson..=) "address_country" (customerSources'Data'AddressCountry obj) : (Data.Aeson..=) "address_line1" (customerSources'Data'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (customerSources'Data'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (customerSources'Data'AddressLine2 obj) : (Data.Aeson..=) "address_state" (customerSources'Data'AddressState obj) : (Data.Aeson..=) "address_zip" (customerSources'Data'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (customerSources'Data'AddressZipCheck obj) : (Data.Aeson..=) "alipay" (customerSources'Data'Alipay obj) : (Data.Aeson..=) "amount" (customerSources'Data'Amount obj) : (Data.Aeson..=) "amount_received" (customerSources'Data'AmountReceived obj) : (Data.Aeson..=) "available_payout_methods" (customerSources'Data'AvailablePayoutMethods obj) : (Data.Aeson..=) "bancontact" (customerSources'Data'Bancontact obj) : (Data.Aeson..=) "bank_name" (customerSources'Data'BankName obj) : (Data.Aeson..=) "bitcoin_amount" (customerSources'Data'BitcoinAmount obj) : (Data.Aeson..=) "bitcoin_amount_received" (customerSources'Data'BitcoinAmountReceived obj) : (Data.Aeson..=) "bitcoin_uri" (customerSources'Data'BitcoinUri obj) : (Data.Aeson..=) "brand" (customerSources'Data'Brand obj) : (Data.Aeson..=) "card" (customerSources'Data'Card obj) : (Data.Aeson..=) "card_present" (customerSources'Data'CardPresent obj) : (Data.Aeson..=) "client_secret" (customerSources'Data'ClientSecret obj) : (Data.Aeson..=) "code_verification" (customerSources'Data'CodeVerification obj) : (Data.Aeson..=) "country" (customerSources'Data'Country obj) : (Data.Aeson..=) "created" (customerSources'Data'Created obj) : (Data.Aeson..=) "currency" (customerSources'Data'Currency obj) : (Data.Aeson..=) "customer" (customerSources'Data'Customer obj) : (Data.Aeson..=) "cvc_check" (customerSources'Data'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (customerSources'Data'DefaultForCurrency obj) : (Data.Aeson..=) "description" (customerSources'Data'Description obj) : (Data.Aeson..=) "dynamic_last4" (customerSources'Data'DynamicLast4 obj) : (Data.Aeson..=) "email" (customerSources'Data'Email obj) : (Data.Aeson..=) "eps" (customerSources'Data'Eps obj) : (Data.Aeson..=) "exp_month" (customerSources'Data'ExpMonth obj) : (Data.Aeson..=) "exp_year" (customerSources'Data'ExpYear obj) : (Data.Aeson..=) "filled" (customerSources'Data'Filled obj) : (Data.Aeson..=) "fingerprint" (customerSources'Data'Fingerprint obj) : (Data.Aeson..=) "flow" (customerSources'Data'Flow obj) : (Data.Aeson..=) "funding" (customerSources'Data'Funding obj) : (Data.Aeson..=) "giropay" (customerSources'Data'Giropay obj) : (Data.Aeson..=) "id" (customerSources'Data'Id obj) : (Data.Aeson..=) "ideal" (customerSources'Data'Ideal obj) : (Data.Aeson..=) "inbound_address" (customerSources'Data'InboundAddress obj) : (Data.Aeson..=) "klarna" (customerSources'Data'Klarna obj) : (Data.Aeson..=) "last4" (customerSources'Data'Last4 obj) : (Data.Aeson..=) "livemode" (customerSources'Data'Livemode obj) : (Data.Aeson..=) "metadata" (customerSources'Data'Metadata obj) : (Data.Aeson..=) "multibanco" (customerSources'Data'Multibanco obj) : (Data.Aeson..=) "name" (customerSources'Data'Name obj) : (Data.Aeson..=) "object" (customerSources'Data'Object obj) : (Data.Aeson..=) "owner" (customerSources'Data'Owner obj) : (Data.Aeson..=) "p24" (customerSources'Data'P24 obj) : (Data.Aeson..=) "payment" (customerSources'Data'Payment obj) : (Data.Aeson..=) "payment_amount" (customerSources'Data'PaymentAmount obj) : (Data.Aeson..=) "payment_currency" (customerSources'Data'PaymentCurrency obj) : (Data.Aeson..=) "receiver" (customerSources'Data'Receiver obj) : (Data.Aeson..=) "recipient" (customerSources'Data'Recipient obj) : (Data.Aeson..=) "redirect" (customerSources'Data'Redirect obj) : (Data.Aeson..=) "refund_address" (customerSources'Data'RefundAddress obj) : (Data.Aeson..=) "reusable" (customerSources'Data'Reusable obj) : (Data.Aeson..=) "routing_number" (customerSources'Data'RoutingNumber obj) : (Data.Aeson..=) "sepa_debit" (customerSources'Data'SepaDebit obj) : (Data.Aeson..=) "sofort" (customerSources'Data'Sofort obj) : (Data.Aeson..=) "source_order" (customerSources'Data'SourceOrder obj) : (Data.Aeson..=) "statement_descriptor" (customerSources'Data'StatementDescriptor obj) : (Data.Aeson..=) "status" (customerSources'Data'Status obj) : (Data.Aeson..=) "three_d_secure" (customerSources'Data'ThreeDSecure obj) : (Data.Aeson..=) "tokenization_method" (customerSources'Data'TokenizationMethod obj) : (Data.Aeson..=) "transactions" (customerSources'Data'Transactions obj) : (Data.Aeson..=) "type" (customerSources'Data'Type obj) : (Data.Aeson..=) "uncaptured_funds" (customerSources'Data'UncapturedFunds obj) : (Data.Aeson..=) "usage" (customerSources'Data'Usage obj) : (Data.Aeson..=) "used" (customerSources'Data'Used obj) : (Data.Aeson..=) "used_for_payment" (customerSources'Data'UsedForPayment obj) : (Data.Aeson..=) "username" (customerSources'Data'Username obj) : (Data.Aeson..=) "wechat" (customerSources'Data'Wechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (customerSources'Data'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (customerSources'Data'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (customerSources'Data'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "ach_credit_transfer" (customerSources'Data'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (customerSources'Data'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "active" (customerSources'Data'Active obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (customerSources'Data'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (customerSources'Data'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (customerSources'Data'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (customerSources'Data'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (customerSources'Data'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (customerSources'Data'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (customerSources'Data'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (customerSources'Data'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (customerSources'Data'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "amount" (customerSources'Data'Amount obj) GHC.Base.<> ((Data.Aeson..=) "amount_received" (customerSources'Data'AmountReceived obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (customerSources'Data'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (customerSources'Data'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (customerSources'Data'BankName obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_amount" (customerSources'Data'BitcoinAmount obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_amount_received" (customerSources'Data'BitcoinAmountReceived obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_uri" (customerSources'Data'BitcoinUri obj) GHC.Base.<> ((Data.Aeson..=) "brand" (customerSources'Data'Brand obj) GHC.Base.<> ((Data.Aeson..=) "card" (customerSources'Data'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (customerSources'Data'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (customerSources'Data'ClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "code_verification" (customerSources'Data'CodeVerification obj) GHC.Base.<> ((Data.Aeson..=) "country" (customerSources'Data'Country obj) GHC.Base.<> ((Data.Aeson..=) "created" (customerSources'Data'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (customerSources'Data'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (customerSources'Data'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (customerSources'Data'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (customerSources'Data'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (customerSources'Data'Description obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (customerSources'Data'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "email" (customerSources'Data'Email obj) GHC.Base.<> ((Data.Aeson..=) "eps" (customerSources'Data'Eps obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (customerSources'Data'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (customerSources'Data'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "filled" (customerSources'Data'Filled obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (customerSources'Data'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "flow" (customerSources'Data'Flow obj) GHC.Base.<> ((Data.Aeson..=) "funding" (customerSources'Data'Funding obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (customerSources'Data'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "id" (customerSources'Data'Id obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (customerSources'Data'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "inbound_address" (customerSources'Data'InboundAddress obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (customerSources'Data'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "last4" (customerSources'Data'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (customerSources'Data'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (customerSources'Data'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (customerSources'Data'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "name" (customerSources'Data'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerSources'Data'Object obj) GHC.Base.<> ((Data.Aeson..=) "owner" (customerSources'Data'Owner obj) GHC.Base.<> ((Data.Aeson..=) "p24" (customerSources'Data'P24 obj) GHC.Base.<> ((Data.Aeson..=) "payment" (customerSources'Data'Payment obj) GHC.Base.<> ((Data.Aeson..=) "payment_amount" (customerSources'Data'PaymentAmount obj) GHC.Base.<> ((Data.Aeson..=) "payment_currency" (customerSources'Data'PaymentCurrency obj) GHC.Base.<> ((Data.Aeson..=) "receiver" (customerSources'Data'Receiver obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (customerSources'Data'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "redirect" (customerSources'Data'Redirect obj) GHC.Base.<> ((Data.Aeson..=) "refund_address" (customerSources'Data'RefundAddress obj) GHC.Base.<> ((Data.Aeson..=) "reusable" (customerSources'Data'Reusable obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (customerSources'Data'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (customerSources'Data'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (customerSources'Data'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "source_order" (customerSources'Data'SourceOrder obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (customerSources'Data'StatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (customerSources'Data'Status obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (customerSources'Data'ThreeDSecure obj) GHC.Base.<> ((Data.Aeson..=) "tokenization_method" (customerSources'Data'TokenizationMethod obj) GHC.Base.<> ((Data.Aeson..=) "transactions" (customerSources'Data'Transactions obj) GHC.Base.<> ((Data.Aeson..=) "type" (customerSources'Data'Type obj) GHC.Base.<> ((Data.Aeson..=) "uncaptured_funds" (customerSources'Data'UncapturedFunds obj) GHC.Base.<> ((Data.Aeson..=) "usage" (customerSources'Data'Usage obj) GHC.Base.<> ((Data.Aeson..=) "used" (customerSources'Data'Used obj) GHC.Base.<> ((Data.Aeson..=) "used_for_payment" (customerSources'Data'UsedForPayment obj) GHC.Base.<> ((Data.Aeson..=) "username" (customerSources'Data'Username obj) GHC.Base.<> (Data.Aeson..=) "wechat" (customerSources'Data'Wechat obj))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'" (\obj -> ((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure CustomerSources'Data' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_received")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_amount_received")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_uri")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) 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..:? "filled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "inbound_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) 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..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reusable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transactions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncaptured_funds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "used")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "used_for_payment")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "username")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Define the one-of schema customerSources\'Data\'Account\' -- -- The ID of the account that the bank account is associated with. data CustomerSources'Data'Account'Variants = CustomerSources'Data'Account'Account Account | CustomerSources'Data'Account'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CustomerSources'Data'Account'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CustomerSources'Data'Account'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema customerSources\'Data\'Available_payout_methods\' -- -- data CustomerSources'Data'AvailablePayoutMethods' = CustomerSources'Data'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | CustomerSources'Data'AvailablePayoutMethods'EnumTyped GHC.Base.String | CustomerSources'Data'AvailablePayoutMethods'EnumStringInstant | CustomerSources'Data'AvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'AvailablePayoutMethods' where toJSON (CustomerSources'Data'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Data'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Data'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (CustomerSources'Data'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON CustomerSources'Data'AvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then CustomerSources'Data'AvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then CustomerSources'Data'AvailablePayoutMethods'EnumStringStandard else CustomerSources'Data'AvailablePayoutMethods'EnumOther val) -- | Define the one-of schema customerSources\'Data\'Customer\' -- -- The ID of the customer associated with this Alipay Account. data CustomerSources'Data'Customer'Variants = CustomerSources'Data'Customer'Customer Customer | CustomerSources'Data'Customer'DeletedCustomer DeletedCustomer | CustomerSources'Data'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CustomerSources'Data'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CustomerSources'Data'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema customerSources\'Data\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data CustomerSources'Data'Metadata' = CustomerSources'Data'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Metadata'" (\obj -> GHC.Base.pure CustomerSources'Data'Metadata') -- | Defines the enum schema customerSources\'Data\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data CustomerSources'Data'Object' = CustomerSources'Data'Object'EnumOther Data.Aeson.Types.Internal.Value | CustomerSources'Data'Object'EnumTyped GHC.Base.String | CustomerSources'Data'Object'EnumStringAlipayAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'Object' where toJSON (CustomerSources'Data'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Data'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Data'Object'EnumStringAlipayAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account" instance Data.Aeson.FromJSON CustomerSources'Data'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account") then CustomerSources'Data'Object'EnumStringAlipayAccount else CustomerSources'Data'Object'EnumOther val) -- | Defines the data type for the schema customerSources\'Data\'Owner\' -- -- Information about the owner of the payment instrument that may be used or required by particular source types. data CustomerSources'Data'Owner' = CustomerSources'Data'Owner' { -- | address: Owner\'s address. customerSources'Data'Owner'Address :: (GHC.Maybe.Maybe CustomerSources'Data'Owner'Address') -- | email: Owner\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'Email :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s full name. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Owner\'s phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. , customerSources'Data'Owner'VerifiedAddress :: (GHC.Maybe.Maybe CustomerSources'Data'Owner'VerifiedAddress') -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'VerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'VerifiedName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'VerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'Owner' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (customerSources'Data'Owner'Address obj) : (Data.Aeson..=) "email" (customerSources'Data'Owner'Email obj) : (Data.Aeson..=) "name" (customerSources'Data'Owner'Name obj) : (Data.Aeson..=) "phone" (customerSources'Data'Owner'Phone obj) : (Data.Aeson..=) "verified_address" (customerSources'Data'Owner'VerifiedAddress obj) : (Data.Aeson..=) "verified_email" (customerSources'Data'Owner'VerifiedEmail obj) : (Data.Aeson..=) "verified_name" (customerSources'Data'Owner'VerifiedName obj) : (Data.Aeson..=) "verified_phone" (customerSources'Data'Owner'VerifiedPhone obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (customerSources'Data'Owner'Address obj) GHC.Base.<> ((Data.Aeson..=) "email" (customerSources'Data'Owner'Email obj) GHC.Base.<> ((Data.Aeson..=) "name" (customerSources'Data'Owner'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (customerSources'Data'Owner'Phone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (customerSources'Data'Owner'VerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (customerSources'Data'Owner'VerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (customerSources'Data'Owner'VerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (customerSources'Data'Owner'VerifiedPhone obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Owner' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Owner'" (\obj -> (((((((GHC.Base.pure CustomerSources'Data'Owner' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone")) -- | Defines the data type for the schema customerSources\'Data\'Owner\'Address\' -- -- Owner\\\'s address. data CustomerSources'Data'Owner'Address' = CustomerSources'Data'Owner'Address' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 customerSources'Data'Owner'Address'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'Address'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'Address'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'Address'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'Address'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'Address'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'Owner'Address' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (customerSources'Data'Owner'Address'City obj) : (Data.Aeson..=) "country" (customerSources'Data'Owner'Address'Country obj) : (Data.Aeson..=) "line1" (customerSources'Data'Owner'Address'Line1 obj) : (Data.Aeson..=) "line2" (customerSources'Data'Owner'Address'Line2 obj) : (Data.Aeson..=) "postal_code" (customerSources'Data'Owner'Address'PostalCode obj) : (Data.Aeson..=) "state" (customerSources'Data'Owner'Address'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (customerSources'Data'Owner'Address'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (customerSources'Data'Owner'Address'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (customerSources'Data'Owner'Address'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (customerSources'Data'Owner'Address'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (customerSources'Data'Owner'Address'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (customerSources'Data'Owner'Address'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Owner'Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Owner'Address'" (\obj -> (((((GHC.Base.pure CustomerSources'Data'Owner'Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema customerSources\'Data\'Owner\'Verified_address\' -- -- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. data CustomerSources'Data'Owner'VerifiedAddress' = CustomerSources'Data'Owner'VerifiedAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 customerSources'Data'Owner'VerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'VerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'Owner'VerifiedAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (customerSources'Data'Owner'VerifiedAddress'City obj) : (Data.Aeson..=) "country" (customerSources'Data'Owner'VerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (customerSources'Data'Owner'VerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (customerSources'Data'Owner'VerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (customerSources'Data'Owner'VerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (customerSources'Data'Owner'VerifiedAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (customerSources'Data'Owner'VerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (customerSources'Data'Owner'VerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (customerSources'Data'Owner'VerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (customerSources'Data'Owner'VerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (customerSources'Data'Owner'VerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (customerSources'Data'Owner'VerifiedAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Owner'VerifiedAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Owner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure CustomerSources'Data'Owner'VerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Define the one-of schema customerSources\'Data\'Recipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data CustomerSources'Data'Recipient'Variants = CustomerSources'Data'Recipient'Recipient Recipient | CustomerSources'Data'Recipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CustomerSources'Data'Recipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CustomerSources'Data'Recipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema customerSources\'Data\'Transactions\' -- -- A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key. data CustomerSources'Data'Transactions' = CustomerSources'Data'Transactions' { -- | data: Details about each object. customerSources'Data'Transactions'Data :: ([] BitcoinTransaction) -- | has_more: True if this list has another page of items after this one that can be fetched. , customerSources'Data'Transactions'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , customerSources'Data'Transactions'Object :: CustomerSources'Data'Transactions'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , customerSources'Data'Transactions'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'Transactions' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (customerSources'Data'Transactions'Data obj) : (Data.Aeson..=) "has_more" (customerSources'Data'Transactions'HasMore obj) : (Data.Aeson..=) "object" (customerSources'Data'Transactions'Object obj) : (Data.Aeson..=) "url" (customerSources'Data'Transactions'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (customerSources'Data'Transactions'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (customerSources'Data'Transactions'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerSources'Data'Transactions'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (customerSources'Data'Transactions'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerSources'Data'Transactions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSources'Data'Transactions'" (\obj -> (((GHC.Base.pure CustomerSources'Data'Transactions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema customerSources\'Data\'Transactions\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data CustomerSources'Data'Transactions'Object' = CustomerSources'Data'Transactions'Object'EnumOther Data.Aeson.Types.Internal.Value | CustomerSources'Data'Transactions'Object'EnumTyped GHC.Base.String | CustomerSources'Data'Transactions'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'Transactions'Object' where toJSON (CustomerSources'Data'Transactions'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Data'Transactions'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Data'Transactions'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON CustomerSources'Data'Transactions'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then CustomerSources'Data'Transactions'Object'EnumStringList else CustomerSources'Data'Transactions'Object'EnumOther val) -- | Defines the enum schema customerSources\'Data\'Type\' -- -- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. data CustomerSources'Data'Type' = CustomerSources'Data'Type'EnumOther Data.Aeson.Types.Internal.Value | CustomerSources'Data'Type'EnumTyped GHC.Base.String | CustomerSources'Data'Type'EnumStringAchCreditTransfer | CustomerSources'Data'Type'EnumStringAchDebit | CustomerSources'Data'Type'EnumStringAlipay | CustomerSources'Data'Type'EnumStringBancontact | CustomerSources'Data'Type'EnumStringCard | CustomerSources'Data'Type'EnumStringCardPresent | CustomerSources'Data'Type'EnumStringEps | CustomerSources'Data'Type'EnumStringGiropay | CustomerSources'Data'Type'EnumStringIdeal | CustomerSources'Data'Type'EnumStringKlarna | CustomerSources'Data'Type'EnumStringMultibanco | CustomerSources'Data'Type'EnumStringP24 | CustomerSources'Data'Type'EnumStringSepaDebit | CustomerSources'Data'Type'EnumStringSofort | CustomerSources'Data'Type'EnumStringThreeDSecure | CustomerSources'Data'Type'EnumStringWechat deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Data'Type' where toJSON (CustomerSources'Data'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Data'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Data'Type'EnumStringAchCreditTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer" toJSON (CustomerSources'Data'Type'EnumStringAchDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit" toJSON (CustomerSources'Data'Type'EnumStringAlipay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay" toJSON (CustomerSources'Data'Type'EnumStringBancontact) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact" toJSON (CustomerSources'Data'Type'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card" toJSON (CustomerSources'Data'Type'EnumStringCardPresent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present" toJSON (CustomerSources'Data'Type'EnumStringEps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps" toJSON (CustomerSources'Data'Type'EnumStringGiropay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay" toJSON (CustomerSources'Data'Type'EnumStringIdeal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal" toJSON (CustomerSources'Data'Type'EnumStringKlarna) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna" toJSON (CustomerSources'Data'Type'EnumStringMultibanco) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco" toJSON (CustomerSources'Data'Type'EnumStringP24) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24" toJSON (CustomerSources'Data'Type'EnumStringSepaDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit" toJSON (CustomerSources'Data'Type'EnumStringSofort) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort" toJSON (CustomerSources'Data'Type'EnumStringThreeDSecure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure" toJSON (CustomerSources'Data'Type'EnumStringWechat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat" instance Data.Aeson.FromJSON CustomerSources'Data'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer") then CustomerSources'Data'Type'EnumStringAchCreditTransfer else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit") then CustomerSources'Data'Type'EnumStringAchDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay") then CustomerSources'Data'Type'EnumStringAlipay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact") then CustomerSources'Data'Type'EnumStringBancontact else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card") then CustomerSources'Data'Type'EnumStringCard else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present") then CustomerSources'Data'Type'EnumStringCardPresent else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps") then CustomerSources'Data'Type'EnumStringEps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay") then CustomerSources'Data'Type'EnumStringGiropay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal") then CustomerSources'Data'Type'EnumStringIdeal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna") then CustomerSources'Data'Type'EnumStringKlarna else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco") then CustomerSources'Data'Type'EnumStringMultibanco else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24") then CustomerSources'Data'Type'EnumStringP24 else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit") then CustomerSources'Data'Type'EnumStringSepaDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort") then CustomerSources'Data'Type'EnumStringSofort else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure") then CustomerSources'Data'Type'EnumStringThreeDSecure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat") then CustomerSources'Data'Type'EnumStringWechat else CustomerSources'Data'Type'EnumOther val) -- | Defines the enum schema customerSources\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data CustomerSources'Object' = CustomerSources'Object'EnumOther Data.Aeson.Types.Internal.Value | CustomerSources'Object'EnumTyped GHC.Base.String | CustomerSources'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSources'Object' where toJSON (CustomerSources'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSources'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON CustomerSources'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then CustomerSources'Object'EnumStringList else CustomerSources'Object'EnumOther val) -- | Defines the data type for the schema customerSubscriptions\' -- -- The customer\'s current subscriptions, if any. data CustomerSubscriptions' = CustomerSubscriptions' { -- | data: Details about each object. customerSubscriptions'Data :: ([] Subscription) -- | has_more: True if this list has another page of items after this one that can be fetched. , customerSubscriptions'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , customerSubscriptions'Object :: CustomerSubscriptions'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , customerSubscriptions'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSubscriptions' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (customerSubscriptions'Data obj) : (Data.Aeson..=) "has_more" (customerSubscriptions'HasMore obj) : (Data.Aeson..=) "object" (customerSubscriptions'Object obj) : (Data.Aeson..=) "url" (customerSubscriptions'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (customerSubscriptions'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (customerSubscriptions'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerSubscriptions'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (customerSubscriptions'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerSubscriptions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerSubscriptions'" (\obj -> (((GHC.Base.pure CustomerSubscriptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema customerSubscriptions\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data CustomerSubscriptions'Object' = CustomerSubscriptions'Object'EnumOther Data.Aeson.Types.Internal.Value | CustomerSubscriptions'Object'EnumTyped GHC.Base.String | CustomerSubscriptions'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerSubscriptions'Object' where toJSON (CustomerSubscriptions'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSubscriptions'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerSubscriptions'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON CustomerSubscriptions'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then CustomerSubscriptions'Object'EnumStringList else CustomerSubscriptions'Object'EnumOther val) -- | Defines the enum schema customerTax_exempt\' -- -- Describes the customer\'s tax exemption status. One of \`none\`, \`exempt\`, or \`reverse\`. When set to \`reverse\`, invoice and receipt PDFs include the text **\"Reverse charge\"**. data CustomerTaxExempt' = CustomerTaxExempt'EnumOther Data.Aeson.Types.Internal.Value | CustomerTaxExempt'EnumTyped GHC.Base.String | CustomerTaxExempt'EnumStringExempt | CustomerTaxExempt'EnumStringNone | CustomerTaxExempt'EnumStringReverse deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerTaxExempt' where toJSON (CustomerTaxExempt'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerTaxExempt'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerTaxExempt'EnumStringExempt) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exempt" toJSON (CustomerTaxExempt'EnumStringNone) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none" toJSON (CustomerTaxExempt'EnumStringReverse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reverse" instance Data.Aeson.FromJSON CustomerTaxExempt' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exempt") then CustomerTaxExempt'EnumStringExempt else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none") then CustomerTaxExempt'EnumStringNone else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reverse") then CustomerTaxExempt'EnumStringReverse else CustomerTaxExempt'EnumOther val) -- | Defines the data type for the schema customerTax_ids\' -- -- The customer\'s tax IDs. data CustomerTaxIds' = CustomerTaxIds' { -- | data: Details about each object. customerTaxIds'Data :: ([] TaxId) -- | has_more: True if this list has another page of items after this one that can be fetched. , customerTaxIds'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , customerTaxIds'Object :: CustomerTaxIds'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , customerTaxIds'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerTaxIds' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (customerTaxIds'Data obj) : (Data.Aeson..=) "has_more" (customerTaxIds'HasMore obj) : (Data.Aeson..=) "object" (customerTaxIds'Object obj) : (Data.Aeson..=) "url" (customerTaxIds'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (customerTaxIds'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (customerTaxIds'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerTaxIds'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (customerTaxIds'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerTaxIds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerTaxIds'" (\obj -> (((GHC.Base.pure CustomerTaxIds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema customerTax_ids\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data CustomerTaxIds'Object' = CustomerTaxIds'Object'EnumOther Data.Aeson.Types.Internal.Value | CustomerTaxIds'Object'EnumTyped GHC.Base.String | CustomerTaxIds'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerTaxIds'Object' where toJSON (CustomerTaxIds'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerTaxIds'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerTaxIds'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON CustomerTaxIds'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then CustomerTaxIds'Object'EnumStringList else CustomerTaxIds'Object'EnumOther val) -- | Defines the data type for the schema customer_balance_transaction -- -- Each customer has a [\`balance\`](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-balance) value, -- which denotes a debit or credit that\'s automatically applied to their next invoice upon finalization. -- You may modify the value directly by using the [update customer API](https:\/\/stripe.com\/docs\/api\/customers\/update), -- or by creating a Customer Balance Transaction, which increments or decrements the customer\'s \`balance\` by the specified \`amount\`. -- -- Related guide: [Customer Balance](https:\/\/stripe.com\/docs\/billing\/customer\/balance) to learn more. data CustomerBalanceTransaction = CustomerBalanceTransaction { -- | amount: The amount of the transaction. A negative value is a credit for the customer\'s balance, and a positive value is a debit to the customer\'s \`balance\`. customerBalanceTransactionAmount :: GHC.Integer.Type.Integer -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , customerBalanceTransactionCreated :: GHC.Integer.Type.Integer -- | credit_note: The ID of the credit note (if any) related to the transaction. , customerBalanceTransactionCreditNote :: (GHC.Maybe.Maybe CustomerBalanceTransactionCreditNote'Variants) -- | 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). , customerBalanceTransactionCurrency :: GHC.Base.String -- | customer: The ID of the customer the transaction belongs to. , customerBalanceTransactionCustomer :: CustomerBalanceTransactionCustomer'Variants -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , customerBalanceTransactionDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | ending_balance: The customer\'s \`balance\` after the transaction was applied. A negative value decreases the amount due on the customer\'s next invoice. A positive value increases the amount due on the customer\'s next invoice. , customerBalanceTransactionEndingBalance :: GHC.Integer.Type.Integer -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , customerBalanceTransactionId :: GHC.Base.String -- | invoice: The ID of the invoice (if any) related to the transaction. , customerBalanceTransactionInvoice :: (GHC.Maybe.Maybe CustomerBalanceTransactionInvoice'Variants) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , customerBalanceTransactionLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , customerBalanceTransactionMetadata :: (GHC.Maybe.Maybe CustomerBalanceTransactionMetadata') -- | object: String representing the object\'s type. Objects of the same type share the same value. , customerBalanceTransactionObject :: CustomerBalanceTransactionObject' -- | type: Transaction type: \`adjustment\`, \`applied_to_invoice\`, \`credit_note\`, \`initial\`, \`invoice_too_large\`, \`invoice_too_small\`, \`unspent_receiver_credit\`, or \`unapplied_from_invoice\`. See the [Customer Balance page](https:\/\/stripe.com\/docs\/billing\/customer\/balance\#types) to learn more about transaction types. , customerBalanceTransactionType :: CustomerBalanceTransactionType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerBalanceTransaction where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (customerBalanceTransactionAmount obj) : (Data.Aeson..=) "created" (customerBalanceTransactionCreated obj) : (Data.Aeson..=) "credit_note" (customerBalanceTransactionCreditNote obj) : (Data.Aeson..=) "currency" (customerBalanceTransactionCurrency obj) : (Data.Aeson..=) "customer" (customerBalanceTransactionCustomer obj) : (Data.Aeson..=) "description" (customerBalanceTransactionDescription obj) : (Data.Aeson..=) "ending_balance" (customerBalanceTransactionEndingBalance obj) : (Data.Aeson..=) "id" (customerBalanceTransactionId obj) : (Data.Aeson..=) "invoice" (customerBalanceTransactionInvoice obj) : (Data.Aeson..=) "livemode" (customerBalanceTransactionLivemode obj) : (Data.Aeson..=) "metadata" (customerBalanceTransactionMetadata obj) : (Data.Aeson..=) "object" (customerBalanceTransactionObject obj) : (Data.Aeson..=) "type" (customerBalanceTransactionType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (customerBalanceTransactionAmount obj) GHC.Base.<> ((Data.Aeson..=) "created" (customerBalanceTransactionCreated obj) GHC.Base.<> ((Data.Aeson..=) "credit_note" (customerBalanceTransactionCreditNote obj) GHC.Base.<> ((Data.Aeson..=) "currency" (customerBalanceTransactionCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (customerBalanceTransactionCustomer obj) GHC.Base.<> ((Data.Aeson..=) "description" (customerBalanceTransactionDescription obj) GHC.Base.<> ((Data.Aeson..=) "ending_balance" (customerBalanceTransactionEndingBalance obj) GHC.Base.<> ((Data.Aeson..=) "id" (customerBalanceTransactionId obj) GHC.Base.<> ((Data.Aeson..=) "invoice" (customerBalanceTransactionInvoice obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (customerBalanceTransactionLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (customerBalanceTransactionMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (customerBalanceTransactionObject obj) GHC.Base.<> (Data.Aeson..=) "type" (customerBalanceTransactionType obj))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON CustomerBalanceTransaction where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerBalanceTransaction" (\obj -> ((((((((((((GHC.Base.pure CustomerBalanceTransaction GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "credit_note")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "ending_balance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Define the one-of schema customer_balance_transactionCredit_note\' -- -- The ID of the credit note (if any) related to the transaction. data CustomerBalanceTransactionCreditNote'Variants = CustomerBalanceTransactionCreditNote'CreditNote CreditNote | CustomerBalanceTransactionCreditNote'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CustomerBalanceTransactionCreditNote'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CustomerBalanceTransactionCreditNote'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema customer_balance_transactionCustomer\' -- -- The ID of the customer the transaction belongs to. data CustomerBalanceTransactionCustomer'Variants = CustomerBalanceTransactionCustomer'Customer Customer | CustomerBalanceTransactionCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CustomerBalanceTransactionCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CustomerBalanceTransactionCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema customer_balance_transactionInvoice\' -- -- The ID of the invoice (if any) related to the transaction. data CustomerBalanceTransactionInvoice'Variants = CustomerBalanceTransactionInvoice'Invoice Invoice | CustomerBalanceTransactionInvoice'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON CustomerBalanceTransactionInvoice'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON CustomerBalanceTransactionInvoice'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema customer_balance_transactionMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data CustomerBalanceTransactionMetadata' = CustomerBalanceTransactionMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerBalanceTransactionMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON CustomerBalanceTransactionMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "CustomerBalanceTransactionMetadata'" (\obj -> GHC.Base.pure CustomerBalanceTransactionMetadata') -- | Defines the enum schema customer_balance_transactionObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data CustomerBalanceTransactionObject' = CustomerBalanceTransactionObject'EnumOther Data.Aeson.Types.Internal.Value | CustomerBalanceTransactionObject'EnumTyped GHC.Base.String | CustomerBalanceTransactionObject'EnumStringCustomerBalanceTransaction deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerBalanceTransactionObject' where toJSON (CustomerBalanceTransactionObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerBalanceTransactionObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerBalanceTransactionObject'EnumStringCustomerBalanceTransaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "customer_balance_transaction" instance Data.Aeson.FromJSON CustomerBalanceTransactionObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "customer_balance_transaction") then CustomerBalanceTransactionObject'EnumStringCustomerBalanceTransaction else CustomerBalanceTransactionObject'EnumOther val) -- | Defines the enum schema customer_balance_transactionType\' -- -- Transaction type: \`adjustment\`, \`applied_to_invoice\`, \`credit_note\`, \`initial\`, \`invoice_too_large\`, \`invoice_too_small\`, \`unspent_receiver_credit\`, or \`unapplied_from_invoice\`. See the [Customer Balance page](https:\/\/stripe.com\/docs\/billing\/customer\/balance\#types) to learn more about transaction types. data CustomerBalanceTransactionType' = CustomerBalanceTransactionType'EnumOther Data.Aeson.Types.Internal.Value | CustomerBalanceTransactionType'EnumTyped GHC.Base.String | CustomerBalanceTransactionType'EnumStringAdjustment | CustomerBalanceTransactionType'EnumStringAppliedToInvoice | CustomerBalanceTransactionType'EnumStringCreditNote | CustomerBalanceTransactionType'EnumStringInitial | CustomerBalanceTransactionType'EnumStringInvoiceTooLarge | CustomerBalanceTransactionType'EnumStringInvoiceTooSmall | CustomerBalanceTransactionType'EnumStringMigration | CustomerBalanceTransactionType'EnumStringUnappliedFromInvoice | CustomerBalanceTransactionType'EnumStringUnspentReceiverCredit deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON CustomerBalanceTransactionType' where toJSON (CustomerBalanceTransactionType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerBalanceTransactionType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (CustomerBalanceTransactionType'EnumStringAdjustment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "adjustment" toJSON (CustomerBalanceTransactionType'EnumStringAppliedToInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "applied_to_invoice" toJSON (CustomerBalanceTransactionType'EnumStringCreditNote) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_note" toJSON (CustomerBalanceTransactionType'EnumStringInitial) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "initial" toJSON (CustomerBalanceTransactionType'EnumStringInvoiceTooLarge) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice_too_large" toJSON (CustomerBalanceTransactionType'EnumStringInvoiceTooSmall) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice_too_small" toJSON (CustomerBalanceTransactionType'EnumStringMigration) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "migration" toJSON (CustomerBalanceTransactionType'EnumStringUnappliedFromInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unapplied_from_invoice" toJSON (CustomerBalanceTransactionType'EnumStringUnspentReceiverCredit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unspent_receiver_credit" instance Data.Aeson.FromJSON CustomerBalanceTransactionType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "adjustment") then CustomerBalanceTransactionType'EnumStringAdjustment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "applied_to_invoice") then CustomerBalanceTransactionType'EnumStringAppliedToInvoice else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_note") then CustomerBalanceTransactionType'EnumStringCreditNote else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "initial") then CustomerBalanceTransactionType'EnumStringInitial else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice_too_large") then CustomerBalanceTransactionType'EnumStringInvoiceTooLarge else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice_too_small") then CustomerBalanceTransactionType'EnumStringInvoiceTooSmall else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "migration") then CustomerBalanceTransactionType'EnumStringMigration else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unapplied_from_invoice") then CustomerBalanceTransactionType'EnumStringUnappliedFromInvoice else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unspent_receiver_credit") then CustomerBalanceTransactionType'EnumStringUnspentReceiverCredit else CustomerBalanceTransactionType'EnumOther val) -- | Defines the data type for the schema deleted_external_account -- -- data DeletedExternalAccount = DeletedExternalAccount { -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. -- -- Constraints: -- -- * Maximum length of 5000 deletedExternalAccountCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | deleted: Always true for a deleted object , deletedExternalAccountDeleted :: (GHC.Maybe.Maybe DeletedExternalAccountDeleted') -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , deletedExternalAccountId :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , deletedExternalAccountObject :: (GHC.Maybe.Maybe DeletedExternalAccountObject') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON DeletedExternalAccount where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "currency" (deletedExternalAccountCurrency obj) : (Data.Aeson..=) "deleted" (deletedExternalAccountDeleted obj) : (Data.Aeson..=) "id" (deletedExternalAccountId obj) : (Data.Aeson..=) "object" (deletedExternalAccountObject obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "currency" (deletedExternalAccountCurrency obj) GHC.Base.<> ((Data.Aeson..=) "deleted" (deletedExternalAccountDeleted obj) GHC.Base.<> ((Data.Aeson..=) "id" (deletedExternalAccountId obj) GHC.Base.<> (Data.Aeson..=) "object" (deletedExternalAccountObject obj)))) instance Data.Aeson.Types.FromJSON.FromJSON DeletedExternalAccount where parseJSON = Data.Aeson.Types.FromJSON.withObject "DeletedExternalAccount" (\obj -> (((GHC.Base.pure DeletedExternalAccount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "deleted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) -- | Defines the enum schema deleted_external_accountDeleted\' -- -- Always true for a deleted object data DeletedExternalAccountDeleted' = DeletedExternalAccountDeleted'EnumOther Data.Aeson.Types.Internal.Value | DeletedExternalAccountDeleted'EnumTyped GHC.Types.Bool | DeletedExternalAccountDeleted'EnumBoolTrue deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON DeletedExternalAccountDeleted' where toJSON (DeletedExternalAccountDeleted'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DeletedExternalAccountDeleted'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DeletedExternalAccountDeleted'EnumBoolTrue) = Data.Aeson.Types.Internal.Bool GHC.Types.True instance Data.Aeson.FromJSON DeletedExternalAccountDeleted' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== Data.Aeson.Types.Internal.Bool GHC.Types.True then DeletedExternalAccountDeleted'EnumBoolTrue else DeletedExternalAccountDeleted'EnumOther val) -- | Defines the enum schema deleted_external_accountObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data DeletedExternalAccountObject' = DeletedExternalAccountObject'EnumOther Data.Aeson.Types.Internal.Value | DeletedExternalAccountObject'EnumTyped GHC.Base.String | DeletedExternalAccountObject'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON DeletedExternalAccountObject' where toJSON (DeletedExternalAccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DeletedExternalAccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DeletedExternalAccountObject'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON DeletedExternalAccountObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then DeletedExternalAccountObject'EnumStringBankAccount else DeletedExternalAccountObject'EnumOther val) -- | Defines the data type for the schema deleted_payment_source -- -- data DeletedPaymentSource = DeletedPaymentSource { -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. -- -- Constraints: -- -- * Maximum length of 5000 deletedPaymentSourceCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | deleted: Always true for a deleted object , deletedPaymentSourceDeleted :: (GHC.Maybe.Maybe DeletedPaymentSourceDeleted') -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , deletedPaymentSourceId :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , deletedPaymentSourceObject :: (GHC.Maybe.Maybe DeletedPaymentSourceObject') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON DeletedPaymentSource where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "currency" (deletedPaymentSourceCurrency obj) : (Data.Aeson..=) "deleted" (deletedPaymentSourceDeleted obj) : (Data.Aeson..=) "id" (deletedPaymentSourceId obj) : (Data.Aeson..=) "object" (deletedPaymentSourceObject obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "currency" (deletedPaymentSourceCurrency obj) GHC.Base.<> ((Data.Aeson..=) "deleted" (deletedPaymentSourceDeleted obj) GHC.Base.<> ((Data.Aeson..=) "id" (deletedPaymentSourceId obj) GHC.Base.<> (Data.Aeson..=) "object" (deletedPaymentSourceObject obj)))) instance Data.Aeson.Types.FromJSON.FromJSON DeletedPaymentSource where parseJSON = Data.Aeson.Types.FromJSON.withObject "DeletedPaymentSource" (\obj -> (((GHC.Base.pure DeletedPaymentSource GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "deleted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) -- | Defines the enum schema deleted_payment_sourceDeleted\' -- -- Always true for a deleted object data DeletedPaymentSourceDeleted' = DeletedPaymentSourceDeleted'EnumOther Data.Aeson.Types.Internal.Value | DeletedPaymentSourceDeleted'EnumTyped GHC.Types.Bool | DeletedPaymentSourceDeleted'EnumBoolTrue deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON DeletedPaymentSourceDeleted' where toJSON (DeletedPaymentSourceDeleted'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DeletedPaymentSourceDeleted'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DeletedPaymentSourceDeleted'EnumBoolTrue) = Data.Aeson.Types.Internal.Bool GHC.Types.True instance Data.Aeson.FromJSON DeletedPaymentSourceDeleted' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== Data.Aeson.Types.Internal.Bool GHC.Types.True then DeletedPaymentSourceDeleted'EnumBoolTrue else DeletedPaymentSourceDeleted'EnumOther val) -- | Defines the enum schema deleted_payment_sourceObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data DeletedPaymentSourceObject' = DeletedPaymentSourceObject'EnumOther Data.Aeson.Types.Internal.Value | DeletedPaymentSourceObject'EnumTyped GHC.Base.String | DeletedPaymentSourceObject'EnumStringAlipayAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON DeletedPaymentSourceObject' where toJSON (DeletedPaymentSourceObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DeletedPaymentSourceObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DeletedPaymentSourceObject'EnumStringAlipayAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account" instance Data.Aeson.FromJSON DeletedPaymentSourceObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay_account") then DeletedPaymentSourceObject'EnumStringAlipayAccount else DeletedPaymentSourceObject'EnumOther val) -- | Defines the data type for the schema discount -- -- A discount represents the actual application of a coupon to a particular -- customer. It contains information about when the discount began and when it -- will end. -- -- Related guide: [Applying Discounts to Subscriptions](https:\/\/stripe.com\/docs\/billing\/subscriptions\/discounts). data Discount = Discount { -- | coupon: A coupon contains information about a percent-off or amount-off discount you -- might want to apply to a customer. Coupons may be applied to [invoices](https:\/\/stripe.com\/docs\/api\#invoices) or -- [orders](https:\/\/stripe.com\/docs\/api\#create_order-coupon). Coupons do not work with conventional one-off [charges](https:\/\/stripe.com\/docs\/api\#create_charge). discountCoupon :: Coupon -- | customer: The ID of the customer associated with this discount. , discountCustomer :: (GHC.Maybe.Maybe DiscountCustomer'Variants) -- | end: If the coupon has a duration of \`repeating\`, the date that this discount will end. If the coupon has a duration of \`once\` or \`forever\`, this attribute will be null. , discountEnd :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | object: String representing the object\'s type. Objects of the same type share the same value. , discountObject :: DiscountObject' -- | start: Date that the coupon was applied. , discountStart :: GHC.Integer.Type.Integer -- | subscription: The subscription that this coupon is applied to, if it is applied to a particular subscription. -- -- Constraints: -- -- * Maximum length of 5000 , discountSubscription :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Discount where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "coupon" (discountCoupon obj) : (Data.Aeson..=) "customer" (discountCustomer obj) : (Data.Aeson..=) "end" (discountEnd obj) : (Data.Aeson..=) "object" (discountObject obj) : (Data.Aeson..=) "start" (discountStart obj) : (Data.Aeson..=) "subscription" (discountSubscription obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "coupon" (discountCoupon obj) GHC.Base.<> ((Data.Aeson..=) "customer" (discountCustomer obj) GHC.Base.<> ((Data.Aeson..=) "end" (discountEnd obj) GHC.Base.<> ((Data.Aeson..=) "object" (discountObject obj) GHC.Base.<> ((Data.Aeson..=) "start" (discountStart obj) GHC.Base.<> (Data.Aeson..=) "subscription" (discountSubscription obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON Discount where parseJSON = Data.Aeson.Types.FromJSON.withObject "Discount" (\obj -> (((((GHC.Base.pure Discount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "start")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) -- | Define the one-of schema discountCustomer\' -- -- The ID of the customer associated with this discount. data DiscountCustomer'Variants = DiscountCustomer'Customer Customer | DiscountCustomer'DeletedCustomer DeletedCustomer | DiscountCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DiscountCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DiscountCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema discountObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data DiscountObject' = DiscountObject'EnumOther Data.Aeson.Types.Internal.Value | DiscountObject'EnumTyped GHC.Base.String | DiscountObject'EnumStringDiscount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON DiscountObject' where toJSON (DiscountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DiscountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DiscountObject'EnumStringDiscount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount" instance Data.Aeson.FromJSON DiscountObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount") then DiscountObject'EnumStringDiscount else DiscountObject'EnumOther val) -- | Defines the data type for the schema dispute -- -- A dispute occurs when a customer questions your charge with their card issuer. -- When this happens, you\'re given the opportunity to respond to the dispute with -- evidence that shows that the charge is legitimate. You can find more -- information about the dispute process in our [Disputes and -- Fraud](\/docs\/disputes) documentation. -- -- Related guide: [Disputes and Fraud](https:\/\/stripe.com\/docs\/disputes). data Dispute = Dispute { -- | amount: Disputed amount. Usually the amount of the charge, but can differ (usually because of currency fluctuation or because only part of the order is disputed). disputeAmount :: GHC.Integer.Type.Integer -- | balance_transactions: List of zero, one, or two balance transactions that show funds withdrawn and reinstated to your Stripe account as a result of this dispute. , disputeBalanceTransactions :: ([] BalanceTransaction) -- | charge: ID of the charge that was disputed. , disputeCharge :: DisputeCharge'Variants -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , disputeCreated :: GHC.Integer.Type.Integer -- | 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). , disputeCurrency :: GHC.Base.String -- | evidence: , disputeEvidence :: DisputeEvidence -- | evidence_details: , disputeEvidenceDetails :: DisputeEvidenceDetails -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , disputeId :: GHC.Base.String -- | is_charge_refundable: If true, it is still possible to refund the disputed payment. Once the payment has been fully refunded, no further funds will be withdrawn from your Stripe account as a result of this dispute. , disputeIsChargeRefundable :: GHC.Types.Bool -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , disputeLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , disputeMetadata :: DisputeMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , disputeObject :: DisputeObject' -- | payment_intent: ID of the PaymentIntent that was disputed. , disputePaymentIntent :: (GHC.Maybe.Maybe DisputePaymentIntent'Variants) -- | reason: Reason given by cardholder for dispute. Possible values are \`bank_cannot_process\`, \`check_returned\`, \`credit_not_processed\`, \`customer_initiated\`, \`debit_not_authorized\`, \`duplicate\`, \`fraudulent\`, \`general\`, \`incorrect_account_details\`, \`insufficient_funds\`, \`product_not_received\`, \`product_unacceptable\`, \`subscription_canceled\`, or \`unrecognized\`. Read more about [dispute reasons](https:\/\/stripe.com\/docs\/disputes\/categories). -- -- Constraints: -- -- * Maximum length of 5000 , disputeReason :: GHC.Base.String -- | status: Current status of dispute. Possible values are \`warning_needs_response\`, \`warning_under_review\`, \`warning_closed\`, \`needs_response\`, \`under_review\`, \`charge_refunded\`, \`won\`, or \`lost\`. , disputeStatus :: DisputeStatus' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Dispute where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (disputeAmount obj) : (Data.Aeson..=) "balance_transactions" (disputeBalanceTransactions obj) : (Data.Aeson..=) "charge" (disputeCharge obj) : (Data.Aeson..=) "created" (disputeCreated obj) : (Data.Aeson..=) "currency" (disputeCurrency obj) : (Data.Aeson..=) "evidence" (disputeEvidence obj) : (Data.Aeson..=) "evidence_details" (disputeEvidenceDetails obj) : (Data.Aeson..=) "id" (disputeId obj) : (Data.Aeson..=) "is_charge_refundable" (disputeIsChargeRefundable obj) : (Data.Aeson..=) "livemode" (disputeLivemode obj) : (Data.Aeson..=) "metadata" (disputeMetadata obj) : (Data.Aeson..=) "object" (disputeObject obj) : (Data.Aeson..=) "payment_intent" (disputePaymentIntent obj) : (Data.Aeson..=) "reason" (disputeReason obj) : (Data.Aeson..=) "status" (disputeStatus obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (disputeAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transactions" (disputeBalanceTransactions obj) GHC.Base.<> ((Data.Aeson..=) "charge" (disputeCharge obj) GHC.Base.<> ((Data.Aeson..=) "created" (disputeCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (disputeCurrency obj) GHC.Base.<> ((Data.Aeson..=) "evidence" (disputeEvidence obj) GHC.Base.<> ((Data.Aeson..=) "evidence_details" (disputeEvidenceDetails obj) GHC.Base.<> ((Data.Aeson..=) "id" (disputeId obj) GHC.Base.<> ((Data.Aeson..=) "is_charge_refundable" (disputeIsChargeRefundable obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (disputeLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (disputeMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (disputeObject obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (disputePaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "reason" (disputeReason obj) GHC.Base.<> (Data.Aeson..=) "status" (disputeStatus obj))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Dispute where parseJSON = Data.Aeson.Types.FromJSON.withObject "Dispute" (\obj -> ((((((((((((((GHC.Base.pure Dispute GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "balance_transactions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "evidence")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "evidence_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "is_charge_refundable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) -- | Define the one-of schema disputeCharge\' -- -- ID of the charge that was disputed. data DisputeCharge'Variants = DisputeCharge'Charge Charge | DisputeCharge'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeCharge'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeCharge'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema disputeMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data DisputeMetadata' = DisputeMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON DisputeMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON DisputeMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "DisputeMetadata'" (\obj -> GHC.Base.pure DisputeMetadata') -- | Defines the enum schema disputeObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data DisputeObject' = DisputeObject'EnumOther Data.Aeson.Types.Internal.Value | DisputeObject'EnumTyped GHC.Base.String | DisputeObject'EnumStringDispute deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON DisputeObject' where toJSON (DisputeObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DisputeObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DisputeObject'EnumStringDispute) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dispute" instance Data.Aeson.FromJSON DisputeObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dispute") then DisputeObject'EnumStringDispute else DisputeObject'EnumOther val) -- | Define the one-of schema disputePayment_intent\' -- -- ID of the PaymentIntent that was disputed. data DisputePaymentIntent'Variants = DisputePaymentIntent'PaymentIntent PaymentIntent | DisputePaymentIntent'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputePaymentIntent'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputePaymentIntent'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema disputeStatus\' -- -- Current status of dispute. Possible values are \`warning_needs_response\`, \`warning_under_review\`, \`warning_closed\`, \`needs_response\`, \`under_review\`, \`charge_refunded\`, \`won\`, or \`lost\`. data DisputeStatus' = DisputeStatus'EnumOther Data.Aeson.Types.Internal.Value | DisputeStatus'EnumTyped GHC.Base.String | DisputeStatus'EnumStringChargeRefunded | DisputeStatus'EnumStringLost | DisputeStatus'EnumStringNeedsResponse | DisputeStatus'EnumStringUnderReview | DisputeStatus'EnumStringWarningClosed | DisputeStatus'EnumStringWarningNeedsResponse | DisputeStatus'EnumStringWarningUnderReview | DisputeStatus'EnumStringWon deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON DisputeStatus' where toJSON (DisputeStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DisputeStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (DisputeStatus'EnumStringChargeRefunded) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_refunded" toJSON (DisputeStatus'EnumStringLost) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lost" toJSON (DisputeStatus'EnumStringNeedsResponse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "needs_response" toJSON (DisputeStatus'EnumStringUnderReview) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "under_review" toJSON (DisputeStatus'EnumStringWarningClosed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_closed" toJSON (DisputeStatus'EnumStringWarningNeedsResponse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_needs_response" toJSON (DisputeStatus'EnumStringWarningUnderReview) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_under_review" toJSON (DisputeStatus'EnumStringWon) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "won" instance Data.Aeson.FromJSON DisputeStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_refunded") then DisputeStatus'EnumStringChargeRefunded else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lost") then DisputeStatus'EnumStringLost else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "needs_response") then DisputeStatus'EnumStringNeedsResponse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "under_review") then DisputeStatus'EnumStringUnderReview else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_closed") then DisputeStatus'EnumStringWarningClosed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_needs_response") then DisputeStatus'EnumStringWarningNeedsResponse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "warning_under_review") then DisputeStatus'EnumStringWarningUnderReview else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "won") then DisputeStatus'EnumStringWon else DisputeStatus'EnumOther val) -- | Defines the data type for the schema dispute_evidence -- -- data DisputeEvidence = DisputeEvidence { -- | access_activity_log: Any server or activity logs showing proof that the customer accessed or downloaded the purchased digital product. This information should include IP addresses, corresponding timestamps, and any detailed recorded activity. -- -- Constraints: -- -- * Maximum length of 150000 disputeEvidenceAccessActivityLog :: (GHC.Maybe.Maybe GHC.Base.String) -- | billing_address: The billing address provided by the customer. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceBillingAddress :: (GHC.Maybe.Maybe GHC.Base.String) -- | cancellation_policy: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your subscription cancellation policy, as shown to the customer. , disputeEvidenceCancellationPolicy :: (GHC.Maybe.Maybe DisputeEvidenceCancellationPolicy'Variants) -- | cancellation_policy_disclosure: An explanation of how and when the customer was shown your refund policy prior to purchase. -- -- Constraints: -- -- * Maximum length of 150000 , disputeEvidenceCancellationPolicyDisclosure :: (GHC.Maybe.Maybe GHC.Base.String) -- | cancellation_rebuttal: A justification for why the customer\'s subscription was not canceled. -- -- Constraints: -- -- * Maximum length of 150000 , disputeEvidenceCancellationRebuttal :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer_communication: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service. , disputeEvidenceCustomerCommunication :: (GHC.Maybe.Maybe DisputeEvidenceCustomerCommunication'Variants) -- | customer_email_address: The email address of the customer. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceCustomerEmailAddress :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer_name: The name of the customer. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceCustomerName :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer_purchase_ip: The IP address that the customer used when making the purchase. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceCustomerPurchaseIp :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer_signature: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A relevant document or contract showing the customer\'s signature. , disputeEvidenceCustomerSignature :: (GHC.Maybe.Maybe DisputeEvidenceCustomerSignature'Variants) -- | duplicate_charge_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate. , disputeEvidenceDuplicateChargeDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceDuplicateChargeDocumentation'Variants) -- | duplicate_charge_explanation: An explanation of the difference between the disputed charge versus the prior charge that appears to be a duplicate. -- -- Constraints: -- -- * Maximum length of 150000 , disputeEvidenceDuplicateChargeExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | duplicate_charge_id: The Stripe ID for the prior charge which appears to be a duplicate of the disputed charge. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceDuplicateChargeId :: (GHC.Maybe.Maybe GHC.Base.String) -- | product_description: A description of the product or service that was sold. -- -- Constraints: -- -- * Maximum length of 150000 , disputeEvidenceProductDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | receipt: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any receipt or message sent to the customer notifying them of the charge. , disputeEvidenceReceipt :: (GHC.Maybe.Maybe DisputeEvidenceReceipt'Variants) -- | refund_policy: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your refund policy, as shown to the customer. , disputeEvidenceRefundPolicy :: (GHC.Maybe.Maybe DisputeEvidenceRefundPolicy'Variants) -- | refund_policy_disclosure: Documentation demonstrating that the customer was shown your refund policy prior to purchase. -- -- Constraints: -- -- * Maximum length of 150000 , disputeEvidenceRefundPolicyDisclosure :: (GHC.Maybe.Maybe GHC.Base.String) -- | refund_refusal_explanation: A justification for why the customer is not entitled to a refund. -- -- Constraints: -- -- * Maximum length of 150000 , disputeEvidenceRefundRefusalExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | service_date: The date on which the customer received or began receiving the purchased service, in a clear human-readable format. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceServiceDate :: (GHC.Maybe.Maybe GHC.Base.String) -- | service_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement. , disputeEvidenceServiceDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceServiceDocumentation'Variants) -- | shipping_address: The address to which a physical product was shipped. You should try to include as complete address information as possible. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceShippingAddress :: (GHC.Maybe.Maybe GHC.Base.String) -- | shipping_carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. If multiple carriers were used for this purchase, please separate them with commas. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceShippingCarrier :: (GHC.Maybe.Maybe GHC.Base.String) -- | shipping_date: The date on which a physical product began its route to the shipping address, in a clear human-readable format. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceShippingDate :: (GHC.Maybe.Maybe GHC.Base.String) -- | shipping_documentation: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer\'s full shipping address, if possible. , disputeEvidenceShippingDocumentation :: (GHC.Maybe.Maybe DisputeEvidenceShippingDocumentation'Variants) -- | shipping_tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. -- -- Constraints: -- -- * Maximum length of 5000 , disputeEvidenceShippingTrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any additional evidence or statements. , disputeEvidenceUncategorizedFile :: (GHC.Maybe.Maybe DisputeEvidenceUncategorizedFile'Variants) -- | uncategorized_text: Any additional evidence or statements. -- -- Constraints: -- -- * Maximum length of 150000 , disputeEvidenceUncategorizedText :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON DisputeEvidence where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "access_activity_log" (disputeEvidenceAccessActivityLog obj) : (Data.Aeson..=) "billing_address" (disputeEvidenceBillingAddress obj) : (Data.Aeson..=) "cancellation_policy" (disputeEvidenceCancellationPolicy obj) : (Data.Aeson..=) "cancellation_policy_disclosure" (disputeEvidenceCancellationPolicyDisclosure obj) : (Data.Aeson..=) "cancellation_rebuttal" (disputeEvidenceCancellationRebuttal obj) : (Data.Aeson..=) "customer_communication" (disputeEvidenceCustomerCommunication obj) : (Data.Aeson..=) "customer_email_address" (disputeEvidenceCustomerEmailAddress obj) : (Data.Aeson..=) "customer_name" (disputeEvidenceCustomerName obj) : (Data.Aeson..=) "customer_purchase_ip" (disputeEvidenceCustomerPurchaseIp obj) : (Data.Aeson..=) "customer_signature" (disputeEvidenceCustomerSignature obj) : (Data.Aeson..=) "duplicate_charge_documentation" (disputeEvidenceDuplicateChargeDocumentation obj) : (Data.Aeson..=) "duplicate_charge_explanation" (disputeEvidenceDuplicateChargeExplanation obj) : (Data.Aeson..=) "duplicate_charge_id" (disputeEvidenceDuplicateChargeId obj) : (Data.Aeson..=) "product_description" (disputeEvidenceProductDescription obj) : (Data.Aeson..=) "receipt" (disputeEvidenceReceipt obj) : (Data.Aeson..=) "refund_policy" (disputeEvidenceRefundPolicy obj) : (Data.Aeson..=) "refund_policy_disclosure" (disputeEvidenceRefundPolicyDisclosure obj) : (Data.Aeson..=) "refund_refusal_explanation" (disputeEvidenceRefundRefusalExplanation obj) : (Data.Aeson..=) "service_date" (disputeEvidenceServiceDate obj) : (Data.Aeson..=) "service_documentation" (disputeEvidenceServiceDocumentation obj) : (Data.Aeson..=) "shipping_address" (disputeEvidenceShippingAddress obj) : (Data.Aeson..=) "shipping_carrier" (disputeEvidenceShippingCarrier obj) : (Data.Aeson..=) "shipping_date" (disputeEvidenceShippingDate obj) : (Data.Aeson..=) "shipping_documentation" (disputeEvidenceShippingDocumentation obj) : (Data.Aeson..=) "shipping_tracking_number" (disputeEvidenceShippingTrackingNumber obj) : (Data.Aeson..=) "uncategorized_file" (disputeEvidenceUncategorizedFile obj) : (Data.Aeson..=) "uncategorized_text" (disputeEvidenceUncategorizedText obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "access_activity_log" (disputeEvidenceAccessActivityLog obj) GHC.Base.<> ((Data.Aeson..=) "billing_address" (disputeEvidenceBillingAddress obj) GHC.Base.<> ((Data.Aeson..=) "cancellation_policy" (disputeEvidenceCancellationPolicy obj) GHC.Base.<> ((Data.Aeson..=) "cancellation_policy_disclosure" (disputeEvidenceCancellationPolicyDisclosure obj) GHC.Base.<> ((Data.Aeson..=) "cancellation_rebuttal" (disputeEvidenceCancellationRebuttal obj) GHC.Base.<> ((Data.Aeson..=) "customer_communication" (disputeEvidenceCustomerCommunication obj) GHC.Base.<> ((Data.Aeson..=) "customer_email_address" (disputeEvidenceCustomerEmailAddress obj) GHC.Base.<> ((Data.Aeson..=) "customer_name" (disputeEvidenceCustomerName obj) GHC.Base.<> ((Data.Aeson..=) "customer_purchase_ip" (disputeEvidenceCustomerPurchaseIp obj) GHC.Base.<> ((Data.Aeson..=) "customer_signature" (disputeEvidenceCustomerSignature obj) GHC.Base.<> ((Data.Aeson..=) "duplicate_charge_documentation" (disputeEvidenceDuplicateChargeDocumentation obj) GHC.Base.<> ((Data.Aeson..=) "duplicate_charge_explanation" (disputeEvidenceDuplicateChargeExplanation obj) GHC.Base.<> ((Data.Aeson..=) "duplicate_charge_id" (disputeEvidenceDuplicateChargeId obj) GHC.Base.<> ((Data.Aeson..=) "product_description" (disputeEvidenceProductDescription obj) GHC.Base.<> ((Data.Aeson..=) "receipt" (disputeEvidenceReceipt obj) GHC.Base.<> ((Data.Aeson..=) "refund_policy" (disputeEvidenceRefundPolicy obj) GHC.Base.<> ((Data.Aeson..=) "refund_policy_disclosure" (disputeEvidenceRefundPolicyDisclosure obj) GHC.Base.<> ((Data.Aeson..=) "refund_refusal_explanation" (disputeEvidenceRefundRefusalExplanation obj) GHC.Base.<> ((Data.Aeson..=) "service_date" (disputeEvidenceServiceDate obj) GHC.Base.<> ((Data.Aeson..=) "service_documentation" (disputeEvidenceServiceDocumentation obj) GHC.Base.<> ((Data.Aeson..=) "shipping_address" (disputeEvidenceShippingAddress obj) GHC.Base.<> ((Data.Aeson..=) "shipping_carrier" (disputeEvidenceShippingCarrier obj) GHC.Base.<> ((Data.Aeson..=) "shipping_date" (disputeEvidenceShippingDate obj) GHC.Base.<> ((Data.Aeson..=) "shipping_documentation" (disputeEvidenceShippingDocumentation obj) GHC.Base.<> ((Data.Aeson..=) "shipping_tracking_number" (disputeEvidenceShippingTrackingNumber obj) GHC.Base.<> ((Data.Aeson..=) "uncategorized_file" (disputeEvidenceUncategorizedFile obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_text" (disputeEvidenceUncategorizedText obj))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON DisputeEvidence where parseJSON = Data.Aeson.Types.FromJSON.withObject "DisputeEvidence" (\obj -> ((((((((((((((((((((((((((GHC.Base.pure DisputeEvidence GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "access_activity_log")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_policy")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_policy_disclosure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_rebuttal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_communication")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_email_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_purchase_ip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_signature")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "duplicate_charge_documentation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "duplicate_charge_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "duplicate_charge_id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_policy")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_policy_disclosure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_refusal_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "service_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "service_documentation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_documentation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_tracking_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_text")) -- | Define the one-of schema dispute_evidenceCancellation_policy\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your subscription cancellation policy, as shown to the customer. data DisputeEvidenceCancellationPolicy'Variants = DisputeEvidenceCancellationPolicy'File File | DisputeEvidenceCancellationPolicy'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceCancellationPolicy'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceCancellationPolicy'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema dispute_evidenceCustomer_communication\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any communication with the customer that you feel is relevant to your case. Examples include emails proving that the customer received the product or service, or demonstrating their use of or satisfaction with the product or service. data DisputeEvidenceCustomerCommunication'Variants = DisputeEvidenceCustomerCommunication'File File | DisputeEvidenceCustomerCommunication'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceCustomerCommunication'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceCustomerCommunication'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema dispute_evidenceCustomer_signature\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) A relevant document or contract showing the customer\'s signature. data DisputeEvidenceCustomerSignature'Variants = DisputeEvidenceCustomerSignature'File File | DisputeEvidenceCustomerSignature'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceCustomerSignature'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceCustomerSignature'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema dispute_evidenceDuplicate_charge_documentation\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation for the prior charge that can uniquely identify the charge, such as a receipt, shipping label, work order, etc. This document should be paired with a similar document from the disputed payment that proves the two payments are separate. data DisputeEvidenceDuplicateChargeDocumentation'Variants = DisputeEvidenceDuplicateChargeDocumentation'File File | DisputeEvidenceDuplicateChargeDocumentation'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceDuplicateChargeDocumentation'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceDuplicateChargeDocumentation'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema dispute_evidenceReceipt\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any receipt or message sent to the customer notifying them of the charge. data DisputeEvidenceReceipt'Variants = DisputeEvidenceReceipt'File File | DisputeEvidenceReceipt'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceReceipt'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceReceipt'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema dispute_evidenceRefund_policy\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Your refund policy, as shown to the customer. data DisputeEvidenceRefundPolicy'Variants = DisputeEvidenceRefundPolicy'File File | DisputeEvidenceRefundPolicy'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceRefundPolicy'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceRefundPolicy'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema dispute_evidenceService_documentation\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a service was provided to the customer. This could include a copy of a signed contract, work order, or other form of written agreement. data DisputeEvidenceServiceDocumentation'Variants = DisputeEvidenceServiceDocumentation'File File | DisputeEvidenceServiceDocumentation'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceServiceDocumentation'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceServiceDocumentation'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema dispute_evidenceShipping_documentation\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Documentation showing proof that a product was shipped to the customer at the same address the customer provided to you. This could include a copy of the shipment receipt, shipping label, etc. It should show the customer\'s full shipping address, if possible. data DisputeEvidenceShippingDocumentation'Variants = DisputeEvidenceShippingDocumentation'File File | DisputeEvidenceShippingDocumentation'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceShippingDocumentation'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceShippingDocumentation'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema dispute_evidenceUncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Any additional evidence or statements. data DisputeEvidenceUncategorizedFile'Variants = DisputeEvidenceUncategorizedFile'File File | DisputeEvidenceUncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON DisputeEvidenceUncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON DisputeEvidenceUncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema error -- -- An error response from the Stripe API data Error = Error { -- | error: errorError :: ApiErrors } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Error where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "error" (errorError obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "error" (errorError obj)) instance Data.Aeson.Types.FromJSON.FromJSON Error where parseJSON = Data.Aeson.Types.FromJSON.withObject "Error" (\obj -> GHC.Base.pure Error GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "error")) -- | Defines the data type for the schema event -- -- Events are our way of letting you know when something interesting happens in -- your account. When an interesting event occurs, we create a new \`Event\` -- object. For example, when a charge succeeds, we create a \`charge.succeeded\` -- event; and when an invoice payment attempt fails, we create an -- \`invoice.payment_failed\` event. Note that many API requests may cause multiple -- events to be created. For example, if you create a new subscription for a -- customer, you will receive both a \`customer.subscription.created\` event and a -- \`charge.succeeded\` event. -- -- Events occur when the state of another API resource changes. The state of that -- resource at the time of the change is embedded in the event\'s data field. For -- example, a \`charge.succeeded\` event will contain a charge, and an -- \`invoice.payment_failed\` event will contain an invoice. -- -- As with other API resources, you can use endpoints to retrieve an -- [individual event](https:\/\/stripe.com\/docs\/api\#retrieve_event) or a [list of events](https:\/\/stripe.com\/docs\/api\#list_events) -- from the API. We also have a separate -- [webhooks](http:\/\/en.wikipedia.org\/wiki\/Webhook) system for sending the -- \`Event\` objects directly to an endpoint on your server. Webhooks are managed -- in your -- [account settings](https:\/\/dashboard.stripe.com\/account\/webhooks\'), -- and our [Using Webhooks](https:\/\/stripe.com\/docs\/webhooks) guide will help you get set up. -- -- When using [Connect](https:\/\/stripe.com\/docs\/connect), you can also receive notifications of -- events that occur in connected accounts. For these events, there will be an -- additional \`account\` attribute in the received \`Event\` object. -- -- **NOTE:** Right now, access to events through the [Retrieve Event API](https:\/\/stripe.com\/docs\/api\#retrieve_event) is -- guaranteed only for 30 days. data Event = Event { -- | account: The connected account that originated the event. -- -- Constraints: -- -- * Maximum length of 5000 eventAccount :: (GHC.Maybe.Maybe GHC.Base.String) -- | api_version: The Stripe API version used to render \`data\`. *Note: This property is populated only for events on or after October 31, 2014*. -- -- Constraints: -- -- * Maximum length of 5000 , eventApiVersion :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , eventCreated :: GHC.Integer.Type.Integer -- | data: , eventData :: NotificationEventData -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , eventId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , eventLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , eventObject :: EventObject' -- | pending_webhooks: Number of webhooks that have yet to be successfully delivered (i.e., to return a 20x response) to the URLs you\'ve specified. , eventPendingWebhooks :: GHC.Integer.Type.Integer -- | request: Information on the API request that instigated the event. , eventRequest :: (GHC.Maybe.Maybe EventRequest') -- | type: Description of the event (e.g., \`invoice.created\` or \`charge.refunded\`). -- -- Constraints: -- -- * Maximum length of 5000 , eventType :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Event where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (eventAccount obj) : (Data.Aeson..=) "api_version" (eventApiVersion obj) : (Data.Aeson..=) "created" (eventCreated obj) : (Data.Aeson..=) "data" (eventData obj) : (Data.Aeson..=) "id" (eventId obj) : (Data.Aeson..=) "livemode" (eventLivemode obj) : (Data.Aeson..=) "object" (eventObject obj) : (Data.Aeson..=) "pending_webhooks" (eventPendingWebhooks obj) : (Data.Aeson..=) "request" (eventRequest obj) : (Data.Aeson..=) "type" (eventType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (eventAccount obj) GHC.Base.<> ((Data.Aeson..=) "api_version" (eventApiVersion obj) GHC.Base.<> ((Data.Aeson..=) "created" (eventCreated obj) GHC.Base.<> ((Data.Aeson..=) "data" (eventData obj) GHC.Base.<> ((Data.Aeson..=) "id" (eventId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (eventLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (eventObject obj) GHC.Base.<> ((Data.Aeson..=) "pending_webhooks" (eventPendingWebhooks obj) GHC.Base.<> ((Data.Aeson..=) "request" (eventRequest obj) GHC.Base.<> (Data.Aeson..=) "type" (eventType obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Event where parseJSON = Data.Aeson.Types.FromJSON.withObject "Event" (\obj -> (((((((((GHC.Base.pure Event GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "api_version")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "pending_webhooks")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "request")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the enum schema eventObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data EventObject' = EventObject'EnumOther Data.Aeson.Types.Internal.Value | EventObject'EnumTyped GHC.Base.String | EventObject'EnumStringEvent deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON EventObject' where toJSON (EventObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (EventObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (EventObject'EnumStringEvent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "event" instance Data.Aeson.FromJSON EventObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "event") then EventObject'EnumStringEvent else EventObject'EnumOther val) -- | Defines the data type for the schema eventRequest\' -- -- Information on the API request that instigated the event. data EventRequest' = EventRequest' { -- | id: ID of the API request that caused the event. If null, the event was automatic (e.g., Stripe\'s automatic subscription handling). Request logs are available in the [dashboard](https:\/\/dashboard.stripe.com\/logs), but currently not in the API. -- -- Constraints: -- -- * Maximum length of 5000 eventRequest'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | idempotency_key: The idempotency key transmitted during the request, if any. *Note: This property is populated only for events on or after May 23, 2017*. -- -- Constraints: -- -- * Maximum length of 5000 , eventRequest'IdempotencyKey :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON EventRequest' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "id" (eventRequest'Id obj) : (Data.Aeson..=) "idempotency_key" (eventRequest'IdempotencyKey obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "id" (eventRequest'Id obj) GHC.Base.<> (Data.Aeson..=) "idempotency_key" (eventRequest'IdempotencyKey obj)) instance Data.Aeson.Types.FromJSON.FromJSON EventRequest' where parseJSON = Data.Aeson.Types.FromJSON.withObject "EventRequest'" (\obj -> (GHC.Base.pure EventRequest' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "idempotency_key")) -- | Defines the data type for the schema external_account -- -- data ExternalAccount = ExternalAccount { -- | account: The ID of the account that the bank account is associated with. externalAccountAccount :: (GHC.Maybe.Maybe ExternalAccountAccount'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountAddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , externalAccountAvailablePayoutMethods :: (GHC.Maybe.Maybe ([] ExternalAccountAvailablePayoutMethods')) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountBankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountBrand :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , externalAccountCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer that the bank account is associated with. , externalAccountCustomer :: (GHC.Maybe.Maybe ExternalAccountCustomer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountCvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this bank account is the default external account for its currency. , externalAccountDefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountDynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | exp_month: Two-digit number representing the card\'s expiration month. , externalAccountExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , externalAccountExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountFingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountFunding :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountId :: (GHC.Maybe.Maybe GHC.Base.String) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , externalAccountMetadata :: (GHC.Maybe.Maybe ExternalAccountMetadata') -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountName :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , externalAccountObject :: (GHC.Maybe.Maybe ExternalAccountObject') -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , externalAccountRecipient :: (GHC.Maybe.Maybe ExternalAccountRecipient'Variants) -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountRoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountStatus :: (GHC.Maybe.Maybe GHC.Base.String) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , externalAccountTokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ExternalAccount where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (externalAccountAccount obj) : (Data.Aeson..=) "account_holder_name" (externalAccountAccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (externalAccountAccountHolderType obj) : (Data.Aeson..=) "address_city" (externalAccountAddressCity obj) : (Data.Aeson..=) "address_country" (externalAccountAddressCountry obj) : (Data.Aeson..=) "address_line1" (externalAccountAddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (externalAccountAddressLine1Check obj) : (Data.Aeson..=) "address_line2" (externalAccountAddressLine2 obj) : (Data.Aeson..=) "address_state" (externalAccountAddressState obj) : (Data.Aeson..=) "address_zip" (externalAccountAddressZip obj) : (Data.Aeson..=) "address_zip_check" (externalAccountAddressZipCheck obj) : (Data.Aeson..=) "available_payout_methods" (externalAccountAvailablePayoutMethods obj) : (Data.Aeson..=) "bank_name" (externalAccountBankName obj) : (Data.Aeson..=) "brand" (externalAccountBrand obj) : (Data.Aeson..=) "country" (externalAccountCountry obj) : (Data.Aeson..=) "currency" (externalAccountCurrency obj) : (Data.Aeson..=) "customer" (externalAccountCustomer obj) : (Data.Aeson..=) "cvc_check" (externalAccountCvcCheck obj) : (Data.Aeson..=) "default_for_currency" (externalAccountDefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (externalAccountDynamicLast4 obj) : (Data.Aeson..=) "exp_month" (externalAccountExpMonth obj) : (Data.Aeson..=) "exp_year" (externalAccountExpYear obj) : (Data.Aeson..=) "fingerprint" (externalAccountFingerprint obj) : (Data.Aeson..=) "funding" (externalAccountFunding obj) : (Data.Aeson..=) "id" (externalAccountId obj) : (Data.Aeson..=) "last4" (externalAccountLast4 obj) : (Data.Aeson..=) "metadata" (externalAccountMetadata obj) : (Data.Aeson..=) "name" (externalAccountName obj) : (Data.Aeson..=) "object" (externalAccountObject obj) : (Data.Aeson..=) "recipient" (externalAccountRecipient obj) : (Data.Aeson..=) "routing_number" (externalAccountRoutingNumber obj) : (Data.Aeson..=) "status" (externalAccountStatus obj) : (Data.Aeson..=) "tokenization_method" (externalAccountTokenizationMethod obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (externalAccountAccount obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (externalAccountAccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (externalAccountAccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (externalAccountAddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (externalAccountAddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (externalAccountAddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (externalAccountAddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (externalAccountAddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (externalAccountAddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (externalAccountAddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (externalAccountAddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (externalAccountAvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (externalAccountBankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (externalAccountBrand obj) GHC.Base.<> ((Data.Aeson..=) "country" (externalAccountCountry obj) GHC.Base.<> ((Data.Aeson..=) "currency" (externalAccountCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (externalAccountCustomer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (externalAccountCvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (externalAccountDefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (externalAccountDynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (externalAccountExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (externalAccountExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (externalAccountFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (externalAccountFunding obj) GHC.Base.<> ((Data.Aeson..=) "id" (externalAccountId obj) GHC.Base.<> ((Data.Aeson..=) "last4" (externalAccountLast4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (externalAccountMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (externalAccountName obj) GHC.Base.<> ((Data.Aeson..=) "object" (externalAccountObject obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (externalAccountRecipient obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (externalAccountRoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "status" (externalAccountStatus obj) GHC.Base.<> (Data.Aeson..=) "tokenization_method" (externalAccountTokenizationMethod obj))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ExternalAccount where parseJSON = Data.Aeson.Types.FromJSON.withObject "ExternalAccount" (\obj -> ((((((((((((((((((((((((((((((((GHC.Base.pure ExternalAccount GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) -- | Define the one-of schema external_accountAccount\' -- -- The ID of the account that the bank account is associated with. data ExternalAccountAccount'Variants = ExternalAccountAccount'Account Account | ExternalAccountAccount'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ExternalAccountAccount'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ExternalAccountAccount'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema external_accountAvailable_payout_methods\' -- -- data ExternalAccountAvailablePayoutMethods' = ExternalAccountAvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | ExternalAccountAvailablePayoutMethods'EnumTyped GHC.Base.String | ExternalAccountAvailablePayoutMethods'EnumStringInstant | ExternalAccountAvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ExternalAccountAvailablePayoutMethods' where toJSON (ExternalAccountAvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ExternalAccountAvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ExternalAccountAvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (ExternalAccountAvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON ExternalAccountAvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then ExternalAccountAvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then ExternalAccountAvailablePayoutMethods'EnumStringStandard else ExternalAccountAvailablePayoutMethods'EnumOther val) -- | Define the one-of schema external_accountCustomer\' -- -- The ID of the customer that the bank account is associated with. data ExternalAccountCustomer'Variants = ExternalAccountCustomer'Customer Customer | ExternalAccountCustomer'DeletedCustomer DeletedCustomer | ExternalAccountCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ExternalAccountCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ExternalAccountCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema external_accountMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data ExternalAccountMetadata' = ExternalAccountMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ExternalAccountMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON ExternalAccountMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ExternalAccountMetadata'" (\obj -> GHC.Base.pure ExternalAccountMetadata') -- | Defines the enum schema external_accountObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ExternalAccountObject' = ExternalAccountObject'EnumOther Data.Aeson.Types.Internal.Value | ExternalAccountObject'EnumTyped GHC.Base.String | ExternalAccountObject'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ExternalAccountObject' where toJSON (ExternalAccountObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ExternalAccountObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ExternalAccountObject'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON ExternalAccountObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then ExternalAccountObject'EnumStringBankAccount else ExternalAccountObject'EnumOther val) -- | Define the one-of schema external_accountRecipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data ExternalAccountRecipient'Variants = ExternalAccountRecipient'Recipient Recipient | ExternalAccountRecipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ExternalAccountRecipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ExternalAccountRecipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema fee_refund -- -- \`Application Fee Refund\` objects allow you to refund an application fee that -- has previously been created but not yet refunded. Funds will be refunded to -- the Stripe account from which the fee was originally collected. -- -- Related guide: [Refunding Application Fees](https:\/\/stripe.com\/docs\/connect\/destination-charges\#refunding-app-fee). data FeeRefund = FeeRefund { -- | amount: Amount, in %s. feeRefundAmount :: GHC.Integer.Type.Integer -- | balance_transaction: Balance transaction that describes the impact on your account balance. , feeRefundBalanceTransaction :: (GHC.Maybe.Maybe FeeRefundBalanceTransaction'Variants) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , feeRefundCreated :: GHC.Integer.Type.Integer -- | 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). , feeRefundCurrency :: GHC.Base.String -- | fee: ID of the application fee that was refunded. , feeRefundFee :: FeeRefundFee'Variants -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , feeRefundId :: GHC.Base.String -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , feeRefundMetadata :: FeeRefundMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , feeRefundObject :: FeeRefundObject' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON FeeRefund where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (feeRefundAmount obj) : (Data.Aeson..=) "balance_transaction" (feeRefundBalanceTransaction obj) : (Data.Aeson..=) "created" (feeRefundCreated obj) : (Data.Aeson..=) "currency" (feeRefundCurrency obj) : (Data.Aeson..=) "fee" (feeRefundFee obj) : (Data.Aeson..=) "id" (feeRefundId obj) : (Data.Aeson..=) "metadata" (feeRefundMetadata obj) : (Data.Aeson..=) "object" (feeRefundObject obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (feeRefundAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (feeRefundBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "created" (feeRefundCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (feeRefundCurrency obj) GHC.Base.<> ((Data.Aeson..=) "fee" (feeRefundFee obj) GHC.Base.<> ((Data.Aeson..=) "id" (feeRefundId obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (feeRefundMetadata obj) GHC.Base.<> (Data.Aeson..=) "object" (feeRefundObject obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON FeeRefund where parseJSON = Data.Aeson.Types.FromJSON.withObject "FeeRefund" (\obj -> (((((((GHC.Base.pure FeeRefund GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fee")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) -- | Define the one-of schema fee_refundBalance_transaction\' -- -- Balance transaction that describes the impact on your account balance. data FeeRefundBalanceTransaction'Variants = FeeRefundBalanceTransaction'BalanceTransaction BalanceTransaction | FeeRefundBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON FeeRefundBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON FeeRefundBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema fee_refundFee\' -- -- ID of the application fee that was refunded. data FeeRefundFee'Variants = FeeRefundFee'ApplicationFee ApplicationFee | FeeRefundFee'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON FeeRefundFee'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON FeeRefundFee'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema fee_refundMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data FeeRefundMetadata' = FeeRefundMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON FeeRefundMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON FeeRefundMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "FeeRefundMetadata'" (\obj -> GHC.Base.pure FeeRefundMetadata') -- | Defines the enum schema fee_refundObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data FeeRefundObject' = FeeRefundObject'EnumOther Data.Aeson.Types.Internal.Value | FeeRefundObject'EnumTyped GHC.Base.String | FeeRefundObject'EnumStringFeeRefund deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON FeeRefundObject' where toJSON (FeeRefundObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (FeeRefundObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (FeeRefundObject'EnumStringFeeRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fee_refund" instance Data.Aeson.FromJSON FeeRefundObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fee_refund") then FeeRefundObject'EnumStringFeeRefund else FeeRefundObject'EnumOther val) -- | Defines the data type for the schema file -- -- This is an object representing a file hosted on Stripe\'s servers. The -- file may have been uploaded by yourself using the [create file](https:\/\/stripe.com\/docs\/api\#create_file) -- request (for example, when uploading dispute evidence) or it may have -- been created by Stripe (for example, the results of a [Sigma scheduled -- query](\#scheduled_queries)). -- -- Related guide: [File Upload Guide](https:\/\/stripe.com\/docs\/file-upload). data File = File { -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. fileCreated :: GHC.Integer.Type.Integer -- | filename: A filename for the file, suitable for saving to a filesystem. -- -- Constraints: -- -- * Maximum length of 5000 , fileFilename :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , fileId :: GHC.Base.String -- | links: A list of [file links](https:\/\/stripe.com\/docs\/api\#file_links) that point at this file. , fileLinks :: (GHC.Maybe.Maybe FileLinks') -- | object: String representing the object\'s type. Objects of the same type share the same value. , fileObject :: FileObject' -- | purpose: The purpose of the file. Possible values are \`additional_verification\`, \`business_icon\`, \`business_logo\`, \`customer_signature\`, \`dispute_evidence\`, \`finance_report_run\`, \`identity_document\`, \`pci_document\`, \`sigma_scheduled_query\`, or \`tax_document_user_upload\`. -- -- Constraints: -- -- * Maximum length of 5000 , filePurpose :: GHC.Base.String -- | size: The size in bytes of the file object. , fileSize :: GHC.Integer.Type.Integer -- | title: A user friendly title for the document. -- -- Constraints: -- -- * Maximum length of 5000 , fileTitle :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: The type of the file returned (e.g., \`csv\`, \`pdf\`, \`jpg\`, or \`png\`). -- -- Constraints: -- -- * Maximum length of 5000 , fileType :: (GHC.Maybe.Maybe GHC.Base.String) -- | url: The URL from which the file can be downloaded using your live secret API key. -- -- Constraints: -- -- * Maximum length of 5000 , fileUrl :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON File where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "created" (fileCreated obj) : (Data.Aeson..=) "filename" (fileFilename obj) : (Data.Aeson..=) "id" (fileId obj) : (Data.Aeson..=) "links" (fileLinks obj) : (Data.Aeson..=) "object" (fileObject obj) : (Data.Aeson..=) "purpose" (filePurpose obj) : (Data.Aeson..=) "size" (fileSize obj) : (Data.Aeson..=) "title" (fileTitle obj) : (Data.Aeson..=) "type" (fileType obj) : (Data.Aeson..=) "url" (fileUrl obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "created" (fileCreated obj) GHC.Base.<> ((Data.Aeson..=) "filename" (fileFilename obj) GHC.Base.<> ((Data.Aeson..=) "id" (fileId obj) GHC.Base.<> ((Data.Aeson..=) "links" (fileLinks obj) GHC.Base.<> ((Data.Aeson..=) "object" (fileObject obj) GHC.Base.<> ((Data.Aeson..=) "purpose" (filePurpose obj) GHC.Base.<> ((Data.Aeson..=) "size" (fileSize obj) GHC.Base.<> ((Data.Aeson..=) "title" (fileTitle obj) GHC.Base.<> ((Data.Aeson..=) "type" (fileType obj) GHC.Base.<> (Data.Aeson..=) "url" (fileUrl obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON File where parseJSON = Data.Aeson.Types.FromJSON.withObject "File" (\obj -> (((((((((GHC.Base.pure File GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "filename")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "links")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "purpose")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "size")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "title")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url")) -- | Defines the data type for the schema fileLinks\' -- -- A list of [file links](https:\/\/stripe.com\/docs\/api\#file_links) that point at this file. data FileLinks' = FileLinks' { -- | data: Details about each object. fileLinks'Data :: ([] FileLink) -- | has_more: True if this list has another page of items after this one that can be fetched. , fileLinks'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , fileLinks'Object :: FileLinks'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , fileLinks'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON FileLinks' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (fileLinks'Data obj) : (Data.Aeson..=) "has_more" (fileLinks'HasMore obj) : (Data.Aeson..=) "object" (fileLinks'Object obj) : (Data.Aeson..=) "url" (fileLinks'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (fileLinks'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (fileLinks'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (fileLinks'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (fileLinks'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON FileLinks' where parseJSON = Data.Aeson.Types.FromJSON.withObject "FileLinks'" (\obj -> (((GHC.Base.pure FileLinks' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema fileLinks\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data FileLinks'Object' = FileLinks'Object'EnumOther Data.Aeson.Types.Internal.Value | FileLinks'Object'EnumTyped GHC.Base.String | FileLinks'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON FileLinks'Object' where toJSON (FileLinks'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (FileLinks'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (FileLinks'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON FileLinks'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then FileLinks'Object'EnumStringList else FileLinks'Object'EnumOther val) -- | Defines the enum schema fileObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data FileObject' = FileObject'EnumOther Data.Aeson.Types.Internal.Value | FileObject'EnumTyped GHC.Base.String | FileObject'EnumStringFile deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON FileObject' where toJSON (FileObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (FileObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (FileObject'EnumStringFile) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "file" instance Data.Aeson.FromJSON FileObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "file") then FileObject'EnumStringFile else FileObject'EnumOther val) -- | Defines the data type for the schema file_link -- -- To share the contents of a \`File\` object with non-Stripe users, you can -- create a \`FileLink\`. \`FileLink\`s contain a URL that can be used to -- retrieve the contents of the file without authentication. data FileLink = FileLink { -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. fileLinkCreated :: GHC.Integer.Type.Integer -- | expired: Whether this link is already expired. , fileLinkExpired :: GHC.Types.Bool -- | expires_at: Time at which the link expires. , fileLinkExpiresAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | file: The file object this link points to. , fileLinkFile :: FileLinkFile'Variants -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , fileLinkId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , fileLinkLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , fileLinkMetadata :: FileLinkMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , fileLinkObject :: FileLinkObject' -- | url: The publicly accessible URL to download the file. -- -- Constraints: -- -- * Maximum length of 5000 , fileLinkUrl :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON FileLink where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "created" (fileLinkCreated obj) : (Data.Aeson..=) "expired" (fileLinkExpired obj) : (Data.Aeson..=) "expires_at" (fileLinkExpiresAt obj) : (Data.Aeson..=) "file" (fileLinkFile obj) : (Data.Aeson..=) "id" (fileLinkId obj) : (Data.Aeson..=) "livemode" (fileLinkLivemode obj) : (Data.Aeson..=) "metadata" (fileLinkMetadata obj) : (Data.Aeson..=) "object" (fileLinkObject obj) : (Data.Aeson..=) "url" (fileLinkUrl obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "created" (fileLinkCreated obj) GHC.Base.<> ((Data.Aeson..=) "expired" (fileLinkExpired obj) GHC.Base.<> ((Data.Aeson..=) "expires_at" (fileLinkExpiresAt obj) GHC.Base.<> ((Data.Aeson..=) "file" (fileLinkFile obj) GHC.Base.<> ((Data.Aeson..=) "id" (fileLinkId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (fileLinkLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (fileLinkMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (fileLinkObject obj) GHC.Base.<> (Data.Aeson..=) "url" (fileLinkUrl obj))))))))) instance Data.Aeson.Types.FromJSON.FromJSON FileLink where parseJSON = Data.Aeson.Types.FromJSON.withObject "FileLink" (\obj -> ((((((((GHC.Base.pure FileLink GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "expired")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "expires_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "file")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url")) -- | Define the one-of schema file_linkFile\' -- -- The file object this link points to. data FileLinkFile'Variants = FileLinkFile'File File | FileLinkFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON FileLinkFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON FileLinkFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema file_linkMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data FileLinkMetadata' = FileLinkMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON FileLinkMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON FileLinkMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "FileLinkMetadata'" (\obj -> GHC.Base.pure FileLinkMetadata') -- | Defines the enum schema file_linkObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data FileLinkObject' = FileLinkObject'EnumOther Data.Aeson.Types.Internal.Value | FileLinkObject'EnumTyped GHC.Base.String | FileLinkObject'EnumStringFileLink deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON FileLinkObject' where toJSON (FileLinkObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (FileLinkObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (FileLinkObject'EnumStringFileLink) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "file_link" instance Data.Aeson.FromJSON FileLinkObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "file_link") then FileLinkObject'EnumStringFileLink else FileLinkObject'EnumOther val) -- | Defines the data type for the schema invoice -- -- Invoices are statements of amounts owed by a customer, and are either -- generated one-off, or generated periodically from a subscription. -- -- They contain [invoice items](https:\/\/stripe.com\/docs\/api\#invoiceitems), and proration adjustments -- that may be caused by subscription upgrades\/downgrades (if necessary). -- -- If your invoice is configured to be billed through automatic charges, -- Stripe automatically finalizes your invoice and attempts payment. Note -- that finalizing the invoice, -- [when automatic](https:\/\/stripe.com\/docs\/billing\/invoices\/workflow\/\#auto_advance), does -- not happen immediately as the invoice is created. Stripe waits -- until one hour after the last webhook was successfully sent (or the last -- webhook timed out after failing). If you (and the platforms you may have -- connected to) have no webhooks configured, Stripe waits one hour after -- creation to finalize the invoice. -- -- If your invoice is configured to be billed by sending an email, then based on your -- [email settings](https:\/\/dashboard.stripe.com\/account\/billing\/automatic\'), -- Stripe will email the invoice to your customer and await payment. These -- emails can contain a link to a hosted page to pay the invoice. -- -- Stripe applies any customer credit on the account before determining the -- amount due for the invoice (i.e., the amount that will be actually -- charged). If the amount due for the invoice is less than Stripe\'s [minimum allowed charge -- per currency](\/docs\/currencies\#minimum-and-maximum-charge-amounts), the -- invoice is automatically marked paid, and we add the amount due to the -- customer\'s running account balance which is applied to the next invoice. -- -- More details on the customer\'s account balance are -- [here](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-account_balance). -- -- Related guide: [Send Invoices to Customers](https:\/\/stripe.com\/docs\/billing\/invoices\/sending). data Invoice = Invoice { -- | account_country: The country of the business associated with this invoice, most often the business creating the invoice. -- -- Constraints: -- -- * Maximum length of 5000 invoiceAccountCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_name: The public name of the business associated with this invoice, most often the business creating the invoice. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceAccountName :: (GHC.Maybe.Maybe GHC.Base.String) -- | amount_due: Final amount due at this time for this invoice. If the invoice\'s total is smaller than the minimum charge amount, for example, or if there is account credit that can be applied to the invoice, the \`amount_due\` may be 0. If there is a positive \`starting_balance\` for the invoice (the customer owes money), the \`amount_due\` will also take that into account. The charge that gets generated for the invoice will be for the amount specified in \`amount_due\`. , invoiceAmountDue :: GHC.Integer.Type.Integer -- | amount_paid: The amount, in %s, that was paid. , invoiceAmountPaid :: GHC.Integer.Type.Integer -- | amount_remaining: The amount remaining, in %s, that is due. , invoiceAmountRemaining :: GHC.Integer.Type.Integer -- | application_fee_amount: The fee in %s that will be applied to the invoice and transferred to the application owner\'s Stripe account when the invoice is paid. , invoiceApplicationFeeAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | attempt_count: Number of payment attempts made for this invoice, from the perspective of the payment retry schedule. Any payment attempt counts as the first attempt, and subsequently only automatic retries increment the attempt count. In other words, manual payment attempts after the first attempt do not affect the retry schedule. , invoiceAttemptCount :: GHC.Integer.Type.Integer -- | attempted: Whether an attempt has been made to pay the invoice. An invoice is not attempted until 1 hour after the \`invoice.created\` webhook, for example, so you might not want to display that invoice as unpaid to your users. , invoiceAttempted :: GHC.Types.Bool -- | auto_advance: Controls whether Stripe will perform [automatic collection](https:\/\/stripe.com\/docs\/billing\/invoices\/workflow\/\#auto_advance) of the invoice. When \`false\`, the invoice\'s state will not automatically advance without an explicit action. , invoiceAutoAdvance :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | billing_reason: Indicates the reason why the invoice was created. \`subscription_cycle\` indicates an invoice created by a subscription advancing into a new period. \`subscription_create\` indicates an invoice created due to creating a subscription. \`subscription_update\` indicates an invoice created due to updating a subscription. \`subscription\` is set for all old invoices to indicate either a change to a subscription or a period advancement. \`manual\` is set for all invoices unrelated to a subscription (for example: created via the invoice editor). The \`upcoming\` value is reserved for simulated invoices per the upcoming invoice endpoint. \`subscription_threshold\` indicates an invoice created due to a billing threshold being reached. , invoiceBillingReason :: (GHC.Maybe.Maybe InvoiceBillingReason') -- | charge: ID of the latest charge generated for this invoice, if any. , invoiceCharge :: (GHC.Maybe.Maybe InvoiceCharge'Variants) -- | collection_method: Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. , invoiceCollectionMethod :: (GHC.Maybe.Maybe InvoiceCollectionMethod') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , invoiceCreated :: GHC.Integer.Type.Integer -- | 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). , invoiceCurrency :: GHC.Base.String -- | custom_fields: Custom fields displayed on the invoice. , invoiceCustomFields :: (GHC.Maybe.Maybe ([] InvoiceSettingCustomField)) -- | customer: The ID of the customer who will be billed. , invoiceCustomer :: InvoiceCustomer'Variants -- | customer_address: The customer\'s address. Until the invoice is finalized, this field will equal \`customer.address\`. Once the invoice is finalized, this field will no longer be updated. , invoiceCustomerAddress :: (GHC.Maybe.Maybe InvoiceCustomerAddress') -- | customer_email: The customer\'s email. Until the invoice is finalized, this field will equal \`customer.email\`. Once the invoice is finalized, this field will no longer be updated. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer_name: The customer\'s name. Until the invoice is finalized, this field will equal \`customer.name\`. Once the invoice is finalized, this field will no longer be updated. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerName :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer_phone: The customer\'s phone number. Until the invoice is finalized, this field will equal \`customer.phone\`. Once the invoice is finalized, this field will no longer be updated. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerPhone :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer_shipping: The customer\'s shipping information. Until the invoice is finalized, this field will equal \`customer.shipping\`. Once the invoice is finalized, this field will no longer be updated. , invoiceCustomerShipping :: (GHC.Maybe.Maybe InvoiceCustomerShipping') -- | customer_tax_exempt: The customer\'s tax exempt status. Until the invoice is finalized, this field will equal \`customer.tax_exempt\`. Once the invoice is finalized, this field will no longer be updated. , invoiceCustomerTaxExempt :: (GHC.Maybe.Maybe InvoiceCustomerTaxExempt') -- | customer_tax_ids: The customer\'s tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as \`customer.tax_ids\`. Once the invoice is finalized, this field will no longer be updated. , invoiceCustomerTaxIds :: (GHC.Maybe.Maybe ([] InvoicesResourceInvoiceTaxId)) -- | default_payment_method: ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription\'s default payment method, if any, or to the default payment method in the customer\'s invoice settings. , invoiceDefaultPaymentMethod :: (GHC.Maybe.Maybe InvoiceDefaultPaymentMethod'Variants) -- | default_source: ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription\'s default source, if any, or to the customer\'s default source. , invoiceDefaultSource :: (GHC.Maybe.Maybe InvoiceDefaultSource'Variants) -- | default_tax_rates: The tax rates applied to this invoice, if any. , invoiceDefaultTaxRates :: (GHC.Maybe.Maybe ([] TaxRate)) -- | description: An arbitrary string attached to the object. Often useful for displaying to users. Referenced as \'memo\' in the Dashboard. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | discount: Describes the current discount applied to this invoice, if there is one. , invoiceDiscount :: (GHC.Maybe.Maybe InvoiceDiscount') -- | due_date: The date on which payment for this invoice is due. This value will be \`null\` for invoices where \`collection_method=charge_automatically\`. , invoiceDueDate :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | ending_balance: Ending customer balance after the invoice is finalized. Invoices are finalized approximately an hour after successful webhook delivery or when payment collection is attempted for the invoice. If the invoice has not been finalized yet, this will be null. , invoiceEndingBalance :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | footer: Footer displayed on the invoice. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceFooter :: (GHC.Maybe.Maybe GHC.Base.String) -- | hosted_invoice_url: The URL for the hosted invoice page, which allows customers to view and pay an invoice. If the invoice has not been finalized yet, this will be null. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceHostedInvoiceUrl :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceId :: (GHC.Maybe.Maybe GHC.Base.String) -- | invoice_pdf: The link to download the PDF for the invoice. If the invoice has not been finalized yet, this will be null. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceInvoicePdf :: (GHC.Maybe.Maybe GHC.Base.String) -- | lines: The individual line items that make up the invoice. \`lines\` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any. , invoiceLines :: InvoiceLines' -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , invoiceLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , invoiceMetadata :: (GHC.Maybe.Maybe InvoiceMetadata') -- | next_payment_attempt: The time at which payment will next be attempted. This value will be \`null\` for invoices where \`collection_method=send_invoice\`. , invoiceNextPaymentAttempt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | number: A unique, identifying string that appears on emails sent to the customer for this invoice. This starts with the customer\'s unique invoice_prefix if it is specified. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , invoiceObject :: InvoiceObject' -- | paid: Whether payment was successfully collected for this invoice. An invoice can be paid (most commonly) with a charge or with credit from the customer\'s account balance. , invoicePaid :: GHC.Types.Bool -- | payment_intent: The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent. , invoicePaymentIntent :: (GHC.Maybe.Maybe InvoicePaymentIntent'Variants) -- | period_end: End of the usage period during which invoice items were added to this invoice. , invoicePeriodEnd :: GHC.Integer.Type.Integer -- | period_start: Start of the usage period during which invoice items were added to this invoice. , invoicePeriodStart :: GHC.Integer.Type.Integer -- | post_payment_credit_notes_amount: Total amount of all post-payment credit notes issued for this invoice. , invoicePostPaymentCreditNotesAmount :: GHC.Integer.Type.Integer -- | pre_payment_credit_notes_amount: Total amount of all pre-payment credit notes issued for this invoice. , invoicePrePaymentCreditNotesAmount :: GHC.Integer.Type.Integer -- | receipt_number: This is the transaction number that appears on email receipts sent for this invoice. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceReceiptNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | starting_balance: Starting customer balance before the invoice is finalized. If the invoice has not been finalized yet, this will be the current customer balance. , invoiceStartingBalance :: GHC.Integer.Type.Integer -- | statement_descriptor: Extra information about an invoice for the customer\'s credit card statement. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: The status of the invoice, one of \`draft\`, \`open\`, \`paid\`, \`uncollectible\`, or \`void\`. [Learn more](https:\/\/stripe.com\/docs\/billing\/invoices\/workflow\#workflow-overview) , invoiceStatus :: (GHC.Maybe.Maybe InvoiceStatus') -- | status_transitions: , invoiceStatusTransitions :: InvoicesStatusTransitions -- | subscription: The subscription that this invoice was prepared for, if any. , invoiceSubscription :: (GHC.Maybe.Maybe InvoiceSubscription'Variants) -- | subscription_proration_date: Only set for upcoming invoices that preview prorations. The time used to calculate prorations. , invoiceSubscriptionProrationDate :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | subtotal: Total of all subscriptions, invoice items, and prorations on the invoice before any discount or tax is applied. , invoiceSubtotal :: GHC.Integer.Type.Integer -- | tax: The amount of tax on this invoice. This is the sum of all the tax amounts on this invoice. , invoiceTax :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | tax_percent: This percentage of the subtotal has been added to the total amount of the invoice, including invoice line items and discounts. This field is inherited from the subscription\'s \`tax_percent\` field, but can be changed before the invoice is paid. This field defaults to null. , invoiceTaxPercent :: (GHC.Maybe.Maybe GHC.Types.Double) -- | threshold_reason: , invoiceThresholdReason :: (GHC.Maybe.Maybe InvoiceThresholdReason) -- | total: Total after discounts and taxes. , invoiceTotal :: GHC.Integer.Type.Integer -- | total_tax_amounts: The aggregate amounts calculated per tax rate for all line items. , invoiceTotalTaxAmounts :: (GHC.Maybe.Maybe ([] InvoiceTaxAmount)) -- | webhooks_delivered_at: The time at which webhooks for this invoice were successfully delivered (if the invoice had no webhooks to deliver, this will match \`created\`). Invoice payment is delayed until webhooks are delivered, or until all webhook delivery attempts have been exhausted. , invoiceWebhooksDeliveredAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Invoice where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account_country" (invoiceAccountCountry obj) : (Data.Aeson..=) "account_name" (invoiceAccountName obj) : (Data.Aeson..=) "amount_due" (invoiceAmountDue obj) : (Data.Aeson..=) "amount_paid" (invoiceAmountPaid obj) : (Data.Aeson..=) "amount_remaining" (invoiceAmountRemaining obj) : (Data.Aeson..=) "application_fee_amount" (invoiceApplicationFeeAmount obj) : (Data.Aeson..=) "attempt_count" (invoiceAttemptCount obj) : (Data.Aeson..=) "attempted" (invoiceAttempted obj) : (Data.Aeson..=) "auto_advance" (invoiceAutoAdvance obj) : (Data.Aeson..=) "billing_reason" (invoiceBillingReason obj) : (Data.Aeson..=) "charge" (invoiceCharge obj) : (Data.Aeson..=) "collection_method" (invoiceCollectionMethod obj) : (Data.Aeson..=) "created" (invoiceCreated obj) : (Data.Aeson..=) "currency" (invoiceCurrency obj) : (Data.Aeson..=) "custom_fields" (invoiceCustomFields obj) : (Data.Aeson..=) "customer" (invoiceCustomer obj) : (Data.Aeson..=) "customer_address" (invoiceCustomerAddress obj) : (Data.Aeson..=) "customer_email" (invoiceCustomerEmail obj) : (Data.Aeson..=) "customer_name" (invoiceCustomerName obj) : (Data.Aeson..=) "customer_phone" (invoiceCustomerPhone obj) : (Data.Aeson..=) "customer_shipping" (invoiceCustomerShipping obj) : (Data.Aeson..=) "customer_tax_exempt" (invoiceCustomerTaxExempt obj) : (Data.Aeson..=) "customer_tax_ids" (invoiceCustomerTaxIds obj) : (Data.Aeson..=) "default_payment_method" (invoiceDefaultPaymentMethod obj) : (Data.Aeson..=) "default_source" (invoiceDefaultSource obj) : (Data.Aeson..=) "default_tax_rates" (invoiceDefaultTaxRates obj) : (Data.Aeson..=) "description" (invoiceDescription obj) : (Data.Aeson..=) "discount" (invoiceDiscount obj) : (Data.Aeson..=) "due_date" (invoiceDueDate obj) : (Data.Aeson..=) "ending_balance" (invoiceEndingBalance obj) : (Data.Aeson..=) "footer" (invoiceFooter obj) : (Data.Aeson..=) "hosted_invoice_url" (invoiceHostedInvoiceUrl obj) : (Data.Aeson..=) "id" (invoiceId obj) : (Data.Aeson..=) "invoice_pdf" (invoiceInvoicePdf obj) : (Data.Aeson..=) "lines" (invoiceLines obj) : (Data.Aeson..=) "livemode" (invoiceLivemode obj) : (Data.Aeson..=) "metadata" (invoiceMetadata obj) : (Data.Aeson..=) "next_payment_attempt" (invoiceNextPaymentAttempt obj) : (Data.Aeson..=) "number" (invoiceNumber obj) : (Data.Aeson..=) "object" (invoiceObject obj) : (Data.Aeson..=) "paid" (invoicePaid obj) : (Data.Aeson..=) "payment_intent" (invoicePaymentIntent obj) : (Data.Aeson..=) "period_end" (invoicePeriodEnd obj) : (Data.Aeson..=) "period_start" (invoicePeriodStart obj) : (Data.Aeson..=) "post_payment_credit_notes_amount" (invoicePostPaymentCreditNotesAmount obj) : (Data.Aeson..=) "pre_payment_credit_notes_amount" (invoicePrePaymentCreditNotesAmount obj) : (Data.Aeson..=) "receipt_number" (invoiceReceiptNumber obj) : (Data.Aeson..=) "starting_balance" (invoiceStartingBalance obj) : (Data.Aeson..=) "statement_descriptor" (invoiceStatementDescriptor obj) : (Data.Aeson..=) "status" (invoiceStatus obj) : (Data.Aeson..=) "status_transitions" (invoiceStatusTransitions obj) : (Data.Aeson..=) "subscription" (invoiceSubscription obj) : (Data.Aeson..=) "subscription_proration_date" (invoiceSubscriptionProrationDate obj) : (Data.Aeson..=) "subtotal" (invoiceSubtotal obj) : (Data.Aeson..=) "tax" (invoiceTax obj) : (Data.Aeson..=) "tax_percent" (invoiceTaxPercent obj) : (Data.Aeson..=) "threshold_reason" (invoiceThresholdReason obj) : (Data.Aeson..=) "total" (invoiceTotal obj) : (Data.Aeson..=) "total_tax_amounts" (invoiceTotalTaxAmounts obj) : (Data.Aeson..=) "webhooks_delivered_at" (invoiceWebhooksDeliveredAt obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account_country" (invoiceAccountCountry obj) GHC.Base.<> ((Data.Aeson..=) "account_name" (invoiceAccountName obj) GHC.Base.<> ((Data.Aeson..=) "amount_due" (invoiceAmountDue obj) GHC.Base.<> ((Data.Aeson..=) "amount_paid" (invoiceAmountPaid obj) GHC.Base.<> ((Data.Aeson..=) "amount_remaining" (invoiceAmountRemaining obj) GHC.Base.<> ((Data.Aeson..=) "application_fee_amount" (invoiceApplicationFeeAmount obj) GHC.Base.<> ((Data.Aeson..=) "attempt_count" (invoiceAttemptCount obj) GHC.Base.<> ((Data.Aeson..=) "attempted" (invoiceAttempted obj) GHC.Base.<> ((Data.Aeson..=) "auto_advance" (invoiceAutoAdvance obj) GHC.Base.<> ((Data.Aeson..=) "billing_reason" (invoiceBillingReason obj) GHC.Base.<> ((Data.Aeson..=) "charge" (invoiceCharge obj) GHC.Base.<> ((Data.Aeson..=) "collection_method" (invoiceCollectionMethod obj) GHC.Base.<> ((Data.Aeson..=) "created" (invoiceCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (invoiceCurrency obj) GHC.Base.<> ((Data.Aeson..=) "custom_fields" (invoiceCustomFields obj) GHC.Base.<> ((Data.Aeson..=) "customer" (invoiceCustomer obj) GHC.Base.<> ((Data.Aeson..=) "customer_address" (invoiceCustomerAddress obj) GHC.Base.<> ((Data.Aeson..=) "customer_email" (invoiceCustomerEmail obj) GHC.Base.<> ((Data.Aeson..=) "customer_name" (invoiceCustomerName obj) GHC.Base.<> ((Data.Aeson..=) "customer_phone" (invoiceCustomerPhone obj) GHC.Base.<> ((Data.Aeson..=) "customer_shipping" (invoiceCustomerShipping obj) GHC.Base.<> ((Data.Aeson..=) "customer_tax_exempt" (invoiceCustomerTaxExempt obj) GHC.Base.<> ((Data.Aeson..=) "customer_tax_ids" (invoiceCustomerTaxIds obj) GHC.Base.<> ((Data.Aeson..=) "default_payment_method" (invoiceDefaultPaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "default_source" (invoiceDefaultSource obj) GHC.Base.<> ((Data.Aeson..=) "default_tax_rates" (invoiceDefaultTaxRates obj) GHC.Base.<> ((Data.Aeson..=) "description" (invoiceDescription obj) GHC.Base.<> ((Data.Aeson..=) "discount" (invoiceDiscount obj) GHC.Base.<> ((Data.Aeson..=) "due_date" (invoiceDueDate obj) GHC.Base.<> ((Data.Aeson..=) "ending_balance" (invoiceEndingBalance obj) GHC.Base.<> ((Data.Aeson..=) "footer" (invoiceFooter obj) GHC.Base.<> ((Data.Aeson..=) "hosted_invoice_url" (invoiceHostedInvoiceUrl obj) GHC.Base.<> ((Data.Aeson..=) "id" (invoiceId obj) GHC.Base.<> ((Data.Aeson..=) "invoice_pdf" (invoiceInvoicePdf obj) GHC.Base.<> ((Data.Aeson..=) "lines" (invoiceLines obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (invoiceLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (invoiceMetadata obj) GHC.Base.<> ((Data.Aeson..=) "next_payment_attempt" (invoiceNextPaymentAttempt obj) GHC.Base.<> ((Data.Aeson..=) "number" (invoiceNumber obj) GHC.Base.<> ((Data.Aeson..=) "object" (invoiceObject obj) GHC.Base.<> ((Data.Aeson..=) "paid" (invoicePaid obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (invoicePaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "period_end" (invoicePeriodEnd obj) GHC.Base.<> ((Data.Aeson..=) "period_start" (invoicePeriodStart obj) GHC.Base.<> ((Data.Aeson..=) "post_payment_credit_notes_amount" (invoicePostPaymentCreditNotesAmount obj) GHC.Base.<> ((Data.Aeson..=) "pre_payment_credit_notes_amount" (invoicePrePaymentCreditNotesAmount obj) GHC.Base.<> ((Data.Aeson..=) "receipt_number" (invoiceReceiptNumber obj) GHC.Base.<> ((Data.Aeson..=) "starting_balance" (invoiceStartingBalance obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (invoiceStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (invoiceStatus obj) GHC.Base.<> ((Data.Aeson..=) "status_transitions" (invoiceStatusTransitions obj) GHC.Base.<> ((Data.Aeson..=) "subscription" (invoiceSubscription obj) GHC.Base.<> ((Data.Aeson..=) "subscription_proration_date" (invoiceSubscriptionProrationDate obj) GHC.Base.<> ((Data.Aeson..=) "subtotal" (invoiceSubtotal obj) GHC.Base.<> ((Data.Aeson..=) "tax" (invoiceTax obj) GHC.Base.<> ((Data.Aeson..=) "tax_percent" (invoiceTaxPercent obj) GHC.Base.<> ((Data.Aeson..=) "threshold_reason" (invoiceThresholdReason obj) GHC.Base.<> ((Data.Aeson..=) "total" (invoiceTotal obj) GHC.Base.<> ((Data.Aeson..=) "total_tax_amounts" (invoiceTotalTaxAmounts obj) GHC.Base.<> (Data.Aeson..=) "webhooks_delivered_at" (invoiceWebhooksDeliveredAt obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Invoice where parseJSON = Data.Aeson.Types.FromJSON.withObject "Invoice" (\obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure Invoice GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount_due")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount_paid")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount_remaining")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "attempt_count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "attempted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "auto_advance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "collection_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "custom_fields")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_tax_exempt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer_tax_ids")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_tax_rates")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "discount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "due_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ending_balance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "footer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "hosted_invoice_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice_pdf")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "lines")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "next_payment_attempt")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "paid")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "period_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "period_start")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "post_payment_credit_notes_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "pre_payment_credit_notes_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "starting_balance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status_transitions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription_proration_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "subtotal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_percent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "threshold_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "total")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "total_tax_amounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "webhooks_delivered_at")) -- | Defines the enum schema invoiceBilling_reason\' -- -- Indicates the reason why the invoice was created. \`subscription_cycle\` indicates an invoice created by a subscription advancing into a new period. \`subscription_create\` indicates an invoice created due to creating a subscription. \`subscription_update\` indicates an invoice created due to updating a subscription. \`subscription\` is set for all old invoices to indicate either a change to a subscription or a period advancement. \`manual\` is set for all invoices unrelated to a subscription (for example: created via the invoice editor). The \`upcoming\` value is reserved for simulated invoices per the upcoming invoice endpoint. \`subscription_threshold\` indicates an invoice created due to a billing threshold being reached. data InvoiceBillingReason' = InvoiceBillingReason'EnumOther Data.Aeson.Types.Internal.Value | InvoiceBillingReason'EnumTyped GHC.Base.String | InvoiceBillingReason'EnumStringAutomaticPendingInvoiceItemInvoice | InvoiceBillingReason'EnumStringManual | InvoiceBillingReason'EnumStringSubscription | InvoiceBillingReason'EnumStringSubscriptionCreate | InvoiceBillingReason'EnumStringSubscriptionCycle | InvoiceBillingReason'EnumStringSubscriptionThreshold | InvoiceBillingReason'EnumStringSubscriptionUpdate | InvoiceBillingReason'EnumStringUpcoming deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceBillingReason' where toJSON (InvoiceBillingReason'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceBillingReason'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceBillingReason'EnumStringAutomaticPendingInvoiceItemInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic_pending_invoice_item_invoice" toJSON (InvoiceBillingReason'EnumStringManual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual" toJSON (InvoiceBillingReason'EnumStringSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription" toJSON (InvoiceBillingReason'EnumStringSubscriptionCreate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_create" toJSON (InvoiceBillingReason'EnumStringSubscriptionCycle) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_cycle" toJSON (InvoiceBillingReason'EnumStringSubscriptionThreshold) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_threshold" toJSON (InvoiceBillingReason'EnumStringSubscriptionUpdate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_update" toJSON (InvoiceBillingReason'EnumStringUpcoming) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "upcoming" instance Data.Aeson.FromJSON InvoiceBillingReason' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic_pending_invoice_item_invoice") then InvoiceBillingReason'EnumStringAutomaticPendingInvoiceItemInvoice else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual") then InvoiceBillingReason'EnumStringManual else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription") then InvoiceBillingReason'EnumStringSubscription else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_create") then InvoiceBillingReason'EnumStringSubscriptionCreate else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_cycle") then InvoiceBillingReason'EnumStringSubscriptionCycle else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_threshold") then InvoiceBillingReason'EnumStringSubscriptionThreshold else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_update") then InvoiceBillingReason'EnumStringSubscriptionUpdate else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "upcoming") then InvoiceBillingReason'EnumStringUpcoming else InvoiceBillingReason'EnumOther val) -- | Define the one-of schema invoiceCharge\' -- -- ID of the latest charge generated for this invoice, if any. data InvoiceCharge'Variants = InvoiceCharge'Charge Charge | InvoiceCharge'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceCharge'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceCharge'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema invoiceCollection_method\' -- -- Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay this invoice using the default source attached to the customer. When sending an invoice, Stripe will email this invoice to the customer with payment instructions. data InvoiceCollectionMethod' = InvoiceCollectionMethod'EnumOther Data.Aeson.Types.Internal.Value | InvoiceCollectionMethod'EnumTyped GHC.Base.String | InvoiceCollectionMethod'EnumStringChargeAutomatically | InvoiceCollectionMethod'EnumStringSendInvoice deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceCollectionMethod' where toJSON (InvoiceCollectionMethod'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceCollectionMethod'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceCollectionMethod'EnumStringChargeAutomatically) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_automatically" toJSON (InvoiceCollectionMethod'EnumStringSendInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "send_invoice" instance Data.Aeson.FromJSON InvoiceCollectionMethod' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_automatically") then InvoiceCollectionMethod'EnumStringChargeAutomatically else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "send_invoice") then InvoiceCollectionMethod'EnumStringSendInvoice else InvoiceCollectionMethod'EnumOther val) -- | Define the one-of schema invoiceCustomer\' -- -- The ID of the customer who will be billed. data InvoiceCustomer'Variants = InvoiceCustomer'Customer Customer | InvoiceCustomer'DeletedCustomer DeletedCustomer | InvoiceCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema invoiceCustomer_address\' -- -- The customer\\\'s address. Until the invoice is finalized, this field will equal \\\`customer.address\\\`. Once the invoice is finalized, this field will no longer be updated. data InvoiceCustomerAddress' = InvoiceCustomerAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 invoiceCustomerAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceCustomerAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (invoiceCustomerAddress'City obj) : (Data.Aeson..=) "country" (invoiceCustomerAddress'Country obj) : (Data.Aeson..=) "line1" (invoiceCustomerAddress'Line1 obj) : (Data.Aeson..=) "line2" (invoiceCustomerAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (invoiceCustomerAddress'PostalCode obj) : (Data.Aeson..=) "state" (invoiceCustomerAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (invoiceCustomerAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (invoiceCustomerAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (invoiceCustomerAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (invoiceCustomerAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (invoiceCustomerAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (invoiceCustomerAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceCustomerAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceCustomerAddress'" (\obj -> (((((GHC.Base.pure InvoiceCustomerAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema invoiceCustomer_shipping\' -- -- The customer\\\'s shipping information. Until the invoice is finalized, this field will equal \\\`customer.shipping\\\`. Once the invoice is finalized, this field will no longer be updated. data InvoiceCustomerShipping' = InvoiceCustomerShipping' { -- | address: invoiceCustomerShipping'Address :: (GHC.Maybe.Maybe Address) -- | carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerShipping'Carrier :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Recipient name. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerShipping'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Recipient phone (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerShipping'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceCustomerShipping'TrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceCustomerShipping' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (invoiceCustomerShipping'Address obj) : (Data.Aeson..=) "carrier" (invoiceCustomerShipping'Carrier obj) : (Data.Aeson..=) "name" (invoiceCustomerShipping'Name obj) : (Data.Aeson..=) "phone" (invoiceCustomerShipping'Phone obj) : (Data.Aeson..=) "tracking_number" (invoiceCustomerShipping'TrackingNumber obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (invoiceCustomerShipping'Address obj) GHC.Base.<> ((Data.Aeson..=) "carrier" (invoiceCustomerShipping'Carrier obj) GHC.Base.<> ((Data.Aeson..=) "name" (invoiceCustomerShipping'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (invoiceCustomerShipping'Phone obj) GHC.Base.<> (Data.Aeson..=) "tracking_number" (invoiceCustomerShipping'TrackingNumber obj))))) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceCustomerShipping' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceCustomerShipping'" (\obj -> ((((GHC.Base.pure InvoiceCustomerShipping' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number")) -- | Defines the enum schema invoiceCustomer_tax_exempt\' -- -- The customer\'s tax exempt status. Until the invoice is finalized, this field will equal \`customer.tax_exempt\`. Once the invoice is finalized, this field will no longer be updated. data InvoiceCustomerTaxExempt' = InvoiceCustomerTaxExempt'EnumOther Data.Aeson.Types.Internal.Value | InvoiceCustomerTaxExempt'EnumTyped GHC.Base.String | InvoiceCustomerTaxExempt'EnumStringExempt | InvoiceCustomerTaxExempt'EnumStringNone | InvoiceCustomerTaxExempt'EnumStringReverse deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceCustomerTaxExempt' where toJSON (InvoiceCustomerTaxExempt'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceCustomerTaxExempt'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceCustomerTaxExempt'EnumStringExempt) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exempt" toJSON (InvoiceCustomerTaxExempt'EnumStringNone) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none" toJSON (InvoiceCustomerTaxExempt'EnumStringReverse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reverse" instance Data.Aeson.FromJSON InvoiceCustomerTaxExempt' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exempt") then InvoiceCustomerTaxExempt'EnumStringExempt else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none") then InvoiceCustomerTaxExempt'EnumStringNone else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reverse") then InvoiceCustomerTaxExempt'EnumStringReverse else InvoiceCustomerTaxExempt'EnumOther val) -- | Define the one-of schema invoiceDefault_payment_method\' -- -- ID of the default payment method for the invoice. It must belong to the customer associated with the invoice. If not set, defaults to the subscription\'s default payment method, if any, or to the default payment method in the customer\'s invoice settings. data InvoiceDefaultPaymentMethod'Variants = InvoiceDefaultPaymentMethod'PaymentMethod PaymentMethod | InvoiceDefaultPaymentMethod'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceDefaultPaymentMethod'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceDefaultPaymentMethod'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema invoiceDefault_source\' -- -- ID of the default payment source for the invoice. It must belong to the customer associated with the invoice and be in a chargeable state. If not set, defaults to the subscription\'s default source, if any, or to the customer\'s default source. data InvoiceDefaultSource'Variants = InvoiceDefaultSource'AlipayAccount AlipayAccount | InvoiceDefaultSource'BankAccount BankAccount | InvoiceDefaultSource'BitcoinReceiver BitcoinReceiver | InvoiceDefaultSource'Card Card | InvoiceDefaultSource'Source Source | InvoiceDefaultSource'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceDefaultSource'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceDefaultSource'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema invoiceDiscount\' -- -- Describes the current discount applied to this invoice, if there is one. data InvoiceDiscount' = InvoiceDiscount' { -- | coupon: A coupon contains information about a percent-off or amount-off discount you -- might want to apply to a customer. Coupons may be applied to [invoices](https:\/\/stripe.com\/docs\/api\#invoices) or -- [orders](https:\/\/stripe.com\/docs\/api\#create_order-coupon). Coupons do not work with conventional one-off [charges](https:\/\/stripe.com\/docs\/api\#create_charge). invoiceDiscount'Coupon :: (GHC.Maybe.Maybe Coupon) -- | customer: The ID of the customer associated with this discount. , invoiceDiscount'Customer :: (GHC.Maybe.Maybe InvoiceDiscount'Customer'Variants) -- | end: If the coupon has a duration of \`repeating\`, the date that this discount will end. If the coupon has a duration of \`once\` or \`forever\`, this attribute will be null. , invoiceDiscount'End :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | object: String representing the object\'s type. Objects of the same type share the same value. , invoiceDiscount'Object :: (GHC.Maybe.Maybe InvoiceDiscount'Object') -- | start: Date that the coupon was applied. , invoiceDiscount'Start :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | subscription: The subscription that this coupon is applied to, if it is applied to a particular subscription. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceDiscount'Subscription :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceDiscount' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "coupon" (invoiceDiscount'Coupon obj) : (Data.Aeson..=) "customer" (invoiceDiscount'Customer obj) : (Data.Aeson..=) "end" (invoiceDiscount'End obj) : (Data.Aeson..=) "object" (invoiceDiscount'Object obj) : (Data.Aeson..=) "start" (invoiceDiscount'Start obj) : (Data.Aeson..=) "subscription" (invoiceDiscount'Subscription obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "coupon" (invoiceDiscount'Coupon obj) GHC.Base.<> ((Data.Aeson..=) "customer" (invoiceDiscount'Customer obj) GHC.Base.<> ((Data.Aeson..=) "end" (invoiceDiscount'End obj) GHC.Base.<> ((Data.Aeson..=) "object" (invoiceDiscount'Object obj) GHC.Base.<> ((Data.Aeson..=) "start" (invoiceDiscount'Start obj) GHC.Base.<> (Data.Aeson..=) "subscription" (invoiceDiscount'Subscription obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceDiscount' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceDiscount'" (\obj -> (((((GHC.Base.pure InvoiceDiscount' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "start")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) -- | Define the one-of schema invoiceDiscount\'Customer\' -- -- The ID of the customer associated with this discount. data InvoiceDiscount'Customer'Variants = InvoiceDiscount'Customer'Customer Customer | InvoiceDiscount'Customer'DeletedCustomer DeletedCustomer | InvoiceDiscount'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceDiscount'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceDiscount'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema invoiceDiscount\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data InvoiceDiscount'Object' = InvoiceDiscount'Object'EnumOther Data.Aeson.Types.Internal.Value | InvoiceDiscount'Object'EnumTyped GHC.Base.String | InvoiceDiscount'Object'EnumStringDiscount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceDiscount'Object' where toJSON (InvoiceDiscount'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceDiscount'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceDiscount'Object'EnumStringDiscount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount" instance Data.Aeson.FromJSON InvoiceDiscount'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount") then InvoiceDiscount'Object'EnumStringDiscount else InvoiceDiscount'Object'EnumOther val) -- | Defines the data type for the schema invoiceLines\' -- -- The individual line items that make up the invoice. \`lines\` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any. data InvoiceLines' = InvoiceLines' { -- | data: Details about each object. invoiceLines'Data :: ([] LineItem) -- | has_more: True if this list has another page of items after this one that can be fetched. , invoiceLines'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , invoiceLines'Object :: InvoiceLines'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceLines'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceLines' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (invoiceLines'Data obj) : (Data.Aeson..=) "has_more" (invoiceLines'HasMore obj) : (Data.Aeson..=) "object" (invoiceLines'Object obj) : (Data.Aeson..=) "url" (invoiceLines'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (invoiceLines'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (invoiceLines'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (invoiceLines'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (invoiceLines'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceLines' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceLines'" (\obj -> (((GHC.Base.pure InvoiceLines' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema invoiceLines\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data InvoiceLines'Object' = InvoiceLines'Object'EnumOther Data.Aeson.Types.Internal.Value | InvoiceLines'Object'EnumTyped GHC.Base.String | InvoiceLines'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceLines'Object' where toJSON (InvoiceLines'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceLines'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceLines'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON InvoiceLines'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then InvoiceLines'Object'EnumStringList else InvoiceLines'Object'EnumOther val) -- | Defines the data type for the schema invoiceMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data InvoiceMetadata' = InvoiceMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceMetadata'" (\obj -> GHC.Base.pure InvoiceMetadata') -- | Defines the enum schema invoiceObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data InvoiceObject' = InvoiceObject'EnumOther Data.Aeson.Types.Internal.Value | InvoiceObject'EnumTyped GHC.Base.String | InvoiceObject'EnumStringInvoice deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceObject' where toJSON (InvoiceObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceObject'EnumStringInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice" instance Data.Aeson.FromJSON InvoiceObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoice") then InvoiceObject'EnumStringInvoice else InvoiceObject'EnumOther val) -- | Define the one-of schema invoicePayment_intent\' -- -- The PaymentIntent associated with this invoice. The PaymentIntent is generated when the invoice is finalized, and can then be used to pay the invoice. Note that voiding an invoice will cancel the PaymentIntent. data InvoicePaymentIntent'Variants = InvoicePaymentIntent'PaymentIntent PaymentIntent | InvoicePaymentIntent'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoicePaymentIntent'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoicePaymentIntent'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema invoiceStatus\' -- -- The status of the invoice, one of \`draft\`, \`open\`, \`paid\`, \`uncollectible\`, or \`void\`. [Learn more](https:\/\/stripe.com\/docs\/billing\/invoices\/workflow\#workflow-overview) data InvoiceStatus' = InvoiceStatus'EnumOther Data.Aeson.Types.Internal.Value | InvoiceStatus'EnumTyped GHC.Base.String | InvoiceStatus'EnumStringDeleted | InvoiceStatus'EnumStringDraft | InvoiceStatus'EnumStringOpen | InvoiceStatus'EnumStringPaid | InvoiceStatus'EnumStringUncollectible | InvoiceStatus'EnumStringVoid deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceStatus' where toJSON (InvoiceStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceStatus'EnumStringDeleted) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "deleted" toJSON (InvoiceStatus'EnumStringDraft) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "draft" toJSON (InvoiceStatus'EnumStringOpen) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "open" toJSON (InvoiceStatus'EnumStringPaid) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paid" toJSON (InvoiceStatus'EnumStringUncollectible) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uncollectible" toJSON (InvoiceStatus'EnumStringVoid) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "void" instance Data.Aeson.FromJSON InvoiceStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "deleted") then InvoiceStatus'EnumStringDeleted else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "draft") then InvoiceStatus'EnumStringDraft else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "open") then InvoiceStatus'EnumStringOpen else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paid") then InvoiceStatus'EnumStringPaid else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uncollectible") then InvoiceStatus'EnumStringUncollectible else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "void") then InvoiceStatus'EnumStringVoid else InvoiceStatus'EnumOther val) -- | Define the one-of schema invoiceSubscription\' -- -- The subscription that this invoice was prepared for, if any. data InvoiceSubscription'Variants = InvoiceSubscription'Subscription Subscription | InvoiceSubscription'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceSubscription'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceSubscription'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema invoice_setting_customer_setting -- -- data InvoiceSettingCustomerSetting = InvoiceSettingCustomerSetting { -- | custom_fields: Default custom fields to be displayed on invoices for this customer. invoiceSettingCustomerSettingCustomFields :: (GHC.Maybe.Maybe ([] InvoiceSettingCustomField)) -- | default_payment_method: ID of a payment method that\'s attached to the customer, to be used as the customer\'s default payment method for subscriptions and invoices. , invoiceSettingCustomerSettingDefaultPaymentMethod :: (GHC.Maybe.Maybe InvoiceSettingCustomerSettingDefaultPaymentMethod'Variants) -- | footer: Default footer to be displayed on invoices for this customer. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceSettingCustomerSettingFooter :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceSettingCustomerSetting where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "custom_fields" (invoiceSettingCustomerSettingCustomFields obj) : (Data.Aeson..=) "default_payment_method" (invoiceSettingCustomerSettingDefaultPaymentMethod obj) : (Data.Aeson..=) "footer" (invoiceSettingCustomerSettingFooter obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "custom_fields" (invoiceSettingCustomerSettingCustomFields obj) GHC.Base.<> ((Data.Aeson..=) "default_payment_method" (invoiceSettingCustomerSettingDefaultPaymentMethod obj) GHC.Base.<> (Data.Aeson..=) "footer" (invoiceSettingCustomerSettingFooter obj))) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceSettingCustomerSetting where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceSettingCustomerSetting" (\obj -> ((GHC.Base.pure InvoiceSettingCustomerSetting GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "custom_fields")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "footer")) -- | Define the one-of schema invoice_setting_customer_settingDefault_payment_method\' -- -- ID of a payment method that\'s attached to the customer, to be used as the customer\'s default payment method for subscriptions and invoices. data InvoiceSettingCustomerSettingDefaultPaymentMethod'Variants = InvoiceSettingCustomerSettingDefaultPaymentMethod'PaymentMethod PaymentMethod | InvoiceSettingCustomerSettingDefaultPaymentMethod'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceSettingCustomerSettingDefaultPaymentMethod'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceSettingCustomerSettingDefaultPaymentMethod'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema invoiceitem -- -- Sometimes you want to add a charge or credit to a customer, but actually -- charge or credit the customer\'s card only at the end of a regular billing -- cycle. This is useful for combining several charges (to minimize -- per-transaction fees), or for having Stripe tabulate your usage-based billing -- totals. -- -- Related guide: [Subscription Invoices](https:\/\/stripe.com\/docs\/billing\/invoices\/subscription\#adding-upcoming-invoice-items). data Invoiceitem = Invoiceitem { -- | amount: Amount (in the \`currency\` specified) of the invoice item. This should always be equal to \`unit_amount * quantity\`. invoiceitemAmount :: GHC.Integer.Type.Integer -- | 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). , invoiceitemCurrency :: GHC.Base.String -- | customer: The ID of the customer who will be billed when this invoice item is billed. , invoiceitemCustomer :: InvoiceitemCustomer'Variants -- | date: Time at which the object was created. Measured in seconds since the Unix epoch. , invoiceitemDate :: GHC.Integer.Type.Integer -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceitemDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | discountable: If true, discounts will apply to this invoice item. Always false for prorations. , invoiceitemDiscountable :: GHC.Types.Bool -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceitemId :: GHC.Base.String -- | invoice: The ID of the invoice this invoice item belongs to. , invoiceitemInvoice :: (GHC.Maybe.Maybe InvoiceitemInvoice'Variants) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , invoiceitemLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , invoiceitemMetadata :: InvoiceitemMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , invoiceitemObject :: InvoiceitemObject' -- | period: , invoiceitemPeriod :: InvoiceLineItemPeriod -- | plan: If the invoice item is a proration, the plan of the subscription that the proration was computed for. , invoiceitemPlan :: (GHC.Maybe.Maybe InvoiceitemPlan') -- | proration: Whether the invoice item was created automatically as a proration adjustment when the customer switched plans. , invoiceitemProration :: GHC.Types.Bool -- | quantity: Quantity of units for the invoice item. If the invoice item is a proration, the quantity of the subscription that the proration was computed for. , invoiceitemQuantity :: GHC.Integer.Type.Integer -- | subscription: The subscription that this invoice item has been created for, if any. , invoiceitemSubscription :: (GHC.Maybe.Maybe InvoiceitemSubscription'Variants) -- | subscription_item: The subscription item that this invoice item has been created for, if any. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceitemSubscriptionItem :: (GHC.Maybe.Maybe GHC.Base.String) -- | tax_rates: The tax rates which apply to the invoice item. When set, the \`default_tax_rates\` on the invoice do not apply to this invoice item. , invoiceitemTaxRates :: (GHC.Maybe.Maybe ([] TaxRate)) -- | unit_amount: Unit Amount (in the \`currency\` specified) of the invoice item. , invoiceitemUnitAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | unit_amount_decimal: Same as \`unit_amount\`, but contains a decimal value with at most 12 decimal places. , invoiceitemUnitAmountDecimal :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Invoiceitem where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (invoiceitemAmount obj) : (Data.Aeson..=) "currency" (invoiceitemCurrency obj) : (Data.Aeson..=) "customer" (invoiceitemCustomer obj) : (Data.Aeson..=) "date" (invoiceitemDate obj) : (Data.Aeson..=) "description" (invoiceitemDescription obj) : (Data.Aeson..=) "discountable" (invoiceitemDiscountable obj) : (Data.Aeson..=) "id" (invoiceitemId obj) : (Data.Aeson..=) "invoice" (invoiceitemInvoice obj) : (Data.Aeson..=) "livemode" (invoiceitemLivemode obj) : (Data.Aeson..=) "metadata" (invoiceitemMetadata obj) : (Data.Aeson..=) "object" (invoiceitemObject obj) : (Data.Aeson..=) "period" (invoiceitemPeriod obj) : (Data.Aeson..=) "plan" (invoiceitemPlan obj) : (Data.Aeson..=) "proration" (invoiceitemProration obj) : (Data.Aeson..=) "quantity" (invoiceitemQuantity obj) : (Data.Aeson..=) "subscription" (invoiceitemSubscription obj) : (Data.Aeson..=) "subscription_item" (invoiceitemSubscriptionItem obj) : (Data.Aeson..=) "tax_rates" (invoiceitemTaxRates obj) : (Data.Aeson..=) "unit_amount" (invoiceitemUnitAmount obj) : (Data.Aeson..=) "unit_amount_decimal" (invoiceitemUnitAmountDecimal obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (invoiceitemAmount obj) GHC.Base.<> ((Data.Aeson..=) "currency" (invoiceitemCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (invoiceitemCustomer obj) GHC.Base.<> ((Data.Aeson..=) "date" (invoiceitemDate obj) GHC.Base.<> ((Data.Aeson..=) "description" (invoiceitemDescription obj) GHC.Base.<> ((Data.Aeson..=) "discountable" (invoiceitemDiscountable obj) GHC.Base.<> ((Data.Aeson..=) "id" (invoiceitemId obj) GHC.Base.<> ((Data.Aeson..=) "invoice" (invoiceitemInvoice obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (invoiceitemLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (invoiceitemMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (invoiceitemObject obj) GHC.Base.<> ((Data.Aeson..=) "period" (invoiceitemPeriod obj) GHC.Base.<> ((Data.Aeson..=) "plan" (invoiceitemPlan obj) GHC.Base.<> ((Data.Aeson..=) "proration" (invoiceitemProration obj) GHC.Base.<> ((Data.Aeson..=) "quantity" (invoiceitemQuantity obj) GHC.Base.<> ((Data.Aeson..=) "subscription" (invoiceitemSubscription obj) GHC.Base.<> ((Data.Aeson..=) "subscription_item" (invoiceitemSubscriptionItem obj) GHC.Base.<> ((Data.Aeson..=) "tax_rates" (invoiceitemTaxRates obj) GHC.Base.<> ((Data.Aeson..=) "unit_amount" (invoiceitemUnitAmount obj) GHC.Base.<> (Data.Aeson..=) "unit_amount_decimal" (invoiceitemUnitAmountDecimal obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Invoiceitem where parseJSON = Data.Aeson.Types.FromJSON.withObject "Invoiceitem" (\obj -> (((((((((((((((((((GHC.Base.pure Invoiceitem GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "discountable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "period")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "proration")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription_item")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_rates")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "unit_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "unit_amount_decimal")) -- | Define the one-of schema invoiceitemCustomer\' -- -- The ID of the customer who will be billed when this invoice item is billed. data InvoiceitemCustomer'Variants = InvoiceitemCustomer'Customer Customer | InvoiceitemCustomer'DeletedCustomer DeletedCustomer | InvoiceitemCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceitemCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceitemCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema invoiceitemInvoice\' -- -- The ID of the invoice this invoice item belongs to. data InvoiceitemInvoice'Variants = InvoiceitemInvoice'Invoice Invoice | InvoiceitemInvoice'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceitemInvoice'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceitemInvoice'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema invoiceitemMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data InvoiceitemMetadata' = InvoiceitemMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceitemMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceitemMetadata'" (\obj -> GHC.Base.pure InvoiceitemMetadata') -- | Defines the enum schema invoiceitemObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data InvoiceitemObject' = InvoiceitemObject'EnumOther Data.Aeson.Types.Internal.Value | InvoiceitemObject'EnumTyped GHC.Base.String | InvoiceitemObject'EnumStringInvoiceitem deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemObject' where toJSON (InvoiceitemObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemObject'EnumStringInvoiceitem) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoiceitem" instance Data.Aeson.FromJSON InvoiceitemObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoiceitem") then InvoiceitemObject'EnumStringInvoiceitem else InvoiceitemObject'EnumOther val) -- | Defines the data type for the schema invoiceitemPlan\' -- -- If the invoice item is a proration, the plan of the subscription that the proration was computed for. data InvoiceitemPlan' = InvoiceitemPlan' { -- | active: Whether the plan is currently available for new subscriptions. invoiceitemPlan'Active :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | aggregate_usage: Specifies a usage aggregation strategy for plans of \`usage_type=metered\`. Allowed values are \`sum\` for summing up all usage during a period, \`last_during_period\` for using the last usage record reported within a period, \`last_ever\` for using the last usage record ever (across period bounds) or \`max\` which uses the usage record with the maximum reported usage during a period. Defaults to \`sum\`. , invoiceitemPlan'AggregateUsage :: (GHC.Maybe.Maybe InvoiceitemPlan'AggregateUsage') -- | amount: The amount in %s to be charged on the interval specified. , invoiceitemPlan'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | amount_decimal: Same as \`amount\`, but contains a decimal value with at most 12 decimal places. , invoiceitemPlan'AmountDecimal :: (GHC.Maybe.Maybe GHC.Base.String) -- | billing_scheme: Describes how to compute the price per period. Either \`per_unit\` or \`tiered\`. \`per_unit\` indicates that the fixed amount (specified in \`amount\`) will be charged per unit in \`quantity\` (for plans with \`usage_type=licensed\`), or per unit of total usage (for plans with \`usage_type=metered\`). \`tiered\` indicates that the unit pricing will be computed using a tiering strategy as defined using the \`tiers\` and \`tiers_mode\` attributes. , invoiceitemPlan'BillingScheme :: (GHC.Maybe.Maybe InvoiceitemPlan'BillingScheme') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , invoiceitemPlan'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | 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). , invoiceitemPlan'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceitemPlan'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | interval: The frequency at which a subscription is billed. One of \`day\`, \`week\`, \`month\` or \`year\`. , invoiceitemPlan'Interval :: (GHC.Maybe.Maybe InvoiceitemPlan'Interval') -- | interval_count: The number of intervals (specified in the \`interval\` attribute) between subscription billings. For example, \`interval=month\` and \`interval_count=3\` bills every 3 months. , invoiceitemPlan'IntervalCount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , invoiceitemPlan'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , invoiceitemPlan'Metadata :: (GHC.Maybe.Maybe InvoiceitemPlan'Metadata') -- | nickname: A brief description of the plan, hidden from customers. -- -- Constraints: -- -- * Maximum length of 5000 , invoiceitemPlan'Nickname :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , invoiceitemPlan'Object :: (GHC.Maybe.Maybe InvoiceitemPlan'Object') -- | product: The product whose pricing this plan determines. , invoiceitemPlan'Product :: (GHC.Maybe.Maybe InvoiceitemPlan'Product'Variants) -- | tiers: Each element represents a pricing tier. This parameter requires \`billing_scheme\` to be set to \`tiered\`. See also the documentation for \`billing_scheme\`. , invoiceitemPlan'Tiers :: (GHC.Maybe.Maybe ([] PlanTier)) -- | tiers_mode: Defines if the tiering price should be \`graduated\` or \`volume\` based. In \`volume\`-based tiering, the maximum quantity within a period determines the per unit price. In \`graduated\` tiering, pricing can change as the quantity grows. , invoiceitemPlan'TiersMode :: (GHC.Maybe.Maybe InvoiceitemPlan'TiersMode') -- | transform_usage: Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with \`tiers\`. , invoiceitemPlan'TransformUsage :: (GHC.Maybe.Maybe InvoiceitemPlan'TransformUsage') -- | trial_period_days: Default number of trial days when subscribing a customer to this plan using [\`trial_from_plan=true\`](https:\/\/stripe.com\/docs\/api\#create_subscription-trial_from_plan). , invoiceitemPlan'TrialPeriodDays :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | usage_type: Configures how the quantity per period should be determined. Can be either \`metered\` or \`licensed\`. \`licensed\` automatically bills the \`quantity\` set when adding it to a subscription. \`metered\` aggregates the total usage based on usage records. Defaults to \`licensed\`. , invoiceitemPlan'UsageType :: (GHC.Maybe.Maybe InvoiceitemPlan'UsageType') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "active" (invoiceitemPlan'Active obj) : (Data.Aeson..=) "aggregate_usage" (invoiceitemPlan'AggregateUsage obj) : (Data.Aeson..=) "amount" (invoiceitemPlan'Amount obj) : (Data.Aeson..=) "amount_decimal" (invoiceitemPlan'AmountDecimal obj) : (Data.Aeson..=) "billing_scheme" (invoiceitemPlan'BillingScheme obj) : (Data.Aeson..=) "created" (invoiceitemPlan'Created obj) : (Data.Aeson..=) "currency" (invoiceitemPlan'Currency obj) : (Data.Aeson..=) "id" (invoiceitemPlan'Id obj) : (Data.Aeson..=) "interval" (invoiceitemPlan'Interval obj) : (Data.Aeson..=) "interval_count" (invoiceitemPlan'IntervalCount obj) : (Data.Aeson..=) "livemode" (invoiceitemPlan'Livemode obj) : (Data.Aeson..=) "metadata" (invoiceitemPlan'Metadata obj) : (Data.Aeson..=) "nickname" (invoiceitemPlan'Nickname obj) : (Data.Aeson..=) "object" (invoiceitemPlan'Object obj) : (Data.Aeson..=) "product" (invoiceitemPlan'Product obj) : (Data.Aeson..=) "tiers" (invoiceitemPlan'Tiers obj) : (Data.Aeson..=) "tiers_mode" (invoiceitemPlan'TiersMode obj) : (Data.Aeson..=) "transform_usage" (invoiceitemPlan'TransformUsage obj) : (Data.Aeson..=) "trial_period_days" (invoiceitemPlan'TrialPeriodDays obj) : (Data.Aeson..=) "usage_type" (invoiceitemPlan'UsageType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "active" (invoiceitemPlan'Active obj) GHC.Base.<> ((Data.Aeson..=) "aggregate_usage" (invoiceitemPlan'AggregateUsage obj) GHC.Base.<> ((Data.Aeson..=) "amount" (invoiceitemPlan'Amount obj) GHC.Base.<> ((Data.Aeson..=) "amount_decimal" (invoiceitemPlan'AmountDecimal obj) GHC.Base.<> ((Data.Aeson..=) "billing_scheme" (invoiceitemPlan'BillingScheme obj) GHC.Base.<> ((Data.Aeson..=) "created" (invoiceitemPlan'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (invoiceitemPlan'Currency obj) GHC.Base.<> ((Data.Aeson..=) "id" (invoiceitemPlan'Id obj) GHC.Base.<> ((Data.Aeson..=) "interval" (invoiceitemPlan'Interval obj) GHC.Base.<> ((Data.Aeson..=) "interval_count" (invoiceitemPlan'IntervalCount obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (invoiceitemPlan'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (invoiceitemPlan'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "nickname" (invoiceitemPlan'Nickname obj) GHC.Base.<> ((Data.Aeson..=) "object" (invoiceitemPlan'Object obj) GHC.Base.<> ((Data.Aeson..=) "product" (invoiceitemPlan'Product obj) GHC.Base.<> ((Data.Aeson..=) "tiers" (invoiceitemPlan'Tiers obj) GHC.Base.<> ((Data.Aeson..=) "tiers_mode" (invoiceitemPlan'TiersMode obj) GHC.Base.<> ((Data.Aeson..=) "transform_usage" (invoiceitemPlan'TransformUsage obj) GHC.Base.<> ((Data.Aeson..=) "trial_period_days" (invoiceitemPlan'TrialPeriodDays obj) GHC.Base.<> (Data.Aeson..=) "usage_type" (invoiceitemPlan'UsageType obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceitemPlan' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceitemPlan'" (\obj -> (((((((((((((((((((GHC.Base.pure InvoiceitemPlan' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "aggregate_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_decimal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_scheme")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval_count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "nickname")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tiers")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tiers_mode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transform_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_period_days")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage_type")) -- | Defines the enum schema invoiceitemPlan\'Aggregate_usage\' -- -- Specifies a usage aggregation strategy for plans of \`usage_type=metered\`. Allowed values are \`sum\` for summing up all usage during a period, \`last_during_period\` for using the last usage record reported within a period, \`last_ever\` for using the last usage record ever (across period bounds) or \`max\` which uses the usage record with the maximum reported usage during a period. Defaults to \`sum\`. data InvoiceitemPlan'AggregateUsage' = InvoiceitemPlan'AggregateUsage'EnumOther Data.Aeson.Types.Internal.Value | InvoiceitemPlan'AggregateUsage'EnumTyped GHC.Base.String | InvoiceitemPlan'AggregateUsage'EnumStringLastDuringPeriod | InvoiceitemPlan'AggregateUsage'EnumStringLastEver | InvoiceitemPlan'AggregateUsage'EnumStringMax | InvoiceitemPlan'AggregateUsage'EnumStringSum deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'AggregateUsage' where toJSON (InvoiceitemPlan'AggregateUsage'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'AggregateUsage'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'AggregateUsage'EnumStringLastDuringPeriod) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_during_period" toJSON (InvoiceitemPlan'AggregateUsage'EnumStringLastEver) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_ever" toJSON (InvoiceitemPlan'AggregateUsage'EnumStringMax) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "max" toJSON (InvoiceitemPlan'AggregateUsage'EnumStringSum) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sum" instance Data.Aeson.FromJSON InvoiceitemPlan'AggregateUsage' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_during_period") then InvoiceitemPlan'AggregateUsage'EnumStringLastDuringPeriod else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_ever") then InvoiceitemPlan'AggregateUsage'EnumStringLastEver else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "max") then InvoiceitemPlan'AggregateUsage'EnumStringMax else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sum") then InvoiceitemPlan'AggregateUsage'EnumStringSum else InvoiceitemPlan'AggregateUsage'EnumOther val) -- | Defines the enum schema invoiceitemPlan\'Billing_scheme\' -- -- Describes how to compute the price per period. Either \`per_unit\` or \`tiered\`. \`per_unit\` indicates that the fixed amount (specified in \`amount\`) will be charged per unit in \`quantity\` (for plans with \`usage_type=licensed\`), or per unit of total usage (for plans with \`usage_type=metered\`). \`tiered\` indicates that the unit pricing will be computed using a tiering strategy as defined using the \`tiers\` and \`tiers_mode\` attributes. data InvoiceitemPlan'BillingScheme' = InvoiceitemPlan'BillingScheme'EnumOther Data.Aeson.Types.Internal.Value | InvoiceitemPlan'BillingScheme'EnumTyped GHC.Base.String | InvoiceitemPlan'BillingScheme'EnumStringPerUnit | InvoiceitemPlan'BillingScheme'EnumStringTiered deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'BillingScheme' where toJSON (InvoiceitemPlan'BillingScheme'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'BillingScheme'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'BillingScheme'EnumStringPerUnit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "per_unit" toJSON (InvoiceitemPlan'BillingScheme'EnumStringTiered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tiered" instance Data.Aeson.FromJSON InvoiceitemPlan'BillingScheme' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "per_unit") then InvoiceitemPlan'BillingScheme'EnumStringPerUnit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tiered") then InvoiceitemPlan'BillingScheme'EnumStringTiered else InvoiceitemPlan'BillingScheme'EnumOther val) -- | Defines the enum schema invoiceitemPlan\'Interval\' -- -- The frequency at which a subscription is billed. One of \`day\`, \`week\`, \`month\` or \`year\`. data InvoiceitemPlan'Interval' = InvoiceitemPlan'Interval'EnumOther Data.Aeson.Types.Internal.Value | InvoiceitemPlan'Interval'EnumTyped GHC.Base.String | InvoiceitemPlan'Interval'EnumStringDay | InvoiceitemPlan'Interval'EnumStringMonth | InvoiceitemPlan'Interval'EnumStringWeek | InvoiceitemPlan'Interval'EnumStringYear deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'Interval' where toJSON (InvoiceitemPlan'Interval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'Interval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'Interval'EnumStringDay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day" toJSON (InvoiceitemPlan'Interval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" toJSON (InvoiceitemPlan'Interval'EnumStringWeek) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week" toJSON (InvoiceitemPlan'Interval'EnumStringYear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year" instance Data.Aeson.FromJSON InvoiceitemPlan'Interval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day") then InvoiceitemPlan'Interval'EnumStringDay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then InvoiceitemPlan'Interval'EnumStringMonth else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week") then InvoiceitemPlan'Interval'EnumStringWeek else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year") then InvoiceitemPlan'Interval'EnumStringYear else InvoiceitemPlan'Interval'EnumOther val) -- | Defines the data type for the schema invoiceitemPlan\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data InvoiceitemPlan'Metadata' = InvoiceitemPlan'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceitemPlan'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceitemPlan'Metadata'" (\obj -> GHC.Base.pure InvoiceitemPlan'Metadata') -- | Defines the enum schema invoiceitemPlan\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data InvoiceitemPlan'Object' = InvoiceitemPlan'Object'EnumOther Data.Aeson.Types.Internal.Value | InvoiceitemPlan'Object'EnumTyped GHC.Base.String | InvoiceitemPlan'Object'EnumStringPlan deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'Object' where toJSON (InvoiceitemPlan'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'Object'EnumStringPlan) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plan" instance Data.Aeson.FromJSON InvoiceitemPlan'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plan") then InvoiceitemPlan'Object'EnumStringPlan else InvoiceitemPlan'Object'EnumOther val) -- | Define the one-of schema invoiceitemPlan\'Product\' -- -- The product whose pricing this plan determines. data InvoiceitemPlan'Product'Variants = InvoiceitemPlan'Product'DeletedProduct DeletedProduct | InvoiceitemPlan'Product'Product Product | InvoiceitemPlan'Product'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceitemPlan'Product'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceitemPlan'Product'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema invoiceitemPlan\'Tiers_mode\' -- -- Defines if the tiering price should be \`graduated\` or \`volume\` based. In \`volume\`-based tiering, the maximum quantity within a period determines the per unit price. In \`graduated\` tiering, pricing can change as the quantity grows. data InvoiceitemPlan'TiersMode' = InvoiceitemPlan'TiersMode'EnumOther Data.Aeson.Types.Internal.Value | InvoiceitemPlan'TiersMode'EnumTyped GHC.Base.String | InvoiceitemPlan'TiersMode'EnumStringGraduated | InvoiceitemPlan'TiersMode'EnumStringVolume deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'TiersMode' where toJSON (InvoiceitemPlan'TiersMode'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'TiersMode'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'TiersMode'EnumStringGraduated) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "graduated" toJSON (InvoiceitemPlan'TiersMode'EnumStringVolume) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "volume" instance Data.Aeson.FromJSON InvoiceitemPlan'TiersMode' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "graduated") then InvoiceitemPlan'TiersMode'EnumStringGraduated else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "volume") then InvoiceitemPlan'TiersMode'EnumStringVolume else InvoiceitemPlan'TiersMode'EnumOther val) -- | Defines the data type for the schema invoiceitemPlan\'Transform_usage\' -- -- Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with \\\`tiers\\\`. data InvoiceitemPlan'TransformUsage' = InvoiceitemPlan'TransformUsage' { -- | divide_by: Divide usage by this number. invoiceitemPlan'TransformUsage'DivideBy :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | round: After division, either round the result \`up\` or \`down\`. , invoiceitemPlan'TransformUsage'Round :: (GHC.Maybe.Maybe InvoiceitemPlan'TransformUsage'Round') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'TransformUsage' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "divide_by" (invoiceitemPlan'TransformUsage'DivideBy obj) : (Data.Aeson..=) "round" (invoiceitemPlan'TransformUsage'Round obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "divide_by" (invoiceitemPlan'TransformUsage'DivideBy obj) GHC.Base.<> (Data.Aeson..=) "round" (invoiceitemPlan'TransformUsage'Round obj)) instance Data.Aeson.Types.FromJSON.FromJSON InvoiceitemPlan'TransformUsage' where parseJSON = Data.Aeson.Types.FromJSON.withObject "InvoiceitemPlan'TransformUsage'" (\obj -> (GHC.Base.pure InvoiceitemPlan'TransformUsage' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "divide_by")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "round")) -- | Defines the enum schema invoiceitemPlan\'Transform_usage\'Round\' -- -- After division, either round the result \`up\` or \`down\`. data InvoiceitemPlan'TransformUsage'Round' = InvoiceitemPlan'TransformUsage'Round'EnumOther Data.Aeson.Types.Internal.Value | InvoiceitemPlan'TransformUsage'Round'EnumTyped GHC.Base.String | InvoiceitemPlan'TransformUsage'Round'EnumStringDown | InvoiceitemPlan'TransformUsage'Round'EnumStringUp deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'TransformUsage'Round' where toJSON (InvoiceitemPlan'TransformUsage'Round'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'TransformUsage'Round'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'TransformUsage'Round'EnumStringDown) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "down" toJSON (InvoiceitemPlan'TransformUsage'Round'EnumStringUp) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "up" instance Data.Aeson.FromJSON InvoiceitemPlan'TransformUsage'Round' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "down") then InvoiceitemPlan'TransformUsage'Round'EnumStringDown else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "up") then InvoiceitemPlan'TransformUsage'Round'EnumStringUp else InvoiceitemPlan'TransformUsage'Round'EnumOther val) -- | Defines the enum schema invoiceitemPlan\'Usage_type\' -- -- Configures how the quantity per period should be determined. Can be either \`metered\` or \`licensed\`. \`licensed\` automatically bills the \`quantity\` set when adding it to a subscription. \`metered\` aggregates the total usage based on usage records. Defaults to \`licensed\`. data InvoiceitemPlan'UsageType' = InvoiceitemPlan'UsageType'EnumOther Data.Aeson.Types.Internal.Value | InvoiceitemPlan'UsageType'EnumTyped GHC.Base.String | InvoiceitemPlan'UsageType'EnumStringLicensed | InvoiceitemPlan'UsageType'EnumStringMetered deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON InvoiceitemPlan'UsageType' where toJSON (InvoiceitemPlan'UsageType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'UsageType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (InvoiceitemPlan'UsageType'EnumStringLicensed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "licensed" toJSON (InvoiceitemPlan'UsageType'EnumStringMetered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metered" instance Data.Aeson.FromJSON InvoiceitemPlan'UsageType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "licensed") then InvoiceitemPlan'UsageType'EnumStringLicensed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metered") then InvoiceitemPlan'UsageType'EnumStringMetered else InvoiceitemPlan'UsageType'EnumOther val) -- | Define the one-of schema invoiceitemSubscription\' -- -- The subscription that this invoice item has been created for, if any. data InvoiceitemSubscription'Variants = InvoiceitemSubscription'Subscription Subscription | InvoiceitemSubscription'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON InvoiceitemSubscription'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON InvoiceitemSubscription'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuer_fraud_record -- -- This resource has been renamed to [Early Fraud -- Warning](\#early_fraud_warning_object) and will be removed in a future API -- version. data IssuerFraudRecord = IssuerFraudRecord { -- | actionable: An IFR is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an IFR, in order to avoid receiving a dispute later. issuerFraudRecordActionable :: GHC.Types.Bool -- | charge: ID of the charge this issuer fraud record is for, optionally expanded. , issuerFraudRecordCharge :: IssuerFraudRecordCharge'Variants -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , issuerFraudRecordCreated :: GHC.Integer.Type.Integer -- | fraud_type: The type of fraud labelled by the issuer. One of \`card_never_received\`, \`fraudulent_card_application\`, \`made_with_counterfeit_card\`, \`made_with_lost_card\`, \`made_with_stolen_card\`, \`misc\`, \`unauthorized_use_of_card\`. -- -- Constraints: -- -- * Maximum length of 5000 , issuerFraudRecordFraudType :: GHC.Base.String -- | has_liability_shift: If true, the associated charge is subject to [liability shift](https:\/\/stripe.com\/docs\/sources\/three-d-secure\#disputed-payments). , issuerFraudRecordHasLiabilityShift :: GHC.Types.Bool -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , issuerFraudRecordId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , issuerFraudRecordLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuerFraudRecordObject :: IssuerFraudRecordObject' -- | post_date: The timestamp at which the card issuer posted the issuer fraud record. , issuerFraudRecordPostDate :: GHC.Integer.Type.Integer } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuerFraudRecord where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "actionable" (issuerFraudRecordActionable obj) : (Data.Aeson..=) "charge" (issuerFraudRecordCharge obj) : (Data.Aeson..=) "created" (issuerFraudRecordCreated obj) : (Data.Aeson..=) "fraud_type" (issuerFraudRecordFraudType obj) : (Data.Aeson..=) "has_liability_shift" (issuerFraudRecordHasLiabilityShift obj) : (Data.Aeson..=) "id" (issuerFraudRecordId obj) : (Data.Aeson..=) "livemode" (issuerFraudRecordLivemode obj) : (Data.Aeson..=) "object" (issuerFraudRecordObject obj) : (Data.Aeson..=) "post_date" (issuerFraudRecordPostDate obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "actionable" (issuerFraudRecordActionable obj) GHC.Base.<> ((Data.Aeson..=) "charge" (issuerFraudRecordCharge obj) GHC.Base.<> ((Data.Aeson..=) "created" (issuerFraudRecordCreated obj) GHC.Base.<> ((Data.Aeson..=) "fraud_type" (issuerFraudRecordFraudType obj) GHC.Base.<> ((Data.Aeson..=) "has_liability_shift" (issuerFraudRecordHasLiabilityShift obj) GHC.Base.<> ((Data.Aeson..=) "id" (issuerFraudRecordId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (issuerFraudRecordLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (issuerFraudRecordObject obj) GHC.Base.<> (Data.Aeson..=) "post_date" (issuerFraudRecordPostDate obj))))))))) instance Data.Aeson.Types.FromJSON.FromJSON IssuerFraudRecord where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuerFraudRecord" (\obj -> ((((((((GHC.Base.pure IssuerFraudRecord GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "actionable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fraud_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_liability_shift")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "post_date")) -- | Define the one-of schema issuer_fraud_recordCharge\' -- -- ID of the charge this issuer fraud record is for, optionally expanded. data IssuerFraudRecordCharge'Variants = IssuerFraudRecordCharge'Charge Charge | IssuerFraudRecordCharge'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuerFraudRecordCharge'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuerFraudRecordCharge'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema issuer_fraud_recordObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data IssuerFraudRecordObject' = IssuerFraudRecordObject'EnumOther Data.Aeson.Types.Internal.Value | IssuerFraudRecordObject'EnumTyped GHC.Base.String | IssuerFraudRecordObject'EnumStringIssuerFraudRecord deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuerFraudRecordObject' where toJSON (IssuerFraudRecordObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (IssuerFraudRecordObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (IssuerFraudRecordObject'EnumStringIssuerFraudRecord) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuer_fraud_record" instance Data.Aeson.FromJSON IssuerFraudRecordObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuer_fraud_record") then IssuerFraudRecordObject'EnumStringIssuerFraudRecord else IssuerFraudRecordObject'EnumOther val) -- | Defines the data type for the schema issuing.authorization -- -- When an [issued card](https:\/\/stripe.com\/docs\/issuing) is used to make a purchase, an Issuing \`Authorization\` -- object is created. [Authorizations](https:\/\/stripe.com\/docs\/issuing\/authorizations) must be approved for the -- purchase to be completed successfully. -- -- Related guide: [Issued Card Authorizations](https:\/\/stripe.com\/docs\/issuing\/authorizations). data Issuing'authorization = Issuing'authorization { -- | approved: Whether the authorization has been approved. issuing'authorizationApproved :: GHC.Types.Bool -- | authorization_method: How the card details were provided. , issuing'authorizationAuthorizationMethod :: Issuing'authorizationAuthorizationMethod' -- | authorized_amount: The amount that has been authorized. This will be \`0\` when the object is created, and increase after it has been approved. , issuing'authorizationAuthorizedAmount :: GHC.Integer.Type.Integer -- | authorized_currency: The currency that was presented to the cardholder for the authorization. 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'authorizationAuthorizedCurrency :: GHC.Base.String -- | balance_transactions: List of balance transactions associated with this authorization. , issuing'authorizationBalanceTransactions :: ([] BalanceTransaction) -- | card: You can [create physical or virtual cards](https:\/\/stripe.com\/docs\/issuing\/cards) that are issued to cardholders. , issuing'authorizationCard :: Issuing'card -- | cardholder: The cardholder to whom this authorization belongs. , issuing'authorizationCardholder :: (GHC.Maybe.Maybe Issuing'authorizationCardholder'Variants) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , issuing'authorizationCreated :: GHC.Integer.Type.Integer -- | held_amount: The amount the authorization is expected to be in \`held_currency\`. When Stripe holds funds from you, this is the amount reserved for the authorization. This will be \`0\` when the object is created, and increase after it has been approved. For multi-currency transactions, \`held_amount\` can be used to determine the expected exchange rate. , issuing'authorizationHeldAmount :: GHC.Integer.Type.Integer -- | held_currency: The currency of the [held amount](https:\/\/stripe.com\/docs\/api\#issuing_authorization_object-held_amount). This will always be the card currency. , issuing'authorizationHeldCurrency :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'authorizationId :: GHC.Base.String -- | is_held_amount_controllable: If set \`true\`, you may provide [held_amount](https:\/\/stripe.com\/docs\/api\/issuing\/authorizations\/approve\#approve_issuing_authorization-held_amount) to control how much to hold for the authorization. , issuing'authorizationIsHeldAmountControllable :: GHC.Types.Bool -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , issuing'authorizationLivemode :: GHC.Types.Bool -- | merchant_data: , issuing'authorizationMerchantData :: IssuingAuthorizationMerchantData -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , issuing'authorizationMetadata :: Issuing'authorizationMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuing'authorizationObject :: Issuing'authorizationObject' -- | pending_authorized_amount: The amount the user is requesting to be authorized. This field will only be non-zero during an \`issuing.authorization.request\` webhook. , issuing'authorizationPendingAuthorizedAmount :: GHC.Integer.Type.Integer -- | pending_held_amount: The additional amount Stripe will hold if the authorization is approved. This field will only be non-zero during an \`issuing.authorization.request\` webhook. , issuing'authorizationPendingHeldAmount :: GHC.Integer.Type.Integer -- | request_history: History of every time the authorization was approved\/denied (whether approved\/denied by you directly, or by Stripe based on your authorization_controls). If the merchant changes the authorization by performing an [incremental authorization or partial capture](https:\/\/stripe.com\/docs\/issuing\/authorizations\/special_scenarios\#incremental-authorizations), you can look at request_history to see the previous states of the authorization. , issuing'authorizationRequestHistory :: ([] IssuingAuthorizationRequest) -- | status: The current status of the authorization in its lifecycle. , issuing'authorizationStatus :: Issuing'authorizationStatus' -- | transactions: List of [transactions](https:\/\/stripe.com\/docs\/api\/issuing\/transactions) associated with this authorization. , issuing'authorizationTransactions :: ([] Issuing'transaction) -- | verification_data: , issuing'authorizationVerificationData :: IssuingAuthorizationVerificationData -- | wallet_provider: What, if any, digital wallet was used for this authorization. One of \`apple_pay\`, \`google_pay\`, or \`samsung_pay\`. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'authorizationWalletProvider :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'authorization where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "approved" (issuing'authorizationApproved obj) : (Data.Aeson..=) "authorization_method" (issuing'authorizationAuthorizationMethod obj) : (Data.Aeson..=) "authorized_amount" (issuing'authorizationAuthorizedAmount obj) : (Data.Aeson..=) "authorized_currency" (issuing'authorizationAuthorizedCurrency obj) : (Data.Aeson..=) "balance_transactions" (issuing'authorizationBalanceTransactions obj) : (Data.Aeson..=) "card" (issuing'authorizationCard obj) : (Data.Aeson..=) "cardholder" (issuing'authorizationCardholder obj) : (Data.Aeson..=) "created" (issuing'authorizationCreated obj) : (Data.Aeson..=) "held_amount" (issuing'authorizationHeldAmount obj) : (Data.Aeson..=) "held_currency" (issuing'authorizationHeldCurrency obj) : (Data.Aeson..=) "id" (issuing'authorizationId obj) : (Data.Aeson..=) "is_held_amount_controllable" (issuing'authorizationIsHeldAmountControllable obj) : (Data.Aeson..=) "livemode" (issuing'authorizationLivemode obj) : (Data.Aeson..=) "merchant_data" (issuing'authorizationMerchantData obj) : (Data.Aeson..=) "metadata" (issuing'authorizationMetadata obj) : (Data.Aeson..=) "object" (issuing'authorizationObject obj) : (Data.Aeson..=) "pending_authorized_amount" (issuing'authorizationPendingAuthorizedAmount obj) : (Data.Aeson..=) "pending_held_amount" (issuing'authorizationPendingHeldAmount obj) : (Data.Aeson..=) "request_history" (issuing'authorizationRequestHistory obj) : (Data.Aeson..=) "status" (issuing'authorizationStatus obj) : (Data.Aeson..=) "transactions" (issuing'authorizationTransactions obj) : (Data.Aeson..=) "verification_data" (issuing'authorizationVerificationData obj) : (Data.Aeson..=) "wallet_provider" (issuing'authorizationWalletProvider obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "approved" (issuing'authorizationApproved obj) GHC.Base.<> ((Data.Aeson..=) "authorization_method" (issuing'authorizationAuthorizationMethod obj) GHC.Base.<> ((Data.Aeson..=) "authorized_amount" (issuing'authorizationAuthorizedAmount obj) GHC.Base.<> ((Data.Aeson..=) "authorized_currency" (issuing'authorizationAuthorizedCurrency obj) GHC.Base.<> ((Data.Aeson..=) "balance_transactions" (issuing'authorizationBalanceTransactions obj) GHC.Base.<> ((Data.Aeson..=) "card" (issuing'authorizationCard obj) GHC.Base.<> ((Data.Aeson..=) "cardholder" (issuing'authorizationCardholder obj) GHC.Base.<> ((Data.Aeson..=) "created" (issuing'authorizationCreated obj) GHC.Base.<> ((Data.Aeson..=) "held_amount" (issuing'authorizationHeldAmount obj) GHC.Base.<> ((Data.Aeson..=) "held_currency" (issuing'authorizationHeldCurrency obj) GHC.Base.<> ((Data.Aeson..=) "id" (issuing'authorizationId obj) GHC.Base.<> ((Data.Aeson..=) "is_held_amount_controllable" (issuing'authorizationIsHeldAmountControllable obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (issuing'authorizationLivemode obj) GHC.Base.<> ((Data.Aeson..=) "merchant_data" (issuing'authorizationMerchantData obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (issuing'authorizationMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (issuing'authorizationObject obj) GHC.Base.<> ((Data.Aeson..=) "pending_authorized_amount" (issuing'authorizationPendingAuthorizedAmount obj) GHC.Base.<> ((Data.Aeson..=) "pending_held_amount" (issuing'authorizationPendingHeldAmount obj) GHC.Base.<> ((Data.Aeson..=) "request_history" (issuing'authorizationRequestHistory obj) GHC.Base.<> ((Data.Aeson..=) "status" (issuing'authorizationStatus obj) GHC.Base.<> ((Data.Aeson..=) "transactions" (issuing'authorizationTransactions obj) GHC.Base.<> ((Data.Aeson..=) "verification_data" (issuing'authorizationVerificationData obj) GHC.Base.<> (Data.Aeson..=) "wallet_provider" (issuing'authorizationWalletProvider obj))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'authorization where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'authorization" (\obj -> ((((((((((((((((((((((GHC.Base.pure Issuing'authorization GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "approved")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "authorization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "authorized_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "authorized_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "balance_transactions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cardholder")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "held_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "held_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "is_held_amount_controllable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "merchant_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "pending_authorized_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "pending_held_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "request_history")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "transactions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "verification_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wallet_provider")) -- | Defines the enum schema issuing.authorizationAuthorization_method\' -- -- How the card details were provided. data Issuing'authorizationAuthorizationMethod' = Issuing'authorizationAuthorizationMethod'EnumOther Data.Aeson.Types.Internal.Value | Issuing'authorizationAuthorizationMethod'EnumTyped GHC.Base.String | Issuing'authorizationAuthorizationMethod'EnumStringChip | Issuing'authorizationAuthorizationMethod'EnumStringContactless | Issuing'authorizationAuthorizationMethod'EnumStringKeyedIn | Issuing'authorizationAuthorizationMethod'EnumStringOnline | Issuing'authorizationAuthorizationMethod'EnumStringSwipe deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'authorizationAuthorizationMethod' where toJSON (Issuing'authorizationAuthorizationMethod'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'authorizationAuthorizationMethod'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'authorizationAuthorizationMethod'EnumStringChip) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chip" toJSON (Issuing'authorizationAuthorizationMethod'EnumStringContactless) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "contactless" toJSON (Issuing'authorizationAuthorizationMethod'EnumStringKeyedIn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "keyed_in" toJSON (Issuing'authorizationAuthorizationMethod'EnumStringOnline) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "online" toJSON (Issuing'authorizationAuthorizationMethod'EnumStringSwipe) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swipe" instance Data.Aeson.FromJSON Issuing'authorizationAuthorizationMethod' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chip") then Issuing'authorizationAuthorizationMethod'EnumStringChip else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "contactless") then Issuing'authorizationAuthorizationMethod'EnumStringContactless else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "keyed_in") then Issuing'authorizationAuthorizationMethod'EnumStringKeyedIn else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "online") then Issuing'authorizationAuthorizationMethod'EnumStringOnline else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swipe") then Issuing'authorizationAuthorizationMethod'EnumStringSwipe else Issuing'authorizationAuthorizationMethod'EnumOther val) -- | Define the one-of schema issuing.authorizationCardholder\' -- -- The cardholder to whom this authorization belongs. data Issuing'authorizationCardholder'Variants = Issuing'authorizationCardholder'Issuing'cardholder Issuing'cardholder | Issuing'authorizationCardholder'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'authorizationCardholder'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'authorizationCardholder'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing.authorizationMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data Issuing'authorizationMetadata' = Issuing'authorizationMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'authorizationMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'authorizationMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'authorizationMetadata'" (\obj -> GHC.Base.pure Issuing'authorizationMetadata') -- | Defines the enum schema issuing.authorizationObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Issuing'authorizationObject' = Issuing'authorizationObject'EnumOther Data.Aeson.Types.Internal.Value | Issuing'authorizationObject'EnumTyped GHC.Base.String | Issuing'authorizationObject'EnumStringIssuing'authorization deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'authorizationObject' where toJSON (Issuing'authorizationObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'authorizationObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'authorizationObject'EnumStringIssuing'authorization) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.authorization" instance Data.Aeson.FromJSON Issuing'authorizationObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.authorization") then Issuing'authorizationObject'EnumStringIssuing'authorization else Issuing'authorizationObject'EnumOther val) -- | Defines the enum schema issuing.authorizationStatus\' -- -- The current status of the authorization in its lifecycle. data Issuing'authorizationStatus' = Issuing'authorizationStatus'EnumOther Data.Aeson.Types.Internal.Value | Issuing'authorizationStatus'EnumTyped GHC.Base.String | Issuing'authorizationStatus'EnumStringClosed | Issuing'authorizationStatus'EnumStringPending | Issuing'authorizationStatus'EnumStringReversed deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'authorizationStatus' where toJSON (Issuing'authorizationStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'authorizationStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'authorizationStatus'EnumStringClosed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "closed" toJSON (Issuing'authorizationStatus'EnumStringPending) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending" toJSON (Issuing'authorizationStatus'EnumStringReversed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reversed" instance Data.Aeson.FromJSON Issuing'authorizationStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "closed") then Issuing'authorizationStatus'EnumStringClosed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending") then Issuing'authorizationStatus'EnumStringPending else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reversed") then Issuing'authorizationStatus'EnumStringReversed else Issuing'authorizationStatus'EnumOther val) -- | Defines the data type for the schema issuing.card -- -- You can [create physical or virtual cards](https:\/\/stripe.com\/docs\/issuing\/cards) that are issued to cardholders. data Issuing'card = Issuing'card { -- | authorization_controls: issuing'cardAuthorizationControls :: IssuingCardAuthorizationControls -- | brand: The brand of the card. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardBrand :: GHC.Base.String -- | cardholder: The [Cardholder](https:\/\/stripe.com\/docs\/api\#issuing_cardholder_object) object to which the card belongs. , issuing'cardCardholder :: (GHC.Maybe.Maybe Issuing'cardCardholder') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , issuing'cardCreated :: GHC.Integer.Type.Integer -- | 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 :: GHC.Base.String -- | exp_month: The expiration month of the card. , issuing'cardExpMonth :: GHC.Integer.Type.Integer -- | exp_year: The expiration year of the card. , issuing'cardExpYear :: GHC.Integer.Type.Integer -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardId :: GHC.Base.String -- | last4: The last 4 digits of the card number. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardLast4 :: GHC.Base.String -- | 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 that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , issuing'cardMetadata :: Issuing'cardMetadata' -- | name: The name of the cardholder, printed on the card. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardName :: GHC.Base.String -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuing'cardObject :: Issuing'cardObject' -- | pin: Metadata about the PIN on the card. , issuing'cardPin :: (GHC.Maybe.Maybe Issuing'cardPin') -- | 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') -- | 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.ToJSON Issuing'card where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "authorization_controls" (issuing'cardAuthorizationControls obj) : (Data.Aeson..=) "brand" (issuing'cardBrand obj) : (Data.Aeson..=) "cardholder" (issuing'cardCardholder obj) : (Data.Aeson..=) "created" (issuing'cardCreated obj) : (Data.Aeson..=) "currency" (issuing'cardCurrency obj) : (Data.Aeson..=) "exp_month" (issuing'cardExpMonth obj) : (Data.Aeson..=) "exp_year" (issuing'cardExpYear obj) : (Data.Aeson..=) "id" (issuing'cardId obj) : (Data.Aeson..=) "last4" (issuing'cardLast4 obj) : (Data.Aeson..=) "livemode" (issuing'cardLivemode obj) : (Data.Aeson..=) "metadata" (issuing'cardMetadata obj) : (Data.Aeson..=) "name" (issuing'cardName obj) : (Data.Aeson..=) "object" (issuing'cardObject obj) : (Data.Aeson..=) "pin" (issuing'cardPin obj) : (Data.Aeson..=) "replacement_for" (issuing'cardReplacementFor obj) : (Data.Aeson..=) "replacement_reason" (issuing'cardReplacementReason obj) : (Data.Aeson..=) "shipping" (issuing'cardShipping obj) : (Data.Aeson..=) "status" (issuing'cardStatus obj) : (Data.Aeson..=) "type" (issuing'cardType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "authorization_controls" (issuing'cardAuthorizationControls obj) GHC.Base.<> ((Data.Aeson..=) "brand" (issuing'cardBrand obj) GHC.Base.<> ((Data.Aeson..=) "cardholder" (issuing'cardCardholder obj) GHC.Base.<> ((Data.Aeson..=) "created" (issuing'cardCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (issuing'cardCurrency obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (issuing'cardExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (issuing'cardExpYear obj) GHC.Base.<> ((Data.Aeson..=) "id" (issuing'cardId obj) GHC.Base.<> ((Data.Aeson..=) "last4" (issuing'cardLast4 obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (issuing'cardLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (issuing'cardMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (issuing'cardName obj) GHC.Base.<> ((Data.Aeson..=) "object" (issuing'cardObject obj) GHC.Base.<> ((Data.Aeson..=) "pin" (issuing'cardPin obj) GHC.Base.<> ((Data.Aeson..=) "replacement_for" (issuing'cardReplacementFor obj) GHC.Base.<> ((Data.Aeson..=) "replacement_reason" (issuing'cardReplacementReason obj) GHC.Base.<> ((Data.Aeson..=) "shipping" (issuing'cardShipping obj) GHC.Base.<> ((Data.Aeson..=) "status" (issuing'cardStatus obj) GHC.Base.<> (Data.Aeson..=) "type" (issuing'cardType obj))))))))))))))))))) 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..: "authorization_controls")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "brand")) 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..: "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..: "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "pin")) 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..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the data type for the schema issuing.cardCardholder\' -- -- The [Cardholder](https:\\\/\\\/stripe.com\\\/docs\\\/api\\\#issuing_cardholder_object) object to which the card belongs. data Issuing'cardCardholder' = Issuing'cardCardholder' { -- | authorization_controls: Spending rules that give you some control over how this cardholder\'s cards can be used. Refer to our [authorizations](https:\/\/stripe.com\/docs\/issuing\/authorizations) documentation for more details. issuing'cardCardholder'AuthorizationControls :: (GHC.Maybe.Maybe Issuing'cardCardholder'AuthorizationControls') -- | billing: , issuing'cardCardholder'Billing :: (GHC.Maybe.Maybe IssuingCardholderAddress) -- | company: Additional information about a \`business_entity\` cardholder. , issuing'cardCardholder'Company :: (GHC.Maybe.Maybe Issuing'cardCardholder'Company') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , issuing'cardCardholder'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | email: The cardholder\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardCardholder'Email :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardCardholder'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | individual: Additional information about an \`individual\` cardholder. , issuing'cardCardholder'Individual :: (GHC.Maybe.Maybe Issuing'cardCardholder'Individual') -- | is_default: Whether or not this cardholder is the default cardholder. , issuing'cardCardholder'IsDefault :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , issuing'cardCardholder'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , issuing'cardCardholder'Metadata :: (GHC.Maybe.Maybe Issuing'cardCardholder'Metadata') -- | name: The cardholder\'s name. This will be printed on cards issued to them. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardCardholder'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuing'cardCardholder'Object :: (GHC.Maybe.Maybe Issuing'cardCardholder'Object') -- | phone_number: The cardholder\'s phone number. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardCardholder'PhoneNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | requirements: , issuing'cardCardholder'Requirements :: (GHC.Maybe.Maybe IssuingCardholderRequirements) -- | status: Specifies whether to permit authorizations on this cardholder\'s cards. , issuing'cardCardholder'Status :: (GHC.Maybe.Maybe Issuing'cardCardholder'Status') -- | type: One of \`individual\` or \`business_entity\`. , issuing'cardCardholder'Type :: (GHC.Maybe.Maybe Issuing'cardCardholder'Type') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "authorization_controls" (issuing'cardCardholder'AuthorizationControls obj) : (Data.Aeson..=) "billing" (issuing'cardCardholder'Billing obj) : (Data.Aeson..=) "company" (issuing'cardCardholder'Company obj) : (Data.Aeson..=) "created" (issuing'cardCardholder'Created obj) : (Data.Aeson..=) "email" (issuing'cardCardholder'Email obj) : (Data.Aeson..=) "id" (issuing'cardCardholder'Id obj) : (Data.Aeson..=) "individual" (issuing'cardCardholder'Individual obj) : (Data.Aeson..=) "is_default" (issuing'cardCardholder'IsDefault obj) : (Data.Aeson..=) "livemode" (issuing'cardCardholder'Livemode obj) : (Data.Aeson..=) "metadata" (issuing'cardCardholder'Metadata obj) : (Data.Aeson..=) "name" (issuing'cardCardholder'Name obj) : (Data.Aeson..=) "object" (issuing'cardCardholder'Object obj) : (Data.Aeson..=) "phone_number" (issuing'cardCardholder'PhoneNumber obj) : (Data.Aeson..=) "requirements" (issuing'cardCardholder'Requirements obj) : (Data.Aeson..=) "status" (issuing'cardCardholder'Status obj) : (Data.Aeson..=) "type" (issuing'cardCardholder'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "authorization_controls" (issuing'cardCardholder'AuthorizationControls obj) GHC.Base.<> ((Data.Aeson..=) "billing" (issuing'cardCardholder'Billing obj) GHC.Base.<> ((Data.Aeson..=) "company" (issuing'cardCardholder'Company obj) GHC.Base.<> ((Data.Aeson..=) "created" (issuing'cardCardholder'Created obj) GHC.Base.<> ((Data.Aeson..=) "email" (issuing'cardCardholder'Email obj) GHC.Base.<> ((Data.Aeson..=) "id" (issuing'cardCardholder'Id obj) GHC.Base.<> ((Data.Aeson..=) "individual" (issuing'cardCardholder'Individual obj) GHC.Base.<> ((Data.Aeson..=) "is_default" (issuing'cardCardholder'IsDefault obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (issuing'cardCardholder'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (issuing'cardCardholder'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (issuing'cardCardholder'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (issuing'cardCardholder'Object obj) GHC.Base.<> ((Data.Aeson..=) "phone_number" (issuing'cardCardholder'PhoneNumber obj) GHC.Base.<> ((Data.Aeson..=) "requirements" (issuing'cardCardholder'Requirements obj) GHC.Base.<> ((Data.Aeson..=) "status" (issuing'cardCardholder'Status obj) GHC.Base.<> (Data.Aeson..=) "type" (issuing'cardCardholder'Type obj)))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCardholder' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardCardholder'" (\obj -> (((((((((((((((GHC.Base.pure Issuing'cardCardholder' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "authorization_controls")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "company")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "individual")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "is_default")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requirements")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the data type for the schema issuing.cardCardholder\'Authorization_controls\' -- -- Spending rules that give you some control over how this cardholder\\\'s cards can be used. Refer to our [authorizations](https:\\\/\\\/stripe.com\\\/docs\\\/issuing\\\/authorizations) documentation for more details. data Issuing'cardCardholder'AuthorizationControls' = Issuing'cardCardholder'AuthorizationControls' { -- | allowed_categories: Array of strings containing [categories](https:\/\/stripe.com\/docs\/api\#issuing_authorization_object-merchant_data-category) of authorizations permitted on this cardholder\'s cards. issuing'cardCardholder'AuthorizationControls'AllowedCategories :: (GHC.Maybe.Maybe ([] Issuing'cardCardholder'AuthorizationControls'AllowedCategories')) -- | blocked_categories: Array of strings containing [categories](https:\/\/stripe.com\/docs\/api\#issuing_authorization_object-merchant_data-category) of authorizations to always decline on this cardholder\'s cards. , issuing'cardCardholder'AuthorizationControls'BlockedCategories :: (GHC.Maybe.Maybe ([] Issuing'cardCardholder'AuthorizationControls'BlockedCategories')) -- | spending_limits: Limit the spending with rules based on time intervals and categories. , issuing'cardCardholder'AuthorizationControls'SpendingLimits :: (GHC.Maybe.Maybe ([] IssuingCardholderSpendingLimit)) -- | spending_limits_currency: Currency for the amounts within spending_limits. , issuing'cardCardholder'AuthorizationControls'SpendingLimitsCurrency :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'AuthorizationControls' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "allowed_categories" (issuing'cardCardholder'AuthorizationControls'AllowedCategories obj) : (Data.Aeson..=) "blocked_categories" (issuing'cardCardholder'AuthorizationControls'BlockedCategories obj) : (Data.Aeson..=) "spending_limits" (issuing'cardCardholder'AuthorizationControls'SpendingLimits obj) : (Data.Aeson..=) "spending_limits_currency" (issuing'cardCardholder'AuthorizationControls'SpendingLimitsCurrency obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "allowed_categories" (issuing'cardCardholder'AuthorizationControls'AllowedCategories obj) GHC.Base.<> ((Data.Aeson..=) "blocked_categories" (issuing'cardCardholder'AuthorizationControls'BlockedCategories obj) GHC.Base.<> ((Data.Aeson..=) "spending_limits" (issuing'cardCardholder'AuthorizationControls'SpendingLimits obj) GHC.Base.<> (Data.Aeson..=) "spending_limits_currency" (issuing'cardCardholder'AuthorizationControls'SpendingLimitsCurrency obj)))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCardholder'AuthorizationControls' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardCardholder'AuthorizationControls'" (\obj -> (((GHC.Base.pure Issuing'cardCardholder'AuthorizationControls' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "allowed_categories")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "blocked_categories")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "spending_limits")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "spending_limits_currency")) -- | Defines the enum schema issuing.cardCardholder\'Authorization_controls\'Allowed_categories\' -- -- data Issuing'cardCardholder'AuthorizationControls'AllowedCategories' = Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumTyped GHC.Base.String | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAcRefrigerationRepair | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAccountingBookkeepingServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAdvertisingServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAgriculturalCooperative | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAirlinesAirCarriers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAirportsFlyingFields | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAmbulanceServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAmusementParksCarnivals | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAntiqueReproductions | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAntiqueShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAquariums | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArchitecturalSurveyingServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArtDealersAndGalleries | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArtistsSupplyAndCraftShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoAndHomeSupplyStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoBodyRepairShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoPaintShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoServiceShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomatedCashDisburse | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomatedFuelDispensers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomobileAssociations | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomotivePartsAndAccessoriesStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomotiveTireStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBailAndBondPayments | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBakeries | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBandsOrchestras | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBarberAndBeautyShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBettingCasinoGambling | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBicycleShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBilliardPoolEstablishments | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBoatDealers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBoatRentalsAndLeases | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBookStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBooksPeriodicalsAndNewspapers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBowlingAlleys | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBusLines | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBusinessSecretarialSchools | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBuyingShoppingServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCameraAndPhotographicSupplyStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCandyNutAndConfectioneryStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersNewUsed | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersUsedOnly | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarRentalAgencies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarWashes | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarpentryServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarpetUpholsteryCleaning | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCaterers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChemicalsAndAlliedProducts | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChildCareServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChildrensAndInfantsWearStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChiropodistsPodiatrists | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChiropractors | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCigarStoresAndStands | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCivicSocialFraternalAssociations | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCleaningAndMaintenance | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringClothingRental | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCollegesUniversities | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialEquipment | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialFootwear | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialPhotographyArtAndGraphics | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommuterTransportAndFerries | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerNetworkServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerProgramming | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerRepair | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerSoftwareStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputersPeripheralsAndSoftware | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConcreteWorkServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConstructionMaterials | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConsultingPublicRelations | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCorrespondenceSchools | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCosmeticStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCounselingServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCountryClubs | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCourierServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCourtCosts | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCreditReportingAgencies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCruiseLines | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDairyProductsStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDanceHallStudiosSchools | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDatingEscortServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDentistsOrthodontists | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDepartmentStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDetectiveAgencies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsApplications | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsGames | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsLargeVolume | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsMedia | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingCatalogMerchant | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingInboundTelemarketing | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingInsuranceServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingOther | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingOutboundTelemarketing | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingSubscription | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingTravel | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDiscountStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDoctors | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDoorToDoorSales | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrinkingPlaces | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrugStoresAndPharmacies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDryCleaners | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDurableGoods | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDutyFreeStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEatingPlacesRestaurants | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEducationalServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricRazorStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricalPartsAndEquipment | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricalServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectronicsRepairShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectronicsStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElementarySecondarySchools | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEmploymentTempAgencies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEquipmentRental | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringExterminatingServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFamilyClothingStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFastFoodRestaurants | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFinancialInstitutions | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFinesGovernmentAdministrativeEntities | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFloorCoveringStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFlorists | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFreezerAndLockerMeatProvisioners | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFuelDealersNonAutomotive | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFuneralServicesCrematories | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurnitureRepairRefinishing | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurriersAndFurShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGeneralServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGiftCardNoveltyAndSouvenirShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGlassPaintAndWallpaperStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGlasswareCrystalStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGolfCoursesPublic | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGovernmentServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGroceryStoresSupermarkets | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHardwareEquipmentAndSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHardwareStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHealthAndBeautySpas | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHearingAidsSalesAndSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHeatingPlumbingAC | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHobbyToyAndGameShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHomeSupplyWarehouseStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHospitals | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHotelsMotelsAndResorts | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHouseholdApplianceStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringIndustrialSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInformationRetrievalServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInsuranceDefault | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInsuranceUnderwritingPremiums | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringIntraCompanyPurchases | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLandscapingServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLaundries | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLaundryCleaningServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLegalServicesAttorneys | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLuggageAndLeatherGoodsStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLumberBuildingMaterialsStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringManualCashDisburse | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMarinasServiceAndSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMasonryStoneworkAndPlaster | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMassageParlors | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalAndDentalLabs | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMembershipOrganizations | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMensWomensClothingStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMetalServiceCenters | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneous | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousApparelAndAccessoryShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousAutoDealers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousBusinessServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousFoodStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralMerchandise | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousPublishingAndPrinting | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousRecreationServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousRepairShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousSpecialtyRetail | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMobileHomeDealers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotionPictureTheaters | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorFreightCarriersAndTrucking | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorHomesDealers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorVehicleSuppliesAndNewParts | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsAndDealers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsDealers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNewsDealersAndNewsstands | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNonFiMoneyOrders | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNonFiStoredValueCardPurchaseLoad | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNondurableGoods | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNurseriesLawnAndGardenSupplyStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNursingPersonalCare | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOfficeAndCommercialFurniture | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOpticiansEyeglasses | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOptometristsOphthalmologist | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOrthopedicGoodsProstheticDevices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOsteopaths | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPackageStoresBeerWineAndLiquor | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPaintsVarnishesAndSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringParkingLotsGarages | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPassengerRailways | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPawnShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPetShopsPetFoodAndSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPetroleumAndPetroleumProducts | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotoDeveloping | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotographicStudios | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPictureVideoProduction | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPoliticalOrganizations | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPostalServicesGovernmentOnly | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringProfessionalServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPublicWarehousingAndStorage | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringQuickCopyReproAndBlueprint | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRailroads | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRealEstateAgentsAndManagersRentals | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRecordStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRecreationalVehicleRentals | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringReligiousGoodsStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringReligiousOrganizations | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRoofingSidingSheetMetal | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSecretarialSupportServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSecurityBrokersDealers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringServiceStations | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringShoeRepairHatCleaning | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringShoeStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSmallApplianceRepair | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSnowmobileDealers | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSpecialTradeServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSpecialtyCleaning | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportingGoodsStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportingRecreationCamps | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportsAndRidingApparelStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportsClubsFields | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStampAndCoinStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSwimmingPoolsSales | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTUiTravelGermany | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTailorsAlterations | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxPaymentsGovernmentAgencies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxPreparationServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxicabsLimousines | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelecommunicationServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelegraphServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTentAndAwningShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTestingLaboratories | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTheatricalTicketAgencies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTimeshares | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTireRetreadingAndRepair | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTollsBridgeFees | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTouristAttractionsAndExhibits | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTowingServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTrailerParksCampgrounds | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTransportationServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTravelAgenciesTourOperators | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTruckStopIteration | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTruckUtilityTrailerRentals | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTypesettingPlateMakingAndRelatedServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTypewriterStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUniformsCommercialClothing | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUsedMerchandiseAndSecondhandStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUtilities | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVarietyStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVeterinaryServices | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoAmusementGameSupplies | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoGameArcades | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoTapeRentalStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVocationalTradeSchools | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWatchJewelryRepair | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWeldingRepair | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWholesaleClubs | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWigAndToupeeStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWiresMoneyOrders | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWomensAccessoryAndSpecialtyShops | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWomensReadyToWearStores | Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWreckingAndSalvageYards deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'AuthorizationControls'AllowedCategories' where toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAcRefrigerationRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ac_refrigeration_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAccountingBookkeepingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "accounting_bookkeeping_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAdvertisingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advertising_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAgriculturalCooperative) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "agricultural_cooperative" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAirlinesAirCarriers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airlines_air_carriers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAirportsFlyingFields) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airports_flying_fields" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAmbulanceServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ambulance_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAmusementParksCarnivals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amusement_parks_carnivals" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAntiqueReproductions) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_reproductions" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAntiqueShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAquariums) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "aquariums" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArchitecturalSurveyingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "architectural_surveying_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArtDealersAndGalleries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "art_dealers_and_galleries" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArtistsSupplyAndCraftShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "artists_supply_and_craft_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoAndHomeSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_and_home_supply_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoBodyRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_body_repair_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoPaintShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_paint_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoServiceShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_service_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomatedCashDisburse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_cash_disburse" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomatedFuelDispensers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_fuel_dispensers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomobileAssociations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automobile_associations" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomotivePartsAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_parts_and_accessories_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomotiveTireStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_tire_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBailAndBondPayments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bail_and_bond_payments" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBakeries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bakeries" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBandsOrchestras) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bands_orchestras" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBarberAndBeautyShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "barber_and_beauty_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBettingCasinoGambling) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "betting_casino_gambling" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBicycleShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bicycle_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBilliardPoolEstablishments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "billiard_pool_establishments" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBoatDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBoatRentalsAndLeases) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_rentals_and_leases" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBookStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBooksPeriodicalsAndNewspapers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "books_periodicals_and_newspapers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBowlingAlleys) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bowling_alleys" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBusLines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bus_lines" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBusinessSecretarialSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_secretarial_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBuyingShoppingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "buying_shopping_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cable_satellite_and_other_pay_television_and_radio" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCameraAndPhotographicSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "camera_and_photographic_supply_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCandyNutAndConfectioneryStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "candy_nut_and_confectionery_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersNewUsed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_new_used" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersUsedOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_used_only" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarRentalAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_rental_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarWashes) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_washes" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarpentryServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpentry_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarpetUpholsteryCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpet_upholstery_cleaning" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCaterers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "caterers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charitable_and_social_service_organizations_fundraising" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChemicalsAndAlliedProducts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chemicals_and_allied_products" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChildCareServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "child_care_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChildrensAndInfantsWearStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "childrens_and_infants_wear_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChiropodistsPodiatrists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropodists_podiatrists" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChiropractors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropractors" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCigarStoresAndStands) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cigar_stores_and_stands" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCivicSocialFraternalAssociations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "civic_social_fraternal_associations" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCleaningAndMaintenance) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cleaning_and_maintenance" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringClothingRental) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "clothing_rental" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCollegesUniversities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "colleges_universities" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialEquipment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_equipment" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialFootwear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_footwear" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialPhotographyArtAndGraphics) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_photography_art_and_graphics" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommuterTransportAndFerries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commuter_transport_and_ferries" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerNetworkServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_network_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerProgramming) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_programming" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerSoftwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_software_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputersPeripheralsAndSoftware) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computers_peripherals_and_software" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConcreteWorkServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "concrete_work_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConstructionMaterials) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "construction_materials" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConsultingPublicRelations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "consulting_public_relations" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCorrespondenceSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "correspondence_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCosmeticStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cosmetic_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCounselingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "counseling_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCountryClubs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "country_clubs" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCourierServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "courier_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCourtCosts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "court_costs" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCreditReportingAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_reporting_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCruiseLines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cruise_lines" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDairyProductsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dairy_products_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDanceHallStudiosSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dance_hall_studios_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDatingEscortServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dating_escort_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDentistsOrthodontists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dentists_orthodontists" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDepartmentStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "department_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDetectiveAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "detective_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsApplications) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_applications" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsGames) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_games" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsLargeVolume) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_large_volume" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsMedia) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_media" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingCatalogMerchant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_catalog_merchant" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_combination_catalog_and_retail_merchant" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingInboundTelemarketing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_inbound_telemarketing" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingInsuranceServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_insurance_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingOther) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_other" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingOutboundTelemarketing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_outbound_telemarketing" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_subscription" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingTravel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_travel" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDiscountStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDoctors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "doctors" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDoorToDoorSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "door_to_door_sales" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drapery_window_covering_and_upholstery_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrinkingPlaces) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drinking_places" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrugStoresAndPharmacies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drug_stores_and_pharmacies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drugs_drug_proprietaries_and_druggist_sundries" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDryCleaners) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dry_cleaners" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDurableGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "durable_goods" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDutyFreeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duty_free_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEatingPlacesRestaurants) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eating_places_restaurants" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEducationalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "educational_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricRazorStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electric_razor_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricalPartsAndEquipment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_parts_and_equipment" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectronicsRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_repair_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectronicsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElementarySecondarySchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "elementary_secondary_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEmploymentTempAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "employment_temp_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEquipmentRental) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "equipment_rental" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringExterminatingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exterminating_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFamilyClothingStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "family_clothing_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFastFoodRestaurants) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fast_food_restaurants" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFinancialInstitutions) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "financial_institutions" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFinesGovernmentAdministrativeEntities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fines_government_administrative_entities" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fireplace_fireplace_screens_and_accessories_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFloorCoveringStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "floor_covering_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFlorists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists_supplies_nursery_stock_and_flowers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFreezerAndLockerMeatProvisioners) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "freezer_and_locker_meat_provisioners" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFuelDealersNonAutomotive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fuel_dealers_non_automotive" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFuneralServicesCrematories) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "funeral_services_crematories" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_home_furnishings_and_equipment_stores_except_appliances" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurnitureRepairRefinishing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_repair_refinishing" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurriersAndFurShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furriers_and_fur_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGeneralServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "general_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGiftCardNoveltyAndSouvenirShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "gift_card_novelty_and_souvenir_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGlassPaintAndWallpaperStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glass_paint_and_wallpaper_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGlasswareCrystalStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glassware_crystal_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGolfCoursesPublic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "golf_courses_public" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGovernmentServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGroceryStoresSupermarkets) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "grocery_stores_supermarkets" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHardwareEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_equipment_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHardwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHealthAndBeautySpas) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "health_and_beauty_spas" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHearingAidsSalesAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hearing_aids_sales_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHeatingPlumbingAC) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "heating_plumbing_a_c" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHobbyToyAndGameShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hobby_toy_and_game_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHomeSupplyWarehouseStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "home_supply_warehouse_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHospitals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hospitals" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHotelsMotelsAndResorts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hotels_motels_and_resorts" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHouseholdApplianceStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "household_appliance_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringIndustrialSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "industrial_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInformationRetrievalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "information_retrieval_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInsuranceDefault) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_default" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInsuranceUnderwritingPremiums) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_underwriting_premiums" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringIntraCompanyPurchases) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "intra_company_purchases" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jewelry_stores_watches_clocks_and_silverware_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLandscapingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "landscaping_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLaundries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundries" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLaundryCleaningServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundry_cleaning_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLegalServicesAttorneys) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "legal_services_attorneys" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLuggageAndLeatherGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "luggage_and_leather_goods_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLumberBuildingMaterialsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lumber_building_materials_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringManualCashDisburse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual_cash_disburse" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMarinasServiceAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "marinas_service_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMasonryStoneworkAndPlaster) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masonry_stonework_and_plaster" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMassageParlors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "massage_parlors" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalAndDentalLabs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_and_dental_labs" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMembershipOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "membership_organizations" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_and_boys_clothing_and_accessories_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMensWomensClothingStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_womens_clothing_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMetalServiceCenters) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metal_service_centers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneous) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousApparelAndAccessoryShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_apparel_and_accessory_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousAutoDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_auto_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousBusinessServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_business_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousFoodStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_food_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralMerchandise) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_merchandise" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_home_furnishing_specialty_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousPublishingAndPrinting) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_publishing_and_printing" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousRecreationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_recreation_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_repair_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousSpecialtyRetail) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_specialty_retail" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMobileHomeDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mobile_home_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotionPictureTheaters) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motion_picture_theaters" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorFreightCarriersAndTrucking) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_freight_carriers_and_trucking" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorHomesDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_homes_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorVehicleSuppliesAndNewParts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_vehicle_supplies_and_new_parts" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsAndDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_and_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "music_stores_musical_instruments_pianos_and_sheet_music" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNewsDealersAndNewsstands) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "news_dealers_and_newsstands" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNonFiMoneyOrders) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_money_orders" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNonFiStoredValueCardPurchaseLoad) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_stored_value_card_purchase_load" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNondurableGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nondurable_goods" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNurseriesLawnAndGardenSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nurseries_lawn_and_garden_supply_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNursingPersonalCare) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nursing_personal_care" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOfficeAndCommercialFurniture) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "office_and_commercial_furniture" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOpticiansEyeglasses) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "opticians_eyeglasses" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOptometristsOphthalmologist) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "optometrists_ophthalmologist" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOrthopedicGoodsProstheticDevices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "orthopedic_goods_prosthetic_devices" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOsteopaths) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "osteopaths" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPackageStoresBeerWineAndLiquor) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "package_stores_beer_wine_and_liquor" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPaintsVarnishesAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paints_varnishes_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringParkingLotsGarages) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "parking_lots_garages" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPassengerRailways) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "passenger_railways" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPawnShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pawn_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPetShopsPetFoodAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pet_shops_pet_food_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPetroleumAndPetroleumProducts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "petroleum_and_petroleum_products" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotoDeveloping) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photo_developing" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_photocopy_microfilm_equipment_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotographicStudios) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_studios" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPictureVideoProduction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "picture_video_production" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "piece_goods_notions_and_other_dry_goods" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plumbing_heating_equipment_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPoliticalOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "political_organizations" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPostalServicesGovernmentOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "postal_services_government_only" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "precious_stones_and_metals_watches_and_jewelry" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringProfessionalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "professional_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPublicWarehousingAndStorage) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_warehousing_and_storage" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringQuickCopyReproAndBlueprint) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "quick_copy_repro_and_blueprint" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRailroads) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "railroads" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRealEstateAgentsAndManagersRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "real_estate_agents_and_managers_rentals" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRecordStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "record_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRecreationalVehicleRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recreational_vehicle_rentals" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringReligiousGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_goods_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringReligiousOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_organizations" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRoofingSidingSheetMetal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "roofing_siding_sheet_metal" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSecretarialSupportServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "secretarial_support_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSecurityBrokersDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "security_brokers_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringServiceStations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service_stations" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sewing_needlework_fabric_and_piece_goods_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringShoeRepairHatCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_repair_hat_cleaning" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringShoeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSmallApplianceRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "small_appliance_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSnowmobileDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "snowmobile_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSpecialTradeServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "special_trade_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSpecialtyCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "specialty_cleaning" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportingGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_goods_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportingRecreationCamps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_recreation_camps" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportsAndRidingApparelStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_and_riding_apparel_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportsClubsFields) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_clubs_fields" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStampAndCoinStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stamp_and_coin_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationary_office_supplies_printing_and_writing_paper" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationery_stores_office_and_school_supply_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSwimmingPoolsSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swimming_pools_sales" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTUiTravelGermany) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "t_ui_travel_germany" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTailorsAlterations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tailors_alterations" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxPaymentsGovernmentAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_payments_government_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxPreparationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_preparation_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxicabsLimousines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "taxicabs_limousines" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_equipment_and_telephone_sales" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelecommunicationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelegraphServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telegraph_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTentAndAwningShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tent_and_awning_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTestingLaboratories) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "testing_laboratories" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTheatricalTicketAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theatrical_ticket_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTimeshares) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "timeshares" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTireRetreadingAndRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tire_retreading_and_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTollsBridgeFees) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tolls_bridge_fees" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTouristAttractionsAndExhibits) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tourist_attractions_and_exhibits" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTowingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "towing_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTrailerParksCampgrounds) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trailer_parks_campgrounds" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTransportationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transportation_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTravelAgenciesTourOperators) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "travel_agencies_tour_operators" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTruckStopIteration) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_stop_iteration" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTruckUtilityTrailerRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_utility_trailer_rentals" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTypesettingPlateMakingAndRelatedServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typesetting_plate_making_and_related_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTypewriterStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typewriter_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "u_s_federal_government_agencies_or_departments" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUniformsCommercialClothing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uniforms_commercial_clothing" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUsedMerchandiseAndSecondhandStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "used_merchandise_and_secondhand_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUtilities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "utilities" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVarietyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "variety_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVeterinaryServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "veterinary_services" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoAmusementGameSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_amusement_game_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoGameArcades) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_game_arcades" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoTapeRentalStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_tape_rental_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVocationalTradeSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "vocational_trade_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWatchJewelryRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "watch_jewelry_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWeldingRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "welding_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWholesaleClubs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wholesale_clubs" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWigAndToupeeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wig_and_toupee_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWiresMoneyOrders) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wires_money_orders" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWomensAccessoryAndSpecialtyShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_accessory_and_specialty_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWomensReadyToWearStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_ready_to_wear_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWreckingAndSalvageYards) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wrecking_and_salvage_yards" instance Data.Aeson.FromJSON Issuing'cardCardholder'AuthorizationControls'AllowedCategories' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ac_refrigeration_repair") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAcRefrigerationRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "accounting_bookkeeping_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAccountingBookkeepingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advertising_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAdvertisingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "agricultural_cooperative") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAgriculturalCooperative else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airlines_air_carriers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAirlinesAirCarriers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airports_flying_fields") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAirportsFlyingFields else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ambulance_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAmbulanceServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amusement_parks_carnivals") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAmusementParksCarnivals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_reproductions") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAntiqueReproductions else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAntiqueShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "aquariums") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAquariums else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "architectural_surveying_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArchitecturalSurveyingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "art_dealers_and_galleries") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArtDealersAndGalleries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "artists_supply_and_craft_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringArtistsSupplyAndCraftShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_and_home_supply_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoAndHomeSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_body_repair_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoBodyRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_paint_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoPaintShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_service_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutoServiceShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_cash_disburse") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomatedCashDisburse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_fuel_dispensers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomatedFuelDispensers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automobile_associations") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomobileAssociations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_parts_and_accessories_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomotivePartsAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_tire_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringAutomotiveTireStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bail_and_bond_payments") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBailAndBondPayments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bakeries") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBakeries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bands_orchestras") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBandsOrchestras else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "barber_and_beauty_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBarberAndBeautyShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "betting_casino_gambling") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBettingCasinoGambling else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bicycle_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBicycleShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "billiard_pool_establishments") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBilliardPoolEstablishments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_dealers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBoatDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_rentals_and_leases") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBoatRentalsAndLeases else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBookStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "books_periodicals_and_newspapers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBooksPeriodicalsAndNewspapers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bowling_alleys") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBowlingAlleys else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bus_lines") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBusLines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_secretarial_schools") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBusinessSecretarialSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "buying_shopping_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringBuyingShoppingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cable_satellite_and_other_pay_television_and_radio") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "camera_and_photographic_supply_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCameraAndPhotographicSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "candy_nut_and_confectionery_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCandyNutAndConfectioneryStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_new_used") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersNewUsed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_used_only") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersUsedOnly else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_rental_agencies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarRentalAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_washes") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarWashes else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpentry_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarpentryServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpet_upholstery_cleaning") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCarpetUpholsteryCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "caterers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCaterers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charitable_and_social_service_organizations_fundraising") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chemicals_and_allied_products") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChemicalsAndAlliedProducts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "child_care_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChildCareServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "childrens_and_infants_wear_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChildrensAndInfantsWearStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropodists_podiatrists") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChiropodistsPodiatrists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropractors") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringChiropractors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cigar_stores_and_stands") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCigarStoresAndStands else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "civic_social_fraternal_associations") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCivicSocialFraternalAssociations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cleaning_and_maintenance") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCleaningAndMaintenance else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "clothing_rental") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringClothingRental else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "colleges_universities") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCollegesUniversities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_equipment") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialEquipment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_footwear") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialFootwear else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_photography_art_and_graphics") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommercialPhotographyArtAndGraphics else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commuter_transport_and_ferries") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCommuterTransportAndFerries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_network_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerNetworkServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_programming") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerProgramming else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_repair") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_software_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputerSoftwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computers_peripherals_and_software") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringComputersPeripheralsAndSoftware else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "concrete_work_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConcreteWorkServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "construction_materials") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConstructionMaterials else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "consulting_public_relations") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringConsultingPublicRelations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "correspondence_schools") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCorrespondenceSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cosmetic_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCosmeticStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "counseling_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCounselingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "country_clubs") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCountryClubs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "courier_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCourierServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "court_costs") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCourtCosts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_reporting_agencies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCreditReportingAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cruise_lines") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringCruiseLines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dairy_products_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDairyProductsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dance_hall_studios_schools") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDanceHallStudiosSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dating_escort_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDatingEscortServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dentists_orthodontists") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDentistsOrthodontists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "department_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDepartmentStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "detective_agencies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDetectiveAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_applications") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsApplications else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_games") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsGames else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_large_volume") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsLargeVolume else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_media") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDigitalGoodsMedia else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_catalog_merchant") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingCatalogMerchant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_combination_catalog_and_retail_merchant") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_inbound_telemarketing") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingInboundTelemarketing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_insurance_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingInsuranceServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_other") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingOther else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_outbound_telemarketing") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingOutboundTelemarketing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_subscription") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingSubscription else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_travel") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDirectMarketingTravel else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDiscountStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "doctors") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDoctors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "door_to_door_sales") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDoorToDoorSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drapery_window_covering_and_upholstery_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drinking_places") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrinkingPlaces else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drug_stores_and_pharmacies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrugStoresAndPharmacies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drugs_drug_proprietaries_and_druggist_sundries") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dry_cleaners") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDryCleaners else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "durable_goods") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDurableGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duty_free_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringDutyFreeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eating_places_restaurants") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEatingPlacesRestaurants else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "educational_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEducationalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electric_razor_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricRazorStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_parts_and_equipment") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricalPartsAndEquipment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectricalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_repair_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectronicsRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElectronicsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "elementary_secondary_schools") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringElementarySecondarySchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "employment_temp_agencies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEmploymentTempAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "equipment_rental") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringEquipmentRental else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exterminating_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringExterminatingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "family_clothing_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFamilyClothingStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fast_food_restaurants") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFastFoodRestaurants else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "financial_institutions") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFinancialInstitutions else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fines_government_administrative_entities") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFinesGovernmentAdministrativeEntities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fireplace_fireplace_screens_and_accessories_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "floor_covering_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFloorCoveringStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFlorists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists_supplies_nursery_stock_and_flowers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "freezer_and_locker_meat_provisioners") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFreezerAndLockerMeatProvisioners else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fuel_dealers_non_automotive") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFuelDealersNonAutomotive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "funeral_services_crematories") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFuneralServicesCrematories else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_home_furnishings_and_equipment_stores_except_appliances") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_repair_refinishing") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurnitureRepairRefinishing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furriers_and_fur_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringFurriersAndFurShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "general_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGeneralServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "gift_card_novelty_and_souvenir_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGiftCardNoveltyAndSouvenirShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glass_paint_and_wallpaper_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGlassPaintAndWallpaperStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glassware_crystal_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGlasswareCrystalStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "golf_courses_public") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGolfCoursesPublic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGovernmentServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "grocery_stores_supermarkets") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringGroceryStoresSupermarkets else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_equipment_and_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHardwareEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHardwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "health_and_beauty_spas") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHealthAndBeautySpas else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hearing_aids_sales_and_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHearingAidsSalesAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "heating_plumbing_a_c") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHeatingPlumbingAC else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hobby_toy_and_game_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHobbyToyAndGameShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "home_supply_warehouse_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHomeSupplyWarehouseStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hospitals") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHospitals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hotels_motels_and_resorts") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHotelsMotelsAndResorts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "household_appliance_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringHouseholdApplianceStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "industrial_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringIndustrialSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "information_retrieval_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInformationRetrievalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_default") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInsuranceDefault else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_underwriting_premiums") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringInsuranceUnderwritingPremiums else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "intra_company_purchases") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringIntraCompanyPurchases else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jewelry_stores_watches_clocks_and_silverware_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "landscaping_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLandscapingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundries") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLaundries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundry_cleaning_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLaundryCleaningServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "legal_services_attorneys") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLegalServicesAttorneys else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "luggage_and_leather_goods_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLuggageAndLeatherGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lumber_building_materials_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringLumberBuildingMaterialsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual_cash_disburse") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringManualCashDisburse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "marinas_service_and_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMarinasServiceAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masonry_stonework_and_plaster") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMasonryStoneworkAndPlaster else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "massage_parlors") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMassageParlors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_and_dental_labs") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalAndDentalLabs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_dental_ophthalmic_and_hospital_equipment_and_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMedicalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "membership_organizations") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMembershipOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_and_boys_clothing_and_accessories_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_womens_clothing_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMensWomensClothingStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metal_service_centers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMetalServiceCenters else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneous else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_apparel_and_accessory_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousApparelAndAccessoryShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_auto_dealers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousAutoDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_business_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousBusinessServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_food_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousFoodStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_merchandise") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralMerchandise else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_home_furnishing_specialty_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_publishing_and_printing") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousPublishingAndPrinting else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_recreation_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousRecreationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_repair_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_specialty_retail") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMiscellaneousSpecialtyRetail else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mobile_home_dealers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMobileHomeDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motion_picture_theaters") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotionPictureTheaters else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_freight_carriers_and_trucking") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorFreightCarriersAndTrucking else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_homes_dealers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorHomesDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_vehicle_supplies_and_new_parts") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorVehicleSuppliesAndNewParts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_and_dealers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsAndDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_dealers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "music_stores_musical_instruments_pianos_and_sheet_music") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "news_dealers_and_newsstands") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNewsDealersAndNewsstands else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_money_orders") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNonFiMoneyOrders else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_stored_value_card_purchase_load") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNonFiStoredValueCardPurchaseLoad else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nondurable_goods") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNondurableGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nurseries_lawn_and_garden_supply_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNurseriesLawnAndGardenSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nursing_personal_care") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringNursingPersonalCare else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "office_and_commercial_furniture") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOfficeAndCommercialFurniture else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "opticians_eyeglasses") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOpticiansEyeglasses else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "optometrists_ophthalmologist") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOptometristsOphthalmologist else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "orthopedic_goods_prosthetic_devices") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOrthopedicGoodsProstheticDevices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "osteopaths") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringOsteopaths else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "package_stores_beer_wine_and_liquor") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPackageStoresBeerWineAndLiquor else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paints_varnishes_and_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPaintsVarnishesAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "parking_lots_garages") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringParkingLotsGarages else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "passenger_railways") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPassengerRailways else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pawn_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPawnShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pet_shops_pet_food_and_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPetShopsPetFoodAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "petroleum_and_petroleum_products") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPetroleumAndPetroleumProducts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photo_developing") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotoDeveloping else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_photocopy_microfilm_equipment_and_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_studios") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPhotographicStudios else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "picture_video_production") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPictureVideoProduction else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "piece_goods_notions_and_other_dry_goods") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plumbing_heating_equipment_and_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "political_organizations") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPoliticalOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "postal_services_government_only") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPostalServicesGovernmentOnly else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "precious_stones_and_metals_watches_and_jewelry") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "professional_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringProfessionalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_warehousing_and_storage") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringPublicWarehousingAndStorage else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "quick_copy_repro_and_blueprint") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringQuickCopyReproAndBlueprint else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "railroads") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRailroads else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "real_estate_agents_and_managers_rentals") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRealEstateAgentsAndManagersRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "record_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRecordStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recreational_vehicle_rentals") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRecreationalVehicleRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_goods_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringReligiousGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_organizations") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringReligiousOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "roofing_siding_sheet_metal") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringRoofingSidingSheetMetal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "secretarial_support_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSecretarialSupportServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "security_brokers_dealers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSecurityBrokersDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service_stations") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringServiceStations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sewing_needlework_fabric_and_piece_goods_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_repair_hat_cleaning") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringShoeRepairHatCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringShoeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "small_appliance_repair") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSmallApplianceRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "snowmobile_dealers") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSnowmobileDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "special_trade_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSpecialTradeServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "specialty_cleaning") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSpecialtyCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_goods_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportingGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_recreation_camps") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportingRecreationCamps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_and_riding_apparel_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportsAndRidingApparelStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_clubs_fields") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSportsClubsFields else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stamp_and_coin_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStampAndCoinStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationary_office_supplies_printing_and_writing_paper") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationery_stores_office_and_school_supply_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swimming_pools_sales") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringSwimmingPoolsSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "t_ui_travel_germany") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTUiTravelGermany else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tailors_alterations") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTailorsAlterations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_payments_government_agencies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxPaymentsGovernmentAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_preparation_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxPreparationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "taxicabs_limousines") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTaxicabsLimousines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_equipment_and_telephone_sales") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelecommunicationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telegraph_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTelegraphServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tent_and_awning_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTentAndAwningShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "testing_laboratories") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTestingLaboratories else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theatrical_ticket_agencies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTheatricalTicketAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "timeshares") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTimeshares else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tire_retreading_and_repair") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTireRetreadingAndRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tolls_bridge_fees") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTollsBridgeFees else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tourist_attractions_and_exhibits") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTouristAttractionsAndExhibits else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "towing_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTowingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trailer_parks_campgrounds") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTrailerParksCampgrounds else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transportation_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTransportationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "travel_agencies_tour_operators") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTravelAgenciesTourOperators else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_stop_iteration") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTruckStopIteration else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_utility_trailer_rentals") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTruckUtilityTrailerRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typesetting_plate_making_and_related_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTypesettingPlateMakingAndRelatedServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typewriter_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringTypewriterStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "u_s_federal_government_agencies_or_departments") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uniforms_commercial_clothing") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUniformsCommercialClothing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "used_merchandise_and_secondhand_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUsedMerchandiseAndSecondhandStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "utilities") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringUtilities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "variety_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVarietyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "veterinary_services") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVeterinaryServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_amusement_game_supplies") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoAmusementGameSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_game_arcades") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoGameArcades else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_tape_rental_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVideoTapeRentalStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "vocational_trade_schools") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringVocationalTradeSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "watch_jewelry_repair") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWatchJewelryRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "welding_repair") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWeldingRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wholesale_clubs") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWholesaleClubs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wig_and_toupee_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWigAndToupeeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wires_money_orders") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWiresMoneyOrders else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_accessory_and_specialty_shops") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWomensAccessoryAndSpecialtyShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_ready_to_wear_stores") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWomensReadyToWearStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wrecking_and_salvage_yards") then Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumStringWreckingAndSalvageYards else Issuing'cardCardholder'AuthorizationControls'AllowedCategories'EnumOther val) -- | Defines the enum schema issuing.cardCardholder\'Authorization_controls\'Blocked_categories\' -- -- data Issuing'cardCardholder'AuthorizationControls'BlockedCategories' = Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumTyped GHC.Base.String | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAcRefrigerationRepair | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAccountingBookkeepingServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAdvertisingServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAgriculturalCooperative | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAirlinesAirCarriers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAirportsFlyingFields | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAmbulanceServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAmusementParksCarnivals | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAntiqueReproductions | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAntiqueShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAquariums | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArchitecturalSurveyingServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArtDealersAndGalleries | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArtistsSupplyAndCraftShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoAndHomeSupplyStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoBodyRepairShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoPaintShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoServiceShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomatedCashDisburse | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomatedFuelDispensers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomobileAssociations | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomotivePartsAndAccessoriesStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomotiveTireStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBailAndBondPayments | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBakeries | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBandsOrchestras | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBarberAndBeautyShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBettingCasinoGambling | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBicycleShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBilliardPoolEstablishments | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBoatDealers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBoatRentalsAndLeases | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBookStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBooksPeriodicalsAndNewspapers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBowlingAlleys | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBusLines | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBusinessSecretarialSchools | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBuyingShoppingServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCameraAndPhotographicSupplyStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCandyNutAndConfectioneryStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersNewUsed | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersUsedOnly | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarRentalAgencies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarWashes | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarpentryServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarpetUpholsteryCleaning | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCaterers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChemicalsAndAlliedProducts | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChildCareServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChildrensAndInfantsWearStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChiropodistsPodiatrists | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChiropractors | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCigarStoresAndStands | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCivicSocialFraternalAssociations | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCleaningAndMaintenance | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringClothingRental | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCollegesUniversities | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialEquipment | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialFootwear | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialPhotographyArtAndGraphics | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommuterTransportAndFerries | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerNetworkServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerProgramming | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerRepair | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerSoftwareStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputersPeripheralsAndSoftware | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConcreteWorkServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConstructionMaterials | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConsultingPublicRelations | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCorrespondenceSchools | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCosmeticStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCounselingServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCountryClubs | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCourierServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCourtCosts | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCreditReportingAgencies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCruiseLines | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDairyProductsStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDanceHallStudiosSchools | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDatingEscortServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDentistsOrthodontists | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDepartmentStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDetectiveAgencies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsApplications | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsGames | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsLargeVolume | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsMedia | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingCatalogMerchant | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingInboundTelemarketing | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingInsuranceServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingOther | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingOutboundTelemarketing | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingSubscription | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingTravel | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDiscountStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDoctors | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDoorToDoorSales | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrinkingPlaces | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrugStoresAndPharmacies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDryCleaners | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDurableGoods | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDutyFreeStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEatingPlacesRestaurants | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEducationalServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricRazorStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricalPartsAndEquipment | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricalServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectronicsRepairShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectronicsStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElementarySecondarySchools | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEmploymentTempAgencies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEquipmentRental | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringExterminatingServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFamilyClothingStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFastFoodRestaurants | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFinancialInstitutions | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFinesGovernmentAdministrativeEntities | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFloorCoveringStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFlorists | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFreezerAndLockerMeatProvisioners | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFuelDealersNonAutomotive | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFuneralServicesCrematories | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurnitureRepairRefinishing | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurriersAndFurShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGeneralServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGiftCardNoveltyAndSouvenirShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGlassPaintAndWallpaperStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGlasswareCrystalStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGolfCoursesPublic | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGovernmentServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGroceryStoresSupermarkets | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHardwareEquipmentAndSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHardwareStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHealthAndBeautySpas | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHearingAidsSalesAndSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHeatingPlumbingAC | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHobbyToyAndGameShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHomeSupplyWarehouseStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHospitals | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHotelsMotelsAndResorts | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHouseholdApplianceStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringIndustrialSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInformationRetrievalServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInsuranceDefault | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInsuranceUnderwritingPremiums | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringIntraCompanyPurchases | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLandscapingServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLaundries | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLaundryCleaningServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLegalServicesAttorneys | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLuggageAndLeatherGoodsStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLumberBuildingMaterialsStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringManualCashDisburse | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMarinasServiceAndSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMasonryStoneworkAndPlaster | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMassageParlors | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalAndDentalLabs | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMembershipOrganizations | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMensWomensClothingStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMetalServiceCenters | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneous | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousApparelAndAccessoryShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousAutoDealers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousBusinessServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousFoodStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralMerchandise | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousPublishingAndPrinting | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousRecreationServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousRepairShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousSpecialtyRetail | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMobileHomeDealers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotionPictureTheaters | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorFreightCarriersAndTrucking | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorHomesDealers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorVehicleSuppliesAndNewParts | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsAndDealers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsDealers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNewsDealersAndNewsstands | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNonFiMoneyOrders | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNonFiStoredValueCardPurchaseLoad | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNondurableGoods | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNurseriesLawnAndGardenSupplyStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNursingPersonalCare | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOfficeAndCommercialFurniture | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOpticiansEyeglasses | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOptometristsOphthalmologist | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOrthopedicGoodsProstheticDevices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOsteopaths | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPackageStoresBeerWineAndLiquor | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPaintsVarnishesAndSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringParkingLotsGarages | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPassengerRailways | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPawnShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPetShopsPetFoodAndSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPetroleumAndPetroleumProducts | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotoDeveloping | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotographicStudios | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPictureVideoProduction | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPoliticalOrganizations | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPostalServicesGovernmentOnly | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringProfessionalServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPublicWarehousingAndStorage | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringQuickCopyReproAndBlueprint | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRailroads | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRealEstateAgentsAndManagersRentals | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRecordStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRecreationalVehicleRentals | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringReligiousGoodsStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringReligiousOrganizations | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRoofingSidingSheetMetal | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSecretarialSupportServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSecurityBrokersDealers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringServiceStations | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringShoeRepairHatCleaning | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringShoeStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSmallApplianceRepair | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSnowmobileDealers | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSpecialTradeServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSpecialtyCleaning | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportingGoodsStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportingRecreationCamps | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportsAndRidingApparelStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportsClubsFields | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStampAndCoinStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSwimmingPoolsSales | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTUiTravelGermany | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTailorsAlterations | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxPaymentsGovernmentAgencies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxPreparationServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxicabsLimousines | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelecommunicationServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelegraphServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTentAndAwningShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTestingLaboratories | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTheatricalTicketAgencies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTimeshares | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTireRetreadingAndRepair | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTollsBridgeFees | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTouristAttractionsAndExhibits | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTowingServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTrailerParksCampgrounds | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTransportationServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTravelAgenciesTourOperators | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTruckStopIteration | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTruckUtilityTrailerRentals | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTypesettingPlateMakingAndRelatedServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTypewriterStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUniformsCommercialClothing | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUsedMerchandiseAndSecondhandStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUtilities | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVarietyStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVeterinaryServices | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoAmusementGameSupplies | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoGameArcades | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoTapeRentalStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVocationalTradeSchools | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWatchJewelryRepair | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWeldingRepair | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWholesaleClubs | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWigAndToupeeStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWiresMoneyOrders | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWomensAccessoryAndSpecialtyShops | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWomensReadyToWearStores | Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWreckingAndSalvageYards deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'AuthorizationControls'BlockedCategories' where toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAcRefrigerationRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ac_refrigeration_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAccountingBookkeepingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "accounting_bookkeeping_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAdvertisingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advertising_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAgriculturalCooperative) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "agricultural_cooperative" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAirlinesAirCarriers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airlines_air_carriers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAirportsFlyingFields) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airports_flying_fields" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAmbulanceServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ambulance_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAmusementParksCarnivals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amusement_parks_carnivals" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAntiqueReproductions) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_reproductions" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAntiqueShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAquariums) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "aquariums" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArchitecturalSurveyingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "architectural_surveying_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArtDealersAndGalleries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "art_dealers_and_galleries" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArtistsSupplyAndCraftShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "artists_supply_and_craft_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoAndHomeSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_and_home_supply_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoBodyRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_body_repair_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoPaintShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_paint_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoServiceShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_service_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomatedCashDisburse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_cash_disburse" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomatedFuelDispensers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_fuel_dispensers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomobileAssociations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automobile_associations" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomotivePartsAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_parts_and_accessories_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomotiveTireStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_tire_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBailAndBondPayments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bail_and_bond_payments" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBakeries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bakeries" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBandsOrchestras) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bands_orchestras" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBarberAndBeautyShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "barber_and_beauty_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBettingCasinoGambling) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "betting_casino_gambling" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBicycleShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bicycle_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBilliardPoolEstablishments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "billiard_pool_establishments" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBoatDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBoatRentalsAndLeases) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_rentals_and_leases" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBookStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBooksPeriodicalsAndNewspapers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "books_periodicals_and_newspapers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBowlingAlleys) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bowling_alleys" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBusLines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bus_lines" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBusinessSecretarialSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_secretarial_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBuyingShoppingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "buying_shopping_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cable_satellite_and_other_pay_television_and_radio" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCameraAndPhotographicSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "camera_and_photographic_supply_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCandyNutAndConfectioneryStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "candy_nut_and_confectionery_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersNewUsed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_new_used" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersUsedOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_used_only" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarRentalAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_rental_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarWashes) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_washes" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarpentryServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpentry_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarpetUpholsteryCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpet_upholstery_cleaning" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCaterers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "caterers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charitable_and_social_service_organizations_fundraising" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChemicalsAndAlliedProducts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chemicals_and_allied_products" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChildCareServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "child_care_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChildrensAndInfantsWearStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "childrens_and_infants_wear_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChiropodistsPodiatrists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropodists_podiatrists" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChiropractors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropractors" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCigarStoresAndStands) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cigar_stores_and_stands" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCivicSocialFraternalAssociations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "civic_social_fraternal_associations" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCleaningAndMaintenance) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cleaning_and_maintenance" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringClothingRental) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "clothing_rental" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCollegesUniversities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "colleges_universities" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialEquipment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_equipment" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialFootwear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_footwear" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialPhotographyArtAndGraphics) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_photography_art_and_graphics" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommuterTransportAndFerries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commuter_transport_and_ferries" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerNetworkServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_network_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerProgramming) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_programming" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerSoftwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_software_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputersPeripheralsAndSoftware) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computers_peripherals_and_software" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConcreteWorkServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "concrete_work_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConstructionMaterials) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "construction_materials" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConsultingPublicRelations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "consulting_public_relations" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCorrespondenceSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "correspondence_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCosmeticStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cosmetic_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCounselingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "counseling_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCountryClubs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "country_clubs" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCourierServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "courier_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCourtCosts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "court_costs" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCreditReportingAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_reporting_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCruiseLines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cruise_lines" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDairyProductsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dairy_products_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDanceHallStudiosSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dance_hall_studios_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDatingEscortServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dating_escort_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDentistsOrthodontists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dentists_orthodontists" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDepartmentStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "department_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDetectiveAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "detective_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsApplications) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_applications" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsGames) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_games" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsLargeVolume) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_large_volume" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsMedia) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_media" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingCatalogMerchant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_catalog_merchant" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_combination_catalog_and_retail_merchant" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingInboundTelemarketing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_inbound_telemarketing" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingInsuranceServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_insurance_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingOther) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_other" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingOutboundTelemarketing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_outbound_telemarketing" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_subscription" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingTravel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_travel" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDiscountStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDoctors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "doctors" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDoorToDoorSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "door_to_door_sales" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drapery_window_covering_and_upholstery_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrinkingPlaces) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drinking_places" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrugStoresAndPharmacies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drug_stores_and_pharmacies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drugs_drug_proprietaries_and_druggist_sundries" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDryCleaners) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dry_cleaners" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDurableGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "durable_goods" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDutyFreeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duty_free_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEatingPlacesRestaurants) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eating_places_restaurants" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEducationalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "educational_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricRazorStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electric_razor_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricalPartsAndEquipment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_parts_and_equipment" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectronicsRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_repair_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectronicsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElementarySecondarySchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "elementary_secondary_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEmploymentTempAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "employment_temp_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEquipmentRental) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "equipment_rental" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringExterminatingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exterminating_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFamilyClothingStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "family_clothing_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFastFoodRestaurants) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fast_food_restaurants" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFinancialInstitutions) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "financial_institutions" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFinesGovernmentAdministrativeEntities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fines_government_administrative_entities" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fireplace_fireplace_screens_and_accessories_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFloorCoveringStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "floor_covering_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFlorists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists_supplies_nursery_stock_and_flowers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFreezerAndLockerMeatProvisioners) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "freezer_and_locker_meat_provisioners" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFuelDealersNonAutomotive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fuel_dealers_non_automotive" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFuneralServicesCrematories) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "funeral_services_crematories" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_home_furnishings_and_equipment_stores_except_appliances" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurnitureRepairRefinishing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_repair_refinishing" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurriersAndFurShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furriers_and_fur_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGeneralServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "general_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGiftCardNoveltyAndSouvenirShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "gift_card_novelty_and_souvenir_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGlassPaintAndWallpaperStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glass_paint_and_wallpaper_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGlasswareCrystalStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glassware_crystal_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGolfCoursesPublic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "golf_courses_public" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGovernmentServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGroceryStoresSupermarkets) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "grocery_stores_supermarkets" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHardwareEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_equipment_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHardwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHealthAndBeautySpas) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "health_and_beauty_spas" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHearingAidsSalesAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hearing_aids_sales_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHeatingPlumbingAC) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "heating_plumbing_a_c" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHobbyToyAndGameShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hobby_toy_and_game_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHomeSupplyWarehouseStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "home_supply_warehouse_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHospitals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hospitals" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHotelsMotelsAndResorts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hotels_motels_and_resorts" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHouseholdApplianceStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "household_appliance_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringIndustrialSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "industrial_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInformationRetrievalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "information_retrieval_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInsuranceDefault) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_default" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInsuranceUnderwritingPremiums) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_underwriting_premiums" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringIntraCompanyPurchases) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "intra_company_purchases" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jewelry_stores_watches_clocks_and_silverware_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLandscapingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "landscaping_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLaundries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundries" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLaundryCleaningServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundry_cleaning_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLegalServicesAttorneys) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "legal_services_attorneys" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLuggageAndLeatherGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "luggage_and_leather_goods_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLumberBuildingMaterialsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lumber_building_materials_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringManualCashDisburse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual_cash_disburse" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMarinasServiceAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "marinas_service_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMasonryStoneworkAndPlaster) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masonry_stonework_and_plaster" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMassageParlors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "massage_parlors" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalAndDentalLabs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_and_dental_labs" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMembershipOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "membership_organizations" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_and_boys_clothing_and_accessories_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMensWomensClothingStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_womens_clothing_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMetalServiceCenters) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metal_service_centers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneous) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousApparelAndAccessoryShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_apparel_and_accessory_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousAutoDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_auto_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousBusinessServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_business_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousFoodStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_food_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralMerchandise) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_merchandise" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_home_furnishing_specialty_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousPublishingAndPrinting) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_publishing_and_printing" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousRecreationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_recreation_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_repair_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousSpecialtyRetail) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_specialty_retail" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMobileHomeDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mobile_home_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotionPictureTheaters) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motion_picture_theaters" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorFreightCarriersAndTrucking) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_freight_carriers_and_trucking" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorHomesDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_homes_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorVehicleSuppliesAndNewParts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_vehicle_supplies_and_new_parts" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsAndDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_and_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "music_stores_musical_instruments_pianos_and_sheet_music" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNewsDealersAndNewsstands) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "news_dealers_and_newsstands" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNonFiMoneyOrders) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_money_orders" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNonFiStoredValueCardPurchaseLoad) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_stored_value_card_purchase_load" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNondurableGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nondurable_goods" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNurseriesLawnAndGardenSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nurseries_lawn_and_garden_supply_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNursingPersonalCare) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nursing_personal_care" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOfficeAndCommercialFurniture) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "office_and_commercial_furniture" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOpticiansEyeglasses) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "opticians_eyeglasses" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOptometristsOphthalmologist) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "optometrists_ophthalmologist" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOrthopedicGoodsProstheticDevices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "orthopedic_goods_prosthetic_devices" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOsteopaths) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "osteopaths" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPackageStoresBeerWineAndLiquor) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "package_stores_beer_wine_and_liquor" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPaintsVarnishesAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paints_varnishes_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringParkingLotsGarages) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "parking_lots_garages" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPassengerRailways) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "passenger_railways" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPawnShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pawn_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPetShopsPetFoodAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pet_shops_pet_food_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPetroleumAndPetroleumProducts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "petroleum_and_petroleum_products" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotoDeveloping) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photo_developing" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_photocopy_microfilm_equipment_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotographicStudios) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_studios" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPictureVideoProduction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "picture_video_production" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "piece_goods_notions_and_other_dry_goods" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plumbing_heating_equipment_and_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPoliticalOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "political_organizations" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPostalServicesGovernmentOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "postal_services_government_only" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "precious_stones_and_metals_watches_and_jewelry" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringProfessionalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "professional_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPublicWarehousingAndStorage) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_warehousing_and_storage" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringQuickCopyReproAndBlueprint) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "quick_copy_repro_and_blueprint" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRailroads) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "railroads" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRealEstateAgentsAndManagersRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "real_estate_agents_and_managers_rentals" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRecordStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "record_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRecreationalVehicleRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recreational_vehicle_rentals" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringReligiousGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_goods_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringReligiousOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_organizations" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRoofingSidingSheetMetal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "roofing_siding_sheet_metal" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSecretarialSupportServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "secretarial_support_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSecurityBrokersDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "security_brokers_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringServiceStations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service_stations" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sewing_needlework_fabric_and_piece_goods_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringShoeRepairHatCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_repair_hat_cleaning" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringShoeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSmallApplianceRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "small_appliance_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSnowmobileDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "snowmobile_dealers" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSpecialTradeServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "special_trade_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSpecialtyCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "specialty_cleaning" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportingGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_goods_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportingRecreationCamps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_recreation_camps" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportsAndRidingApparelStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_and_riding_apparel_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportsClubsFields) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_clubs_fields" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStampAndCoinStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stamp_and_coin_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationary_office_supplies_printing_and_writing_paper" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationery_stores_office_and_school_supply_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSwimmingPoolsSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swimming_pools_sales" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTUiTravelGermany) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "t_ui_travel_germany" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTailorsAlterations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tailors_alterations" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxPaymentsGovernmentAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_payments_government_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxPreparationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_preparation_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxicabsLimousines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "taxicabs_limousines" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_equipment_and_telephone_sales" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelecommunicationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelegraphServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telegraph_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTentAndAwningShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tent_and_awning_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTestingLaboratories) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "testing_laboratories" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTheatricalTicketAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theatrical_ticket_agencies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTimeshares) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "timeshares" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTireRetreadingAndRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tire_retreading_and_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTollsBridgeFees) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tolls_bridge_fees" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTouristAttractionsAndExhibits) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tourist_attractions_and_exhibits" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTowingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "towing_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTrailerParksCampgrounds) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trailer_parks_campgrounds" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTransportationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transportation_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTravelAgenciesTourOperators) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "travel_agencies_tour_operators" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTruckStopIteration) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_stop_iteration" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTruckUtilityTrailerRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_utility_trailer_rentals" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTypesettingPlateMakingAndRelatedServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typesetting_plate_making_and_related_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTypewriterStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typewriter_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "u_s_federal_government_agencies_or_departments" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUniformsCommercialClothing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uniforms_commercial_clothing" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUsedMerchandiseAndSecondhandStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "used_merchandise_and_secondhand_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUtilities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "utilities" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVarietyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "variety_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVeterinaryServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "veterinary_services" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoAmusementGameSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_amusement_game_supplies" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoGameArcades) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_game_arcades" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoTapeRentalStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_tape_rental_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVocationalTradeSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "vocational_trade_schools" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWatchJewelryRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "watch_jewelry_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWeldingRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "welding_repair" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWholesaleClubs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wholesale_clubs" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWigAndToupeeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wig_and_toupee_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWiresMoneyOrders) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wires_money_orders" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWomensAccessoryAndSpecialtyShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_accessory_and_specialty_shops" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWomensReadyToWearStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_ready_to_wear_stores" toJSON (Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWreckingAndSalvageYards) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wrecking_and_salvage_yards" instance Data.Aeson.FromJSON Issuing'cardCardholder'AuthorizationControls'BlockedCategories' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ac_refrigeration_repair") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAcRefrigerationRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "accounting_bookkeeping_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAccountingBookkeepingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advertising_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAdvertisingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "agricultural_cooperative") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAgriculturalCooperative else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airlines_air_carriers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAirlinesAirCarriers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airports_flying_fields") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAirportsFlyingFields else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ambulance_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAmbulanceServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amusement_parks_carnivals") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAmusementParksCarnivals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_reproductions") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAntiqueReproductions else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAntiqueShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "aquariums") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAquariums else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "architectural_surveying_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArchitecturalSurveyingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "art_dealers_and_galleries") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArtDealersAndGalleries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "artists_supply_and_craft_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringArtistsSupplyAndCraftShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_and_home_supply_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoAndHomeSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_body_repair_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoBodyRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_paint_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoPaintShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_service_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutoServiceShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_cash_disburse") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomatedCashDisburse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_fuel_dispensers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomatedFuelDispensers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automobile_associations") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomobileAssociations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_parts_and_accessories_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomotivePartsAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_tire_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringAutomotiveTireStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bail_and_bond_payments") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBailAndBondPayments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bakeries") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBakeries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bands_orchestras") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBandsOrchestras else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "barber_and_beauty_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBarberAndBeautyShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "betting_casino_gambling") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBettingCasinoGambling else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bicycle_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBicycleShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "billiard_pool_establishments") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBilliardPoolEstablishments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_dealers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBoatDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_rentals_and_leases") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBoatRentalsAndLeases else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBookStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "books_periodicals_and_newspapers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBooksPeriodicalsAndNewspapers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bowling_alleys") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBowlingAlleys else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bus_lines") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBusLines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_secretarial_schools") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBusinessSecretarialSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "buying_shopping_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringBuyingShoppingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cable_satellite_and_other_pay_television_and_radio") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "camera_and_photographic_supply_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCameraAndPhotographicSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "candy_nut_and_confectionery_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCandyNutAndConfectioneryStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_new_used") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersNewUsed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_used_only") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersUsedOnly else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_rental_agencies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarRentalAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_washes") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarWashes else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpentry_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarpentryServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpet_upholstery_cleaning") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCarpetUpholsteryCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "caterers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCaterers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charitable_and_social_service_organizations_fundraising") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chemicals_and_allied_products") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChemicalsAndAlliedProducts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "child_care_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChildCareServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "childrens_and_infants_wear_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChildrensAndInfantsWearStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropodists_podiatrists") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChiropodistsPodiatrists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropractors") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringChiropractors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cigar_stores_and_stands") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCigarStoresAndStands else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "civic_social_fraternal_associations") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCivicSocialFraternalAssociations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cleaning_and_maintenance") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCleaningAndMaintenance else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "clothing_rental") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringClothingRental else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "colleges_universities") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCollegesUniversities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_equipment") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialEquipment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_footwear") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialFootwear else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_photography_art_and_graphics") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommercialPhotographyArtAndGraphics else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commuter_transport_and_ferries") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCommuterTransportAndFerries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_network_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerNetworkServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_programming") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerProgramming else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_repair") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_software_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputerSoftwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computers_peripherals_and_software") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringComputersPeripheralsAndSoftware else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "concrete_work_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConcreteWorkServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "construction_materials") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConstructionMaterials else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "consulting_public_relations") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringConsultingPublicRelations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "correspondence_schools") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCorrespondenceSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cosmetic_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCosmeticStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "counseling_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCounselingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "country_clubs") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCountryClubs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "courier_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCourierServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "court_costs") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCourtCosts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_reporting_agencies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCreditReportingAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cruise_lines") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringCruiseLines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dairy_products_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDairyProductsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dance_hall_studios_schools") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDanceHallStudiosSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dating_escort_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDatingEscortServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dentists_orthodontists") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDentistsOrthodontists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "department_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDepartmentStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "detective_agencies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDetectiveAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_applications") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsApplications else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_games") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsGames else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_large_volume") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsLargeVolume else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_media") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDigitalGoodsMedia else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_catalog_merchant") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingCatalogMerchant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_combination_catalog_and_retail_merchant") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_inbound_telemarketing") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingInboundTelemarketing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_insurance_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingInsuranceServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_other") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingOther else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_outbound_telemarketing") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingOutboundTelemarketing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_subscription") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingSubscription else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_travel") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDirectMarketingTravel else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDiscountStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "doctors") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDoctors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "door_to_door_sales") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDoorToDoorSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drapery_window_covering_and_upholstery_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drinking_places") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrinkingPlaces else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drug_stores_and_pharmacies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrugStoresAndPharmacies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drugs_drug_proprietaries_and_druggist_sundries") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dry_cleaners") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDryCleaners else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "durable_goods") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDurableGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duty_free_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringDutyFreeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eating_places_restaurants") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEatingPlacesRestaurants else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "educational_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEducationalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electric_razor_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricRazorStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_parts_and_equipment") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricalPartsAndEquipment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectricalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_repair_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectronicsRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElectronicsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "elementary_secondary_schools") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringElementarySecondarySchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "employment_temp_agencies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEmploymentTempAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "equipment_rental") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringEquipmentRental else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exterminating_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringExterminatingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "family_clothing_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFamilyClothingStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fast_food_restaurants") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFastFoodRestaurants else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "financial_institutions") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFinancialInstitutions else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fines_government_administrative_entities") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFinesGovernmentAdministrativeEntities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fireplace_fireplace_screens_and_accessories_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "floor_covering_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFloorCoveringStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFlorists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists_supplies_nursery_stock_and_flowers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "freezer_and_locker_meat_provisioners") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFreezerAndLockerMeatProvisioners else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fuel_dealers_non_automotive") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFuelDealersNonAutomotive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "funeral_services_crematories") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFuneralServicesCrematories else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_home_furnishings_and_equipment_stores_except_appliances") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_repair_refinishing") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurnitureRepairRefinishing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furriers_and_fur_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringFurriersAndFurShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "general_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGeneralServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "gift_card_novelty_and_souvenir_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGiftCardNoveltyAndSouvenirShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glass_paint_and_wallpaper_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGlassPaintAndWallpaperStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glassware_crystal_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGlasswareCrystalStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "golf_courses_public") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGolfCoursesPublic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGovernmentServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "grocery_stores_supermarkets") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringGroceryStoresSupermarkets else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_equipment_and_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHardwareEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHardwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "health_and_beauty_spas") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHealthAndBeautySpas else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hearing_aids_sales_and_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHearingAidsSalesAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "heating_plumbing_a_c") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHeatingPlumbingAC else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hobby_toy_and_game_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHobbyToyAndGameShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "home_supply_warehouse_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHomeSupplyWarehouseStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hospitals") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHospitals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hotels_motels_and_resorts") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHotelsMotelsAndResorts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "household_appliance_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringHouseholdApplianceStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "industrial_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringIndustrialSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "information_retrieval_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInformationRetrievalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_default") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInsuranceDefault else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_underwriting_premiums") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringInsuranceUnderwritingPremiums else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "intra_company_purchases") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringIntraCompanyPurchases else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jewelry_stores_watches_clocks_and_silverware_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "landscaping_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLandscapingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundries") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLaundries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundry_cleaning_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLaundryCleaningServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "legal_services_attorneys") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLegalServicesAttorneys else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "luggage_and_leather_goods_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLuggageAndLeatherGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lumber_building_materials_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringLumberBuildingMaterialsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual_cash_disburse") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringManualCashDisburse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "marinas_service_and_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMarinasServiceAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masonry_stonework_and_plaster") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMasonryStoneworkAndPlaster else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "massage_parlors") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMassageParlors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_and_dental_labs") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalAndDentalLabs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_dental_ophthalmic_and_hospital_equipment_and_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMedicalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "membership_organizations") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMembershipOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_and_boys_clothing_and_accessories_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_womens_clothing_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMensWomensClothingStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metal_service_centers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMetalServiceCenters else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneous else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_apparel_and_accessory_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousApparelAndAccessoryShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_auto_dealers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousAutoDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_business_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousBusinessServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_food_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousFoodStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_merchandise") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralMerchandise else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_home_furnishing_specialty_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_publishing_and_printing") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousPublishingAndPrinting else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_recreation_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousRecreationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_repair_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_specialty_retail") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMiscellaneousSpecialtyRetail else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mobile_home_dealers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMobileHomeDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motion_picture_theaters") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotionPictureTheaters else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_freight_carriers_and_trucking") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorFreightCarriersAndTrucking else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_homes_dealers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorHomesDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_vehicle_supplies_and_new_parts") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorVehicleSuppliesAndNewParts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_and_dealers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsAndDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_dealers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "music_stores_musical_instruments_pianos_and_sheet_music") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "news_dealers_and_newsstands") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNewsDealersAndNewsstands else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_money_orders") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNonFiMoneyOrders else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_stored_value_card_purchase_load") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNonFiStoredValueCardPurchaseLoad else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nondurable_goods") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNondurableGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nurseries_lawn_and_garden_supply_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNurseriesLawnAndGardenSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nursing_personal_care") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringNursingPersonalCare else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "office_and_commercial_furniture") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOfficeAndCommercialFurniture else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "opticians_eyeglasses") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOpticiansEyeglasses else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "optometrists_ophthalmologist") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOptometristsOphthalmologist else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "orthopedic_goods_prosthetic_devices") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOrthopedicGoodsProstheticDevices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "osteopaths") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringOsteopaths else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "package_stores_beer_wine_and_liquor") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPackageStoresBeerWineAndLiquor else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paints_varnishes_and_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPaintsVarnishesAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "parking_lots_garages") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringParkingLotsGarages else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "passenger_railways") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPassengerRailways else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pawn_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPawnShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pet_shops_pet_food_and_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPetShopsPetFoodAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "petroleum_and_petroleum_products") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPetroleumAndPetroleumProducts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photo_developing") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotoDeveloping else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_photocopy_microfilm_equipment_and_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_studios") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPhotographicStudios else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "picture_video_production") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPictureVideoProduction else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "piece_goods_notions_and_other_dry_goods") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plumbing_heating_equipment_and_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "political_organizations") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPoliticalOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "postal_services_government_only") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPostalServicesGovernmentOnly else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "precious_stones_and_metals_watches_and_jewelry") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "professional_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringProfessionalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_warehousing_and_storage") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringPublicWarehousingAndStorage else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "quick_copy_repro_and_blueprint") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringQuickCopyReproAndBlueprint else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "railroads") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRailroads else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "real_estate_agents_and_managers_rentals") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRealEstateAgentsAndManagersRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "record_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRecordStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recreational_vehicle_rentals") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRecreationalVehicleRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_goods_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringReligiousGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_organizations") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringReligiousOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "roofing_siding_sheet_metal") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringRoofingSidingSheetMetal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "secretarial_support_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSecretarialSupportServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "security_brokers_dealers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSecurityBrokersDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service_stations") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringServiceStations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sewing_needlework_fabric_and_piece_goods_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_repair_hat_cleaning") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringShoeRepairHatCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringShoeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "small_appliance_repair") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSmallApplianceRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "snowmobile_dealers") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSnowmobileDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "special_trade_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSpecialTradeServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "specialty_cleaning") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSpecialtyCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_goods_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportingGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_recreation_camps") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportingRecreationCamps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_and_riding_apparel_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportsAndRidingApparelStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_clubs_fields") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSportsClubsFields else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stamp_and_coin_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStampAndCoinStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationary_office_supplies_printing_and_writing_paper") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationery_stores_office_and_school_supply_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swimming_pools_sales") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringSwimmingPoolsSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "t_ui_travel_germany") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTUiTravelGermany else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tailors_alterations") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTailorsAlterations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_payments_government_agencies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxPaymentsGovernmentAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_preparation_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxPreparationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "taxicabs_limousines") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTaxicabsLimousines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_equipment_and_telephone_sales") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelecommunicationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telegraph_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTelegraphServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tent_and_awning_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTentAndAwningShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "testing_laboratories") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTestingLaboratories else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theatrical_ticket_agencies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTheatricalTicketAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "timeshares") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTimeshares else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tire_retreading_and_repair") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTireRetreadingAndRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tolls_bridge_fees") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTollsBridgeFees else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tourist_attractions_and_exhibits") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTouristAttractionsAndExhibits else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "towing_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTowingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trailer_parks_campgrounds") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTrailerParksCampgrounds else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transportation_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTransportationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "travel_agencies_tour_operators") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTravelAgenciesTourOperators else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_stop_iteration") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTruckStopIteration else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_utility_trailer_rentals") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTruckUtilityTrailerRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typesetting_plate_making_and_related_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTypesettingPlateMakingAndRelatedServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typewriter_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringTypewriterStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "u_s_federal_government_agencies_or_departments") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uniforms_commercial_clothing") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUniformsCommercialClothing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "used_merchandise_and_secondhand_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUsedMerchandiseAndSecondhandStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "utilities") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringUtilities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "variety_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVarietyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "veterinary_services") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVeterinaryServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_amusement_game_supplies") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoAmusementGameSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_game_arcades") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoGameArcades else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_tape_rental_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVideoTapeRentalStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "vocational_trade_schools") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringVocationalTradeSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "watch_jewelry_repair") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWatchJewelryRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "welding_repair") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWeldingRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wholesale_clubs") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWholesaleClubs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wig_and_toupee_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWigAndToupeeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wires_money_orders") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWiresMoneyOrders else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_accessory_and_specialty_shops") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWomensAccessoryAndSpecialtyShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_ready_to_wear_stores") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWomensReadyToWearStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wrecking_and_salvage_yards") then Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumStringWreckingAndSalvageYards else Issuing'cardCardholder'AuthorizationControls'BlockedCategories'EnumOther val) -- | Defines the data type for the schema issuing.cardCardholder\'Company\' -- -- Additional information about a \\\`business_entity\\\` cardholder. data Issuing'cardCardholder'Company' = Issuing'cardCardholder'Company' { -- | tax_id_provided: Whether the company\'s business ID number was provided. issuing'cardCardholder'Company'TaxIdProvided :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Company' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "tax_id_provided" (issuing'cardCardholder'Company'TaxIdProvided obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "tax_id_provided" (issuing'cardCardholder'Company'TaxIdProvided obj)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCardholder'Company' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardCardholder'Company'" (\obj -> GHC.Base.pure Issuing'cardCardholder'Company' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_id_provided")) -- | Defines the data type for the schema issuing.cardCardholder\'Individual\' -- -- Additional information about an \\\`individual\\\` cardholder. data Issuing'cardCardholder'Individual' = Issuing'cardCardholder'Individual' { -- | dob: The date of birth of this cardholder. issuing'cardCardholder'Individual'Dob :: (GHC.Maybe.Maybe Issuing'cardCardholder'Individual'Dob') -- | first_name: The first name of this cardholder. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardCardholder'Individual'FirstName :: (GHC.Maybe.Maybe GHC.Base.String) -- | last_name: The last name of this cardholder. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardCardholder'Individual'LastName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verification: Government-issued ID document for this cardholder. , issuing'cardCardholder'Individual'Verification :: (GHC.Maybe.Maybe Issuing'cardCardholder'Individual'Verification') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Individual' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dob" (issuing'cardCardholder'Individual'Dob obj) : (Data.Aeson..=) "first_name" (issuing'cardCardholder'Individual'FirstName obj) : (Data.Aeson..=) "last_name" (issuing'cardCardholder'Individual'LastName obj) : (Data.Aeson..=) "verification" (issuing'cardCardholder'Individual'Verification obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dob" (issuing'cardCardholder'Individual'Dob obj) GHC.Base.<> ((Data.Aeson..=) "first_name" (issuing'cardCardholder'Individual'FirstName obj) GHC.Base.<> ((Data.Aeson..=) "last_name" (issuing'cardCardholder'Individual'LastName obj) GHC.Base.<> (Data.Aeson..=) "verification" (issuing'cardCardholder'Individual'Verification obj)))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCardholder'Individual' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardCardholder'Individual'" (\obj -> (((GHC.Base.pure Issuing'cardCardholder'Individual' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dob")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "first_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verification")) -- | Defines the data type for the schema issuing.cardCardholder\'Individual\'Dob\' -- -- The date of birth of this cardholder. data Issuing'cardCardholder'Individual'Dob' = Issuing'cardCardholder'Individual'Dob' { -- | day: The day of birth, between 1 and 31. issuing'cardCardholder'Individual'Dob'Day :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | month: The month of birth, between 1 and 12. , issuing'cardCardholder'Individual'Dob'Month :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | year: The four-digit year of birth. , issuing'cardCardholder'Individual'Dob'Year :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Individual'Dob' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "day" (issuing'cardCardholder'Individual'Dob'Day obj) : (Data.Aeson..=) "month" (issuing'cardCardholder'Individual'Dob'Month obj) : (Data.Aeson..=) "year" (issuing'cardCardholder'Individual'Dob'Year obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "day" (issuing'cardCardholder'Individual'Dob'Day obj) GHC.Base.<> ((Data.Aeson..=) "month" (issuing'cardCardholder'Individual'Dob'Month obj) GHC.Base.<> (Data.Aeson..=) "year" (issuing'cardCardholder'Individual'Dob'Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCardholder'Individual'Dob' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardCardholder'Individual'Dob'" (\obj -> ((GHC.Base.pure Issuing'cardCardholder'Individual'Dob' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "day")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "year")) -- | Defines the data type for the schema issuing.cardCardholder\'Individual\'Verification\' -- -- Government-issued ID document for this cardholder. data Issuing'cardCardholder'Individual'Verification' = Issuing'cardCardholder'Individual'Verification' { -- | document: An identifying document, either a passport or local ID card. issuing'cardCardholder'Individual'Verification'Document :: (GHC.Maybe.Maybe Issuing'cardCardholder'Individual'Verification'Document') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Individual'Verification' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "document" (issuing'cardCardholder'Individual'Verification'Document obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "document" (issuing'cardCardholder'Individual'Verification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCardholder'Individual'Verification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardCardholder'Individual'Verification'" (\obj -> GHC.Base.pure Issuing'cardCardholder'Individual'Verification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Defines the data type for the schema issuing.cardCardholder\'Individual\'Verification\'Document\' -- -- An identifying document, either a passport or local ID card. data Issuing'cardCardholder'Individual'Verification'Document' = Issuing'cardCardholder'Individual'Verification'Document' { -- | back: The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. issuing'cardCardholder'Individual'Verification'Document'Back :: (GHC.Maybe.Maybe Issuing'cardCardholder'Individual'Verification'Document'Back'Variants) -- | front: The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. , issuing'cardCardholder'Individual'Verification'Document'Front :: (GHC.Maybe.Maybe Issuing'cardCardholder'Individual'Verification'Document'Front'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Individual'Verification'Document' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "back" (issuing'cardCardholder'Individual'Verification'Document'Back obj) : (Data.Aeson..=) "front" (issuing'cardCardholder'Individual'Verification'Document'Front obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "back" (issuing'cardCardholder'Individual'Verification'Document'Back obj) GHC.Base.<> (Data.Aeson..=) "front" (issuing'cardCardholder'Individual'Verification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCardholder'Individual'Verification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardCardholder'Individual'Verification'Document'" (\obj -> (GHC.Base.pure Issuing'cardCardholder'Individual'Verification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Define the one-of schema issuing.cardCardholder\'Individual\'Verification\'Document\'Back\' -- -- The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data Issuing'cardCardholder'Individual'Verification'Document'Back'Variants = Issuing'cardCardholder'Individual'Verification'Document'Back'File File | Issuing'cardCardholder'Individual'Verification'Document'Back'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'cardCardholder'Individual'Verification'Document'Back'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'cardCardholder'Individual'Verification'Document'Back'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing.cardCardholder\'Individual\'Verification\'Document\'Front\' -- -- The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data Issuing'cardCardholder'Individual'Verification'Document'Front'Variants = Issuing'cardCardholder'Individual'Verification'Document'Front'File File | Issuing'cardCardholder'Individual'Verification'Document'Front'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'cardCardholder'Individual'Verification'Document'Front'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'cardCardholder'Individual'Verification'Document'Front'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing.cardCardholder\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data Issuing'cardCardholder'Metadata' = Issuing'cardCardholder'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardCardholder'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardCardholder'Metadata'" (\obj -> GHC.Base.pure Issuing'cardCardholder'Metadata') -- | Defines the enum schema issuing.cardCardholder\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Issuing'cardCardholder'Object' = Issuing'cardCardholder'Object'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardCardholder'Object'EnumTyped GHC.Base.String | Issuing'cardCardholder'Object'EnumStringIssuing'cardholder deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Object' where toJSON (Issuing'cardCardholder'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'Object'EnumStringIssuing'cardholder) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.cardholder" instance Data.Aeson.FromJSON Issuing'cardCardholder'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.cardholder") then Issuing'cardCardholder'Object'EnumStringIssuing'cardholder else Issuing'cardCardholder'Object'EnumOther val) -- | Defines the enum schema issuing.cardCardholder\'Status\' -- -- Specifies whether to permit authorizations on this cardholder\'s cards. data Issuing'cardCardholder'Status' = Issuing'cardCardholder'Status'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardCardholder'Status'EnumTyped GHC.Base.String | Issuing'cardCardholder'Status'EnumStringActive | Issuing'cardCardholder'Status'EnumStringBlocked | Issuing'cardCardholder'Status'EnumStringInactive deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Status' where toJSON (Issuing'cardCardholder'Status'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'Status'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'Status'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active" toJSON (Issuing'cardCardholder'Status'EnumStringBlocked) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "blocked" toJSON (Issuing'cardCardholder'Status'EnumStringInactive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive" instance Data.Aeson.FromJSON Issuing'cardCardholder'Status' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active") then Issuing'cardCardholder'Status'EnumStringActive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "blocked") then Issuing'cardCardholder'Status'EnumStringBlocked else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive") then Issuing'cardCardholder'Status'EnumStringInactive else Issuing'cardCardholder'Status'EnumOther val) -- | Defines the enum schema issuing.cardCardholder\'Type\' -- -- One of \`individual\` or \`business_entity\`. data Issuing'cardCardholder'Type' = Issuing'cardCardholder'Type'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardCardholder'Type'EnumTyped GHC.Base.String | Issuing'cardCardholder'Type'EnumStringBusinessEntity | Issuing'cardCardholder'Type'EnumStringIndividual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardCardholder'Type' where toJSON (Issuing'cardCardholder'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardCardholder'Type'EnumStringBusinessEntity) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_entity" toJSON (Issuing'cardCardholder'Type'EnumStringIndividual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual" instance Data.Aeson.FromJSON Issuing'cardCardholder'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_entity") then Issuing'cardCardholder'Type'EnumStringBusinessEntity else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual") then Issuing'cardCardholder'Type'EnumStringIndividual else Issuing'cardCardholder'Type'EnumOther val) -- | Defines the data type for the schema issuing.cardMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data Issuing'cardMetadata' = Issuing'cardMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardMetadata'" (\obj -> GHC.Base.pure Issuing'cardMetadata') -- | Defines the enum schema issuing.cardObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Issuing'cardObject' = Issuing'cardObject'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardObject'EnumTyped GHC.Base.String | Issuing'cardObject'EnumStringIssuing'card deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardObject' where toJSON (Issuing'cardObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardObject'EnumStringIssuing'card) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.card" instance Data.Aeson.FromJSON Issuing'cardObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.card") then Issuing'cardObject'EnumStringIssuing'card else Issuing'cardObject'EnumOther val) -- | Defines the data type for the schema issuing.cardPin\' -- -- Metadata about the PIN on the card. data Issuing'cardPin' = Issuing'cardPin' { -- | status: Wether the PIN will be accepted or not. issuing'cardPin'Status :: (GHC.Maybe.Maybe Issuing'cardPin'Status') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardPin' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "status" (issuing'cardPin'Status obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "status" (issuing'cardPin'Status obj)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardPin' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardPin'" (\obj -> GHC.Base.pure Issuing'cardPin' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) -- | Defines the enum schema issuing.cardPin\'Status\' -- -- Wether the PIN will be accepted or not. data Issuing'cardPin'Status' = Issuing'cardPin'Status'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardPin'Status'EnumTyped GHC.Base.String | Issuing'cardPin'Status'EnumStringActive | Issuing'cardPin'Status'EnumStringBlocked deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardPin'Status' where toJSON (Issuing'cardPin'Status'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardPin'Status'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardPin'Status'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active" toJSON (Issuing'cardPin'Status'EnumStringBlocked) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "blocked" instance Data.Aeson.FromJSON Issuing'cardPin'Status' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active") then Issuing'cardPin'Status'EnumStringActive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "blocked") then Issuing'cardPin'Status'EnumStringBlocked else Issuing'cardPin'Status'EnumOther val) -- | Define the one-of schema issuing.cardReplacement_for\' -- -- The card this card replaces, if any. data Issuing'cardReplacementFor'Variants = Issuing'cardReplacementFor'Issuing'card Issuing'card | Issuing'cardReplacementFor'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'cardReplacementFor'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'cardReplacementFor'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema issuing.cardReplacement_reason\' -- -- The reason why the previous card needed to be replaced. data Issuing'cardReplacementReason' = Issuing'cardReplacementReason'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardReplacementReason'EnumTyped GHC.Base.String | Issuing'cardReplacementReason'EnumStringDamage | Issuing'cardReplacementReason'EnumStringExpiration | Issuing'cardReplacementReason'EnumStringLoss | Issuing'cardReplacementReason'EnumStringTheft deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardReplacementReason' where toJSON (Issuing'cardReplacementReason'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardReplacementReason'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardReplacementReason'EnumStringDamage) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "damage" toJSON (Issuing'cardReplacementReason'EnumStringExpiration) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "expiration" toJSON (Issuing'cardReplacementReason'EnumStringLoss) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "loss" toJSON (Issuing'cardReplacementReason'EnumStringTheft) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theft" instance Data.Aeson.FromJSON Issuing'cardReplacementReason' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "damage") then Issuing'cardReplacementReason'EnumStringDamage else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "expiration") then Issuing'cardReplacementReason'EnumStringExpiration else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "loss") then Issuing'cardReplacementReason'EnumStringLoss else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theft") then Issuing'cardReplacementReason'EnumStringTheft else Issuing'cardReplacementReason'EnumOther val) -- | Defines the data type for the schema issuing.cardShipping\' -- -- 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.Integer.Type.Integer) -- | name: Recipient name. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardShipping'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | speed: Shipment speed. , issuing'cardShipping'Speed :: (GHC.Maybe.Maybe Issuing'cardShipping'Speed') -- | 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 GHC.Base.String) -- | 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 GHC.Base.String) -- | type: Packaging options. , issuing'cardShipping'Type :: (GHC.Maybe.Maybe Issuing'cardShipping'Type') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardShipping' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (issuing'cardShipping'Address obj) : (Data.Aeson..=) "carrier" (issuing'cardShipping'Carrier obj) : (Data.Aeson..=) "eta" (issuing'cardShipping'Eta obj) : (Data.Aeson..=) "name" (issuing'cardShipping'Name obj) : (Data.Aeson..=) "speed" (issuing'cardShipping'Speed obj) : (Data.Aeson..=) "status" (issuing'cardShipping'Status obj) : (Data.Aeson..=) "tracking_number" (issuing'cardShipping'TrackingNumber obj) : (Data.Aeson..=) "tracking_url" (issuing'cardShipping'TrackingUrl obj) : (Data.Aeson..=) "type" (issuing'cardShipping'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (issuing'cardShipping'Address obj) GHC.Base.<> ((Data.Aeson..=) "carrier" (issuing'cardShipping'Carrier obj) GHC.Base.<> ((Data.Aeson..=) "eta" (issuing'cardShipping'Eta obj) GHC.Base.<> ((Data.Aeson..=) "name" (issuing'cardShipping'Name obj) GHC.Base.<> ((Data.Aeson..=) "speed" (issuing'cardShipping'Speed obj) GHC.Base.<> ((Data.Aeson..=) "status" (issuing'cardShipping'Status obj) GHC.Base.<> ((Data.Aeson..=) "tracking_number" (issuing'cardShipping'TrackingNumber obj) GHC.Base.<> ((Data.Aeson..=) "tracking_url" (issuing'cardShipping'TrackingUrl obj) GHC.Base.<> (Data.Aeson..=) "type" (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..:? "speed")) 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")) -- | Defines the enum schema issuing.cardShipping\'Carrier\' -- -- The delivery company that shipped a card. data Issuing'cardShipping'Carrier' = Issuing'cardShipping'Carrier'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardShipping'Carrier'EnumTyped GHC.Base.String | Issuing'cardShipping'Carrier'EnumStringFedex | Issuing'cardShipping'Carrier'EnumStringUsps deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardShipping'Carrier' where toJSON (Issuing'cardShipping'Carrier'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardShipping'Carrier'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardShipping'Carrier'EnumStringFedex) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fedex" toJSON (Issuing'cardShipping'Carrier'EnumStringUsps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "usps" instance Data.Aeson.FromJSON Issuing'cardShipping'Carrier' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fedex") then Issuing'cardShipping'Carrier'EnumStringFedex else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "usps") then Issuing'cardShipping'Carrier'EnumStringUsps else Issuing'cardShipping'Carrier'EnumOther val) -- | Defines the enum schema issuing.cardShipping\'Speed\' -- -- Shipment speed. data Issuing'cardShipping'Speed' = Issuing'cardShipping'Speed'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardShipping'Speed'EnumTyped GHC.Base.String | Issuing'cardShipping'Speed'EnumStringExpress | Issuing'cardShipping'Speed'EnumStringOvernight | Issuing'cardShipping'Speed'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardShipping'Speed' where toJSON (Issuing'cardShipping'Speed'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardShipping'Speed'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardShipping'Speed'EnumStringExpress) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "express" toJSON (Issuing'cardShipping'Speed'EnumStringOvernight) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "overnight" toJSON (Issuing'cardShipping'Speed'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON Issuing'cardShipping'Speed' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "express") then Issuing'cardShipping'Speed'EnumStringExpress else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "overnight") then Issuing'cardShipping'Speed'EnumStringOvernight else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then Issuing'cardShipping'Speed'EnumStringStandard else Issuing'cardShipping'Speed'EnumOther val) -- | Defines the enum schema issuing.cardShipping\'Status\' -- -- The delivery status of the card. data Issuing'cardShipping'Status' = Issuing'cardShipping'Status'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardShipping'Status'EnumTyped GHC.Base.String | Issuing'cardShipping'Status'EnumStringCanceled | Issuing'cardShipping'Status'EnumStringDelivered | Issuing'cardShipping'Status'EnumStringFailure | Issuing'cardShipping'Status'EnumStringPending | Issuing'cardShipping'Status'EnumStringReturned | Issuing'cardShipping'Status'EnumStringShipped deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardShipping'Status' where toJSON (Issuing'cardShipping'Status'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardShipping'Status'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardShipping'Status'EnumStringCanceled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled" toJSON (Issuing'cardShipping'Status'EnumStringDelivered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "delivered" toJSON (Issuing'cardShipping'Status'EnumStringFailure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "failure" toJSON (Issuing'cardShipping'Status'EnumStringPending) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending" toJSON (Issuing'cardShipping'Status'EnumStringReturned) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "returned" toJSON (Issuing'cardShipping'Status'EnumStringShipped) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shipped" instance Data.Aeson.FromJSON Issuing'cardShipping'Status' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled") then Issuing'cardShipping'Status'EnumStringCanceled else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "delivered") then Issuing'cardShipping'Status'EnumStringDelivered else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "failure") then Issuing'cardShipping'Status'EnumStringFailure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending") then Issuing'cardShipping'Status'EnumStringPending else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "returned") then Issuing'cardShipping'Status'EnumStringReturned else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shipped") then Issuing'cardShipping'Status'EnumStringShipped else Issuing'cardShipping'Status'EnumOther val) -- | Defines the enum schema issuing.cardShipping\'Type\' -- -- Packaging options. data Issuing'cardShipping'Type' = Issuing'cardShipping'Type'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardShipping'Type'EnumTyped GHC.Base.String | Issuing'cardShipping'Type'EnumStringBulk | Issuing'cardShipping'Type'EnumStringIndividual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardShipping'Type' where toJSON (Issuing'cardShipping'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardShipping'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardShipping'Type'EnumStringBulk) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bulk" toJSON (Issuing'cardShipping'Type'EnumStringIndividual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual" instance Data.Aeson.FromJSON Issuing'cardShipping'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bulk") then Issuing'cardShipping'Type'EnumStringBulk else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual") then Issuing'cardShipping'Type'EnumStringIndividual else Issuing'cardShipping'Type'EnumOther val) -- | Defines the enum schema issuing.cardStatus\' -- -- Whether authorizations can be approved on this card. data Issuing'cardStatus' = Issuing'cardStatus'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardStatus'EnumTyped GHC.Base.String | Issuing'cardStatus'EnumStringActive | Issuing'cardStatus'EnumStringCanceled | Issuing'cardStatus'EnumStringInactive | Issuing'cardStatus'EnumStringLost | Issuing'cardStatus'EnumStringStolen deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardStatus' where toJSON (Issuing'cardStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardStatus'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active" toJSON (Issuing'cardStatus'EnumStringCanceled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled" toJSON (Issuing'cardStatus'EnumStringInactive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive" toJSON (Issuing'cardStatus'EnumStringLost) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lost" toJSON (Issuing'cardStatus'EnumStringStolen) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stolen" instance Data.Aeson.FromJSON Issuing'cardStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active") then Issuing'cardStatus'EnumStringActive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled") then Issuing'cardStatus'EnumStringCanceled else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive") then Issuing'cardStatus'EnumStringInactive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lost") then Issuing'cardStatus'EnumStringLost else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stolen") then Issuing'cardStatus'EnumStringStolen else Issuing'cardStatus'EnumOther val) -- | Defines the enum schema issuing.cardType\' -- -- The type of the card. data Issuing'cardType' = Issuing'cardType'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardType'EnumTyped GHC.Base.String | Issuing'cardType'EnumStringPhysical | Issuing'cardType'EnumStringVirtual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardType' where toJSON (Issuing'cardType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardType'EnumStringPhysical) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "physical" toJSON (Issuing'cardType'EnumStringVirtual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "virtual" instance Data.Aeson.FromJSON Issuing'cardType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "physical") then Issuing'cardType'EnumStringPhysical else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "virtual") then Issuing'cardType'EnumStringVirtual else Issuing'cardType'EnumOther val) -- | Defines the data type for the schema issuing.card_details -- -- data Issuing'cardDetails = Issuing'cardDetails { -- | card: You can [create physical or virtual cards](https:\/\/stripe.com\/docs\/issuing\/cards) that are issued to cardholders. issuing'cardDetailsCard :: Issuing'card -- | cvc: The CVC number for the card. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardDetailsCvc :: GHC.Base.String -- | exp_month: The expiration month of the card. , issuing'cardDetailsExpMonth :: GHC.Integer.Type.Integer -- | exp_year: The expiration year of the card. , issuing'cardDetailsExpYear :: GHC.Integer.Type.Integer -- | number: The card number. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardDetailsNumber :: GHC.Base.String -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuing'cardDetailsObject :: Issuing'cardDetailsObject' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardDetails where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "card" (issuing'cardDetailsCard obj) : (Data.Aeson..=) "cvc" (issuing'cardDetailsCvc obj) : (Data.Aeson..=) "exp_month" (issuing'cardDetailsExpMonth obj) : (Data.Aeson..=) "exp_year" (issuing'cardDetailsExpYear obj) : (Data.Aeson..=) "number" (issuing'cardDetailsNumber obj) : (Data.Aeson..=) "object" (issuing'cardDetailsObject obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "card" (issuing'cardDetailsCard obj) GHC.Base.<> ((Data.Aeson..=) "cvc" (issuing'cardDetailsCvc obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (issuing'cardDetailsExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (issuing'cardDetailsExpYear obj) GHC.Base.<> ((Data.Aeson..=) "number" (issuing'cardDetailsNumber obj) GHC.Base.<> (Data.Aeson..=) "object" (issuing'cardDetailsObject obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardDetails where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardDetails" (\obj -> (((((GHC.Base.pure Issuing'cardDetails GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "card")) 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..: "number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) -- | Defines the enum schema issuing.card_detailsObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Issuing'cardDetailsObject' = Issuing'cardDetailsObject'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardDetailsObject'EnumTyped GHC.Base.String | Issuing'cardDetailsObject'EnumStringIssuing'cardDetails deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardDetailsObject' where toJSON (Issuing'cardDetailsObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardDetailsObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardDetailsObject'EnumStringIssuing'cardDetails) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.card_details" instance Data.Aeson.FromJSON Issuing'cardDetailsObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.card_details") then Issuing'cardDetailsObject'EnumStringIssuing'cardDetails else Issuing'cardDetailsObject'EnumOther val) -- | Defines the data type for the schema issuing.card_pin -- -- The PIN of a \`Card\` object data Issuing'cardPin = Issuing'cardPin { -- | card: You can [create physical or virtual cards](https:\/\/stripe.com\/docs\/issuing\/cards) that are issued to cardholders. issuing'cardPinCard :: Issuing'card -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuing'cardPinObject :: Issuing'cardPinObject' -- | pin: The PIN (4 digits number) -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardPinPin :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardPin where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "card" (issuing'cardPinCard obj) : (Data.Aeson..=) "object" (issuing'cardPinObject obj) : (Data.Aeson..=) "pin" (issuing'cardPinPin obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "card" (issuing'cardPinCard obj) GHC.Base.<> ((Data.Aeson..=) "object" (issuing'cardPinObject obj) GHC.Base.<> (Data.Aeson..=) "pin" (issuing'cardPinPin obj))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardPin where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardPin" (\obj -> ((GHC.Base.pure Issuing'cardPin GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "pin")) -- | Defines the enum schema issuing.card_pinObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Issuing'cardPinObject' = Issuing'cardPinObject'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardPinObject'EnumTyped GHC.Base.String | Issuing'cardPinObject'EnumStringIssuing'cardPin deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardPinObject' where toJSON (Issuing'cardPinObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardPinObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardPinObject'EnumStringIssuing'cardPin) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.card_pin" instance Data.Aeson.FromJSON Issuing'cardPinObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.card_pin") then Issuing'cardPinObject'EnumStringIssuing'cardPin else Issuing'cardPinObject'EnumOther val) -- | Defines the data type for the schema issuing.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) data Issuing'cardholder = Issuing'cardholder { -- | authorization_controls: Spending rules that give you some control over how this cardholder\'s cards can be used. Refer to our [authorizations](https:\/\/stripe.com\/docs\/issuing\/authorizations) documentation for more details. issuing'cardholderAuthorizationControls :: (GHC.Maybe.Maybe Issuing'cardholderAuthorizationControls') -- | billing: , issuing'cardholderBilling :: IssuingCardholderAddress -- | company: Additional information about a \`business_entity\` cardholder. , issuing'cardholderCompany :: (GHC.Maybe.Maybe Issuing'cardholderCompany') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , issuing'cardholderCreated :: GHC.Integer.Type.Integer -- | email: The cardholder\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardholderEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardholderId :: GHC.Base.String -- | individual: Additional information about an \`individual\` cardholder. , issuing'cardholderIndividual :: (GHC.Maybe.Maybe Issuing'cardholderIndividual') -- | is_default: Whether or not this cardholder is the default cardholder. , issuing'cardholderIsDefault :: GHC.Types.Bool -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , issuing'cardholderLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , issuing'cardholderMetadata :: Issuing'cardholderMetadata' -- | name: The cardholder\'s name. This will be printed on cards issued to them. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardholderName :: GHC.Base.String -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuing'cardholderObject :: Issuing'cardholderObject' -- | phone_number: The cardholder\'s phone number. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardholderPhoneNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | requirements: , issuing'cardholderRequirements :: IssuingCardholderRequirements -- | status: Specifies whether to permit authorizations on this cardholder\'s cards. , issuing'cardholderStatus :: Issuing'cardholderStatus' -- | type: One of \`individual\` or \`business_entity\`. , issuing'cardholderType :: Issuing'cardholderType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholder where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "authorization_controls" (issuing'cardholderAuthorizationControls obj) : (Data.Aeson..=) "billing" (issuing'cardholderBilling obj) : (Data.Aeson..=) "company" (issuing'cardholderCompany obj) : (Data.Aeson..=) "created" (issuing'cardholderCreated obj) : (Data.Aeson..=) "email" (issuing'cardholderEmail obj) : (Data.Aeson..=) "id" (issuing'cardholderId obj) : (Data.Aeson..=) "individual" (issuing'cardholderIndividual obj) : (Data.Aeson..=) "is_default" (issuing'cardholderIsDefault obj) : (Data.Aeson..=) "livemode" (issuing'cardholderLivemode obj) : (Data.Aeson..=) "metadata" (issuing'cardholderMetadata obj) : (Data.Aeson..=) "name" (issuing'cardholderName obj) : (Data.Aeson..=) "object" (issuing'cardholderObject obj) : (Data.Aeson..=) "phone_number" (issuing'cardholderPhoneNumber obj) : (Data.Aeson..=) "requirements" (issuing'cardholderRequirements obj) : (Data.Aeson..=) "status" (issuing'cardholderStatus obj) : (Data.Aeson..=) "type" (issuing'cardholderType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "authorization_controls" (issuing'cardholderAuthorizationControls obj) GHC.Base.<> ((Data.Aeson..=) "billing" (issuing'cardholderBilling obj) GHC.Base.<> ((Data.Aeson..=) "company" (issuing'cardholderCompany obj) GHC.Base.<> ((Data.Aeson..=) "created" (issuing'cardholderCreated obj) GHC.Base.<> ((Data.Aeson..=) "email" (issuing'cardholderEmail obj) GHC.Base.<> ((Data.Aeson..=) "id" (issuing'cardholderId obj) GHC.Base.<> ((Data.Aeson..=) "individual" (issuing'cardholderIndividual obj) GHC.Base.<> ((Data.Aeson..=) "is_default" (issuing'cardholderIsDefault obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (issuing'cardholderLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (issuing'cardholderMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (issuing'cardholderName obj) GHC.Base.<> ((Data.Aeson..=) "object" (issuing'cardholderObject obj) GHC.Base.<> ((Data.Aeson..=) "phone_number" (issuing'cardholderPhoneNumber obj) GHC.Base.<> ((Data.Aeson..=) "requirements" (issuing'cardholderRequirements obj) GHC.Base.<> ((Data.Aeson..=) "status" (issuing'cardholderStatus obj) GHC.Base.<> (Data.Aeson..=) "type" (issuing'cardholderType obj)))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardholder where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardholder" (\obj -> (((((((((((((((GHC.Base.pure Issuing'cardholder GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "authorization_controls")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "billing")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "company")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "individual")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "is_default")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "requirements")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the data type for the schema issuing.cardholderAuthorization_controls\' -- -- Spending rules that give you some control over how this cardholder\\\'s cards can be used. Refer to our [authorizations](https:\\\/\\\/stripe.com\\\/docs\\\/issuing\\\/authorizations) documentation for more details. data Issuing'cardholderAuthorizationControls' = Issuing'cardholderAuthorizationControls' { -- | allowed_categories: Array of strings containing [categories](https:\/\/stripe.com\/docs\/api\#issuing_authorization_object-merchant_data-category) of authorizations permitted on this cardholder\'s cards. issuing'cardholderAuthorizationControls'AllowedCategories :: (GHC.Maybe.Maybe ([] Issuing'cardholderAuthorizationControls'AllowedCategories')) -- | blocked_categories: Array of strings containing [categories](https:\/\/stripe.com\/docs\/api\#issuing_authorization_object-merchant_data-category) of authorizations to always decline on this cardholder\'s cards. , issuing'cardholderAuthorizationControls'BlockedCategories :: (GHC.Maybe.Maybe ([] Issuing'cardholderAuthorizationControls'BlockedCategories')) -- | spending_limits: Limit the spending with rules based on time intervals and categories. , issuing'cardholderAuthorizationControls'SpendingLimits :: (GHC.Maybe.Maybe ([] IssuingCardholderSpendingLimit)) -- | spending_limits_currency: Currency for the amounts within spending_limits. , issuing'cardholderAuthorizationControls'SpendingLimitsCurrency :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderAuthorizationControls' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "allowed_categories" (issuing'cardholderAuthorizationControls'AllowedCategories obj) : (Data.Aeson..=) "blocked_categories" (issuing'cardholderAuthorizationControls'BlockedCategories obj) : (Data.Aeson..=) "spending_limits" (issuing'cardholderAuthorizationControls'SpendingLimits obj) : (Data.Aeson..=) "spending_limits_currency" (issuing'cardholderAuthorizationControls'SpendingLimitsCurrency obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "allowed_categories" (issuing'cardholderAuthorizationControls'AllowedCategories obj) GHC.Base.<> ((Data.Aeson..=) "blocked_categories" (issuing'cardholderAuthorizationControls'BlockedCategories obj) GHC.Base.<> ((Data.Aeson..=) "spending_limits" (issuing'cardholderAuthorizationControls'SpendingLimits obj) GHC.Base.<> (Data.Aeson..=) "spending_limits_currency" (issuing'cardholderAuthorizationControls'SpendingLimitsCurrency obj)))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardholderAuthorizationControls' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardholderAuthorizationControls'" (\obj -> (((GHC.Base.pure Issuing'cardholderAuthorizationControls' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "allowed_categories")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "blocked_categories")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "spending_limits")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "spending_limits_currency")) -- | Defines the enum schema issuing.cardholderAuthorization_controls\'Allowed_categories\' -- -- data Issuing'cardholderAuthorizationControls'AllowedCategories' = Issuing'cardholderAuthorizationControls'AllowedCategories'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumTyped GHC.Base.String | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAcRefrigerationRepair | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAccountingBookkeepingServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAdvertisingServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAgriculturalCooperative | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAirlinesAirCarriers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAirportsFlyingFields | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAmbulanceServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAmusementParksCarnivals | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAntiqueReproductions | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAntiqueShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAquariums | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArchitecturalSurveyingServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArtDealersAndGalleries | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArtistsSupplyAndCraftShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoAndHomeSupplyStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoBodyRepairShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoPaintShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoServiceShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomatedCashDisburse | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomatedFuelDispensers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomobileAssociations | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomotivePartsAndAccessoriesStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomotiveTireStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBailAndBondPayments | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBakeries | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBandsOrchestras | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBarberAndBeautyShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBettingCasinoGambling | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBicycleShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBilliardPoolEstablishments | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBoatDealers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBoatRentalsAndLeases | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBookStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBooksPeriodicalsAndNewspapers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBowlingAlleys | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBusLines | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBusinessSecretarialSchools | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBuyingShoppingServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCameraAndPhotographicSupplyStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCandyNutAndConfectioneryStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersNewUsed | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersUsedOnly | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarRentalAgencies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarWashes | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarpentryServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarpetUpholsteryCleaning | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCaterers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChemicalsAndAlliedProducts | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChildCareServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChildrensAndInfantsWearStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChiropodistsPodiatrists | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChiropractors | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCigarStoresAndStands | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCivicSocialFraternalAssociations | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCleaningAndMaintenance | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringClothingRental | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCollegesUniversities | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialEquipment | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialFootwear | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialPhotographyArtAndGraphics | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommuterTransportAndFerries | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerNetworkServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerProgramming | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerRepair | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerSoftwareStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputersPeripheralsAndSoftware | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConcreteWorkServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConstructionMaterials | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConsultingPublicRelations | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCorrespondenceSchools | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCosmeticStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCounselingServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCountryClubs | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCourierServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCourtCosts | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCreditReportingAgencies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCruiseLines | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDairyProductsStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDanceHallStudiosSchools | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDatingEscortServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDentistsOrthodontists | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDepartmentStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDetectiveAgencies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsApplications | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsGames | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsLargeVolume | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsMedia | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingCatalogMerchant | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingInboundTelemarketing | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingInsuranceServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingOther | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingOutboundTelemarketing | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingSubscription | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingTravel | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDiscountStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDoctors | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDoorToDoorSales | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrinkingPlaces | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrugStoresAndPharmacies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDryCleaners | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDurableGoods | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDutyFreeStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEatingPlacesRestaurants | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEducationalServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricRazorStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricalPartsAndEquipment | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricalServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectronicsRepairShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectronicsStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElementarySecondarySchools | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEmploymentTempAgencies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEquipmentRental | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringExterminatingServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFamilyClothingStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFastFoodRestaurants | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFinancialInstitutions | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFinesGovernmentAdministrativeEntities | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFloorCoveringStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFlorists | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFreezerAndLockerMeatProvisioners | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFuelDealersNonAutomotive | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFuneralServicesCrematories | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurnitureRepairRefinishing | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurriersAndFurShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGeneralServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGiftCardNoveltyAndSouvenirShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGlassPaintAndWallpaperStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGlasswareCrystalStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGolfCoursesPublic | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGovernmentServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGroceryStoresSupermarkets | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHardwareEquipmentAndSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHardwareStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHealthAndBeautySpas | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHearingAidsSalesAndSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHeatingPlumbingAC | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHobbyToyAndGameShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHomeSupplyWarehouseStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHospitals | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHotelsMotelsAndResorts | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHouseholdApplianceStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringIndustrialSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInformationRetrievalServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInsuranceDefault | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInsuranceUnderwritingPremiums | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringIntraCompanyPurchases | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLandscapingServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLaundries | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLaundryCleaningServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLegalServicesAttorneys | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLuggageAndLeatherGoodsStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLumberBuildingMaterialsStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringManualCashDisburse | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMarinasServiceAndSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMasonryStoneworkAndPlaster | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMassageParlors | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalAndDentalLabs | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMembershipOrganizations | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMensWomensClothingStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMetalServiceCenters | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneous | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousApparelAndAccessoryShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousAutoDealers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousBusinessServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousFoodStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralMerchandise | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousPublishingAndPrinting | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousRecreationServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousRepairShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousSpecialtyRetail | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMobileHomeDealers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotionPictureTheaters | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorFreightCarriersAndTrucking | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorHomesDealers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorVehicleSuppliesAndNewParts | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsAndDealers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsDealers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNewsDealersAndNewsstands | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNonFiMoneyOrders | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNonFiStoredValueCardPurchaseLoad | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNondurableGoods | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNurseriesLawnAndGardenSupplyStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNursingPersonalCare | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOfficeAndCommercialFurniture | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOpticiansEyeglasses | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOptometristsOphthalmologist | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOrthopedicGoodsProstheticDevices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOsteopaths | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPackageStoresBeerWineAndLiquor | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPaintsVarnishesAndSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringParkingLotsGarages | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPassengerRailways | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPawnShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPetShopsPetFoodAndSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPetroleumAndPetroleumProducts | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotoDeveloping | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotographicStudios | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPictureVideoProduction | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPoliticalOrganizations | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPostalServicesGovernmentOnly | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringProfessionalServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPublicWarehousingAndStorage | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringQuickCopyReproAndBlueprint | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRailroads | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRealEstateAgentsAndManagersRentals | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRecordStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRecreationalVehicleRentals | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringReligiousGoodsStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringReligiousOrganizations | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRoofingSidingSheetMetal | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSecretarialSupportServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSecurityBrokersDealers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringServiceStations | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringShoeRepairHatCleaning | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringShoeStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSmallApplianceRepair | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSnowmobileDealers | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSpecialTradeServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSpecialtyCleaning | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportingGoodsStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportingRecreationCamps | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportsAndRidingApparelStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportsClubsFields | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStampAndCoinStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSwimmingPoolsSales | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTUiTravelGermany | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTailorsAlterations | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxPaymentsGovernmentAgencies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxPreparationServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxicabsLimousines | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelecommunicationServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelegraphServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTentAndAwningShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTestingLaboratories | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTheatricalTicketAgencies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTimeshares | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTireRetreadingAndRepair | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTollsBridgeFees | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTouristAttractionsAndExhibits | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTowingServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTrailerParksCampgrounds | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTransportationServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTravelAgenciesTourOperators | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTruckStopIteration | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTruckUtilityTrailerRentals | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTypesettingPlateMakingAndRelatedServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTypewriterStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUniformsCommercialClothing | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUsedMerchandiseAndSecondhandStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUtilities | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVarietyStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVeterinaryServices | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoAmusementGameSupplies | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoGameArcades | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoTapeRentalStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVocationalTradeSchools | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWatchJewelryRepair | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWeldingRepair | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWholesaleClubs | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWigAndToupeeStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWiresMoneyOrders | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWomensAccessoryAndSpecialtyShops | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWomensReadyToWearStores | Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWreckingAndSalvageYards deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderAuthorizationControls'AllowedCategories' where toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAcRefrigerationRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ac_refrigeration_repair" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAccountingBookkeepingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "accounting_bookkeeping_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAdvertisingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advertising_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAgriculturalCooperative) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "agricultural_cooperative" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAirlinesAirCarriers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airlines_air_carriers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAirportsFlyingFields) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airports_flying_fields" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAmbulanceServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ambulance_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAmusementParksCarnivals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amusement_parks_carnivals" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAntiqueReproductions) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_reproductions" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAntiqueShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAquariums) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "aquariums" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArchitecturalSurveyingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "architectural_surveying_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArtDealersAndGalleries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "art_dealers_and_galleries" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArtistsSupplyAndCraftShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "artists_supply_and_craft_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoAndHomeSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_and_home_supply_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoBodyRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_body_repair_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoPaintShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_paint_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoServiceShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_service_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomatedCashDisburse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_cash_disburse" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomatedFuelDispensers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_fuel_dispensers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomobileAssociations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automobile_associations" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomotivePartsAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_parts_and_accessories_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomotiveTireStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_tire_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBailAndBondPayments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bail_and_bond_payments" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBakeries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bakeries" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBandsOrchestras) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bands_orchestras" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBarberAndBeautyShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "barber_and_beauty_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBettingCasinoGambling) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "betting_casino_gambling" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBicycleShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bicycle_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBilliardPoolEstablishments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "billiard_pool_establishments" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBoatDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_dealers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBoatRentalsAndLeases) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_rentals_and_leases" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBookStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBooksPeriodicalsAndNewspapers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "books_periodicals_and_newspapers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBowlingAlleys) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bowling_alleys" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBusLines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bus_lines" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBusinessSecretarialSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_secretarial_schools" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBuyingShoppingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "buying_shopping_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cable_satellite_and_other_pay_television_and_radio" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCameraAndPhotographicSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "camera_and_photographic_supply_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCandyNutAndConfectioneryStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "candy_nut_and_confectionery_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersNewUsed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_new_used" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersUsedOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_used_only" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarRentalAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_rental_agencies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarWashes) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_washes" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarpentryServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpentry_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarpetUpholsteryCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpet_upholstery_cleaning" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCaterers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "caterers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charitable_and_social_service_organizations_fundraising" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChemicalsAndAlliedProducts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chemicals_and_allied_products" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChildCareServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "child_care_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChildrensAndInfantsWearStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "childrens_and_infants_wear_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChiropodistsPodiatrists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropodists_podiatrists" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChiropractors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropractors" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCigarStoresAndStands) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cigar_stores_and_stands" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCivicSocialFraternalAssociations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "civic_social_fraternal_associations" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCleaningAndMaintenance) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cleaning_and_maintenance" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringClothingRental) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "clothing_rental" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCollegesUniversities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "colleges_universities" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialEquipment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_equipment" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialFootwear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_footwear" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialPhotographyArtAndGraphics) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_photography_art_and_graphics" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommuterTransportAndFerries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commuter_transport_and_ferries" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerNetworkServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_network_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerProgramming) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_programming" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_repair" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerSoftwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_software_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputersPeripheralsAndSoftware) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computers_peripherals_and_software" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConcreteWorkServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "concrete_work_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConstructionMaterials) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "construction_materials" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConsultingPublicRelations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "consulting_public_relations" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCorrespondenceSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "correspondence_schools" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCosmeticStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cosmetic_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCounselingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "counseling_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCountryClubs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "country_clubs" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCourierServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "courier_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCourtCosts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "court_costs" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCreditReportingAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_reporting_agencies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCruiseLines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cruise_lines" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDairyProductsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dairy_products_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDanceHallStudiosSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dance_hall_studios_schools" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDatingEscortServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dating_escort_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDentistsOrthodontists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dentists_orthodontists" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDepartmentStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "department_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDetectiveAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "detective_agencies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsApplications) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_applications" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsGames) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_games" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsLargeVolume) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_large_volume" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsMedia) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_media" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingCatalogMerchant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_catalog_merchant" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_combination_catalog_and_retail_merchant" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingInboundTelemarketing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_inbound_telemarketing" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingInsuranceServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_insurance_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingOther) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_other" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingOutboundTelemarketing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_outbound_telemarketing" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_subscription" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingTravel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_travel" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDiscountStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDoctors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "doctors" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDoorToDoorSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "door_to_door_sales" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drapery_window_covering_and_upholstery_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrinkingPlaces) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drinking_places" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrugStoresAndPharmacies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drug_stores_and_pharmacies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drugs_drug_proprietaries_and_druggist_sundries" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDryCleaners) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dry_cleaners" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDurableGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "durable_goods" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDutyFreeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duty_free_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEatingPlacesRestaurants) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eating_places_restaurants" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEducationalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "educational_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricRazorStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electric_razor_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricalPartsAndEquipment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_parts_and_equipment" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectronicsRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_repair_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectronicsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElementarySecondarySchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "elementary_secondary_schools" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEmploymentTempAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "employment_temp_agencies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEquipmentRental) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "equipment_rental" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringExterminatingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exterminating_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFamilyClothingStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "family_clothing_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFastFoodRestaurants) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fast_food_restaurants" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFinancialInstitutions) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "financial_institutions" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFinesGovernmentAdministrativeEntities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fines_government_administrative_entities" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fireplace_fireplace_screens_and_accessories_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFloorCoveringStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "floor_covering_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFlorists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists_supplies_nursery_stock_and_flowers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFreezerAndLockerMeatProvisioners) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "freezer_and_locker_meat_provisioners" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFuelDealersNonAutomotive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fuel_dealers_non_automotive" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFuneralServicesCrematories) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "funeral_services_crematories" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_home_furnishings_and_equipment_stores_except_appliances" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurnitureRepairRefinishing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_repair_refinishing" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurriersAndFurShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furriers_and_fur_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGeneralServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "general_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGiftCardNoveltyAndSouvenirShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "gift_card_novelty_and_souvenir_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGlassPaintAndWallpaperStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glass_paint_and_wallpaper_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGlasswareCrystalStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glassware_crystal_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGolfCoursesPublic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "golf_courses_public" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGovernmentServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGroceryStoresSupermarkets) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "grocery_stores_supermarkets" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHardwareEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_equipment_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHardwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHealthAndBeautySpas) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "health_and_beauty_spas" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHearingAidsSalesAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hearing_aids_sales_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHeatingPlumbingAC) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "heating_plumbing_a_c" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHobbyToyAndGameShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hobby_toy_and_game_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHomeSupplyWarehouseStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "home_supply_warehouse_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHospitals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hospitals" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHotelsMotelsAndResorts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hotels_motels_and_resorts" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHouseholdApplianceStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "household_appliance_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringIndustrialSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "industrial_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInformationRetrievalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "information_retrieval_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInsuranceDefault) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_default" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInsuranceUnderwritingPremiums) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_underwriting_premiums" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringIntraCompanyPurchases) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "intra_company_purchases" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jewelry_stores_watches_clocks_and_silverware_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLandscapingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "landscaping_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLaundries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundries" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLaundryCleaningServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundry_cleaning_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLegalServicesAttorneys) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "legal_services_attorneys" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLuggageAndLeatherGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "luggage_and_leather_goods_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLumberBuildingMaterialsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lumber_building_materials_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringManualCashDisburse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual_cash_disburse" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMarinasServiceAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "marinas_service_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMasonryStoneworkAndPlaster) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masonry_stonework_and_plaster" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMassageParlors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "massage_parlors" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalAndDentalLabs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_and_dental_labs" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMembershipOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "membership_organizations" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_and_boys_clothing_and_accessories_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMensWomensClothingStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_womens_clothing_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMetalServiceCenters) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metal_service_centers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneous) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousApparelAndAccessoryShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_apparel_and_accessory_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousAutoDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_auto_dealers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousBusinessServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_business_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousFoodStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_food_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralMerchandise) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_merchandise" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_home_furnishing_specialty_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousPublishingAndPrinting) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_publishing_and_printing" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousRecreationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_recreation_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_repair_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousSpecialtyRetail) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_specialty_retail" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMobileHomeDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mobile_home_dealers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotionPictureTheaters) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motion_picture_theaters" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorFreightCarriersAndTrucking) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_freight_carriers_and_trucking" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorHomesDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_homes_dealers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorVehicleSuppliesAndNewParts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_vehicle_supplies_and_new_parts" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsAndDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_and_dealers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_dealers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "music_stores_musical_instruments_pianos_and_sheet_music" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNewsDealersAndNewsstands) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "news_dealers_and_newsstands" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNonFiMoneyOrders) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_money_orders" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNonFiStoredValueCardPurchaseLoad) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_stored_value_card_purchase_load" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNondurableGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nondurable_goods" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNurseriesLawnAndGardenSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nurseries_lawn_and_garden_supply_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNursingPersonalCare) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nursing_personal_care" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOfficeAndCommercialFurniture) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "office_and_commercial_furniture" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOpticiansEyeglasses) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "opticians_eyeglasses" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOptometristsOphthalmologist) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "optometrists_ophthalmologist" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOrthopedicGoodsProstheticDevices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "orthopedic_goods_prosthetic_devices" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOsteopaths) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "osteopaths" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPackageStoresBeerWineAndLiquor) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "package_stores_beer_wine_and_liquor" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPaintsVarnishesAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paints_varnishes_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringParkingLotsGarages) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "parking_lots_garages" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPassengerRailways) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "passenger_railways" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPawnShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pawn_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPetShopsPetFoodAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pet_shops_pet_food_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPetroleumAndPetroleumProducts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "petroleum_and_petroleum_products" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotoDeveloping) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photo_developing" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_photocopy_microfilm_equipment_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotographicStudios) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_studios" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPictureVideoProduction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "picture_video_production" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "piece_goods_notions_and_other_dry_goods" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plumbing_heating_equipment_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPoliticalOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "political_organizations" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPostalServicesGovernmentOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "postal_services_government_only" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "precious_stones_and_metals_watches_and_jewelry" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringProfessionalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "professional_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPublicWarehousingAndStorage) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_warehousing_and_storage" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringQuickCopyReproAndBlueprint) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "quick_copy_repro_and_blueprint" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRailroads) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "railroads" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRealEstateAgentsAndManagersRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "real_estate_agents_and_managers_rentals" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRecordStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "record_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRecreationalVehicleRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recreational_vehicle_rentals" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringReligiousGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_goods_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringReligiousOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_organizations" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRoofingSidingSheetMetal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "roofing_siding_sheet_metal" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSecretarialSupportServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "secretarial_support_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSecurityBrokersDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "security_brokers_dealers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringServiceStations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service_stations" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sewing_needlework_fabric_and_piece_goods_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringShoeRepairHatCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_repair_hat_cleaning" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringShoeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSmallApplianceRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "small_appliance_repair" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSnowmobileDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "snowmobile_dealers" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSpecialTradeServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "special_trade_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSpecialtyCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "specialty_cleaning" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportingGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_goods_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportingRecreationCamps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_recreation_camps" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportsAndRidingApparelStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_and_riding_apparel_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportsClubsFields) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_clubs_fields" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStampAndCoinStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stamp_and_coin_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationary_office_supplies_printing_and_writing_paper" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationery_stores_office_and_school_supply_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSwimmingPoolsSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swimming_pools_sales" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTUiTravelGermany) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "t_ui_travel_germany" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTailorsAlterations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tailors_alterations" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxPaymentsGovernmentAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_payments_government_agencies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxPreparationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_preparation_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxicabsLimousines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "taxicabs_limousines" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_equipment_and_telephone_sales" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelecommunicationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelegraphServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telegraph_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTentAndAwningShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tent_and_awning_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTestingLaboratories) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "testing_laboratories" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTheatricalTicketAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theatrical_ticket_agencies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTimeshares) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "timeshares" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTireRetreadingAndRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tire_retreading_and_repair" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTollsBridgeFees) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tolls_bridge_fees" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTouristAttractionsAndExhibits) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tourist_attractions_and_exhibits" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTowingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "towing_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTrailerParksCampgrounds) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trailer_parks_campgrounds" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTransportationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transportation_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTravelAgenciesTourOperators) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "travel_agencies_tour_operators" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTruckStopIteration) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_stop_iteration" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTruckUtilityTrailerRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_utility_trailer_rentals" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTypesettingPlateMakingAndRelatedServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typesetting_plate_making_and_related_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTypewriterStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typewriter_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "u_s_federal_government_agencies_or_departments" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUniformsCommercialClothing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uniforms_commercial_clothing" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUsedMerchandiseAndSecondhandStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "used_merchandise_and_secondhand_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUtilities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "utilities" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVarietyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "variety_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVeterinaryServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "veterinary_services" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoAmusementGameSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_amusement_game_supplies" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoGameArcades) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_game_arcades" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoTapeRentalStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_tape_rental_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVocationalTradeSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "vocational_trade_schools" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWatchJewelryRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "watch_jewelry_repair" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWeldingRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "welding_repair" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWholesaleClubs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wholesale_clubs" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWigAndToupeeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wig_and_toupee_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWiresMoneyOrders) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wires_money_orders" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWomensAccessoryAndSpecialtyShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_accessory_and_specialty_shops" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWomensReadyToWearStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_ready_to_wear_stores" toJSON (Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWreckingAndSalvageYards) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wrecking_and_salvage_yards" instance Data.Aeson.FromJSON Issuing'cardholderAuthorizationControls'AllowedCategories' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ac_refrigeration_repair") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAcRefrigerationRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "accounting_bookkeeping_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAccountingBookkeepingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advertising_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAdvertisingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "agricultural_cooperative") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAgriculturalCooperative else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airlines_air_carriers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAirlinesAirCarriers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airports_flying_fields") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAirportsFlyingFields else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ambulance_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAmbulanceServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amusement_parks_carnivals") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAmusementParksCarnivals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_reproductions") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAntiqueReproductions else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAntiqueShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "aquariums") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAquariums else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "architectural_surveying_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArchitecturalSurveyingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "art_dealers_and_galleries") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArtDealersAndGalleries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "artists_supply_and_craft_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringArtistsSupplyAndCraftShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_and_home_supply_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoAndHomeSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_body_repair_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoBodyRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_paint_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoPaintShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_service_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutoServiceShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_cash_disburse") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomatedCashDisburse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_fuel_dispensers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomatedFuelDispensers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automobile_associations") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomobileAssociations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_parts_and_accessories_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomotivePartsAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_tire_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringAutomotiveTireStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bail_and_bond_payments") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBailAndBondPayments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bakeries") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBakeries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bands_orchestras") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBandsOrchestras else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "barber_and_beauty_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBarberAndBeautyShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "betting_casino_gambling") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBettingCasinoGambling else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bicycle_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBicycleShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "billiard_pool_establishments") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBilliardPoolEstablishments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_dealers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBoatDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_rentals_and_leases") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBoatRentalsAndLeases else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBookStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "books_periodicals_and_newspapers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBooksPeriodicalsAndNewspapers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bowling_alleys") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBowlingAlleys else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bus_lines") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBusLines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_secretarial_schools") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBusinessSecretarialSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "buying_shopping_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringBuyingShoppingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cable_satellite_and_other_pay_television_and_radio") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "camera_and_photographic_supply_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCameraAndPhotographicSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "candy_nut_and_confectionery_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCandyNutAndConfectioneryStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_new_used") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersNewUsed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_used_only") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarAndTruckDealersUsedOnly else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_rental_agencies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarRentalAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_washes") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarWashes else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpentry_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarpentryServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpet_upholstery_cleaning") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCarpetUpholsteryCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "caterers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCaterers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charitable_and_social_service_organizations_fundraising") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chemicals_and_allied_products") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChemicalsAndAlliedProducts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "child_care_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChildCareServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "childrens_and_infants_wear_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChildrensAndInfantsWearStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropodists_podiatrists") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChiropodistsPodiatrists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropractors") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringChiropractors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cigar_stores_and_stands") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCigarStoresAndStands else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "civic_social_fraternal_associations") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCivicSocialFraternalAssociations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cleaning_and_maintenance") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCleaningAndMaintenance else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "clothing_rental") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringClothingRental else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "colleges_universities") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCollegesUniversities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_equipment") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialEquipment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_footwear") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialFootwear else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_photography_art_and_graphics") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommercialPhotographyArtAndGraphics else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commuter_transport_and_ferries") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCommuterTransportAndFerries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_network_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerNetworkServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_programming") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerProgramming else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_repair") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_software_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputerSoftwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computers_peripherals_and_software") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringComputersPeripheralsAndSoftware else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "concrete_work_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConcreteWorkServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "construction_materials") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConstructionMaterials else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "consulting_public_relations") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringConsultingPublicRelations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "correspondence_schools") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCorrespondenceSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cosmetic_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCosmeticStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "counseling_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCounselingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "country_clubs") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCountryClubs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "courier_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCourierServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "court_costs") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCourtCosts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_reporting_agencies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCreditReportingAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cruise_lines") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringCruiseLines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dairy_products_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDairyProductsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dance_hall_studios_schools") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDanceHallStudiosSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dating_escort_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDatingEscortServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dentists_orthodontists") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDentistsOrthodontists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "department_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDepartmentStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "detective_agencies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDetectiveAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_applications") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsApplications else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_games") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsGames else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_large_volume") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsLargeVolume else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_media") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDigitalGoodsMedia else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_catalog_merchant") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingCatalogMerchant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_combination_catalog_and_retail_merchant") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_inbound_telemarketing") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingInboundTelemarketing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_insurance_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingInsuranceServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_other") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingOther else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_outbound_telemarketing") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingOutboundTelemarketing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_subscription") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingSubscription else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_travel") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDirectMarketingTravel else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDiscountStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "doctors") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDoctors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "door_to_door_sales") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDoorToDoorSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drapery_window_covering_and_upholstery_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drinking_places") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrinkingPlaces else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drug_stores_and_pharmacies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrugStoresAndPharmacies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drugs_drug_proprietaries_and_druggist_sundries") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dry_cleaners") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDryCleaners else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "durable_goods") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDurableGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duty_free_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringDutyFreeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eating_places_restaurants") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEatingPlacesRestaurants else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "educational_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEducationalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electric_razor_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricRazorStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_parts_and_equipment") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricalPartsAndEquipment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectricalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_repair_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectronicsRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElectronicsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "elementary_secondary_schools") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringElementarySecondarySchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "employment_temp_agencies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEmploymentTempAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "equipment_rental") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringEquipmentRental else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exterminating_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringExterminatingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "family_clothing_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFamilyClothingStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fast_food_restaurants") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFastFoodRestaurants else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "financial_institutions") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFinancialInstitutions else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fines_government_administrative_entities") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFinesGovernmentAdministrativeEntities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fireplace_fireplace_screens_and_accessories_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "floor_covering_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFloorCoveringStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFlorists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists_supplies_nursery_stock_and_flowers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "freezer_and_locker_meat_provisioners") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFreezerAndLockerMeatProvisioners else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fuel_dealers_non_automotive") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFuelDealersNonAutomotive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "funeral_services_crematories") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFuneralServicesCrematories else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_home_furnishings_and_equipment_stores_except_appliances") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_repair_refinishing") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurnitureRepairRefinishing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furriers_and_fur_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringFurriersAndFurShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "general_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGeneralServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "gift_card_novelty_and_souvenir_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGiftCardNoveltyAndSouvenirShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glass_paint_and_wallpaper_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGlassPaintAndWallpaperStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glassware_crystal_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGlasswareCrystalStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "golf_courses_public") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGolfCoursesPublic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGovernmentServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "grocery_stores_supermarkets") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringGroceryStoresSupermarkets else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_equipment_and_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHardwareEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHardwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "health_and_beauty_spas") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHealthAndBeautySpas else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hearing_aids_sales_and_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHearingAidsSalesAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "heating_plumbing_a_c") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHeatingPlumbingAC else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hobby_toy_and_game_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHobbyToyAndGameShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "home_supply_warehouse_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHomeSupplyWarehouseStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hospitals") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHospitals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hotels_motels_and_resorts") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHotelsMotelsAndResorts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "household_appliance_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringHouseholdApplianceStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "industrial_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringIndustrialSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "information_retrieval_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInformationRetrievalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_default") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInsuranceDefault else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_underwriting_premiums") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringInsuranceUnderwritingPremiums else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "intra_company_purchases") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringIntraCompanyPurchases else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jewelry_stores_watches_clocks_and_silverware_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "landscaping_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLandscapingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundries") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLaundries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundry_cleaning_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLaundryCleaningServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "legal_services_attorneys") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLegalServicesAttorneys else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "luggage_and_leather_goods_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLuggageAndLeatherGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lumber_building_materials_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringLumberBuildingMaterialsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual_cash_disburse") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringManualCashDisburse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "marinas_service_and_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMarinasServiceAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masonry_stonework_and_plaster") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMasonryStoneworkAndPlaster else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "massage_parlors") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMassageParlors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_and_dental_labs") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalAndDentalLabs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_dental_ophthalmic_and_hospital_equipment_and_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMedicalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "membership_organizations") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMembershipOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_and_boys_clothing_and_accessories_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_womens_clothing_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMensWomensClothingStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metal_service_centers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMetalServiceCenters else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneous else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_apparel_and_accessory_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousApparelAndAccessoryShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_auto_dealers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousAutoDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_business_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousBusinessServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_food_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousFoodStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_merchandise") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralMerchandise else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousGeneralServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_home_furnishing_specialty_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_publishing_and_printing") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousPublishingAndPrinting else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_recreation_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousRecreationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_repair_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_specialty_retail") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMiscellaneousSpecialtyRetail else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mobile_home_dealers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMobileHomeDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motion_picture_theaters") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotionPictureTheaters else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_freight_carriers_and_trucking") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorFreightCarriersAndTrucking else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_homes_dealers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorHomesDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_vehicle_supplies_and_new_parts") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorVehicleSuppliesAndNewParts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_and_dealers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsAndDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_dealers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMotorcycleShopsDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "music_stores_musical_instruments_pianos_and_sheet_music") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "news_dealers_and_newsstands") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNewsDealersAndNewsstands else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_money_orders") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNonFiMoneyOrders else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_stored_value_card_purchase_load") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNonFiStoredValueCardPurchaseLoad else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nondurable_goods") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNondurableGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nurseries_lawn_and_garden_supply_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNurseriesLawnAndGardenSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nursing_personal_care") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringNursingPersonalCare else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "office_and_commercial_furniture") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOfficeAndCommercialFurniture else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "opticians_eyeglasses") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOpticiansEyeglasses else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "optometrists_ophthalmologist") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOptometristsOphthalmologist else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "orthopedic_goods_prosthetic_devices") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOrthopedicGoodsProstheticDevices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "osteopaths") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringOsteopaths else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "package_stores_beer_wine_and_liquor") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPackageStoresBeerWineAndLiquor else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paints_varnishes_and_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPaintsVarnishesAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "parking_lots_garages") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringParkingLotsGarages else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "passenger_railways") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPassengerRailways else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pawn_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPawnShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pet_shops_pet_food_and_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPetShopsPetFoodAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "petroleum_and_petroleum_products") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPetroleumAndPetroleumProducts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photo_developing") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotoDeveloping else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_photocopy_microfilm_equipment_and_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_studios") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPhotographicStudios else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "picture_video_production") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPictureVideoProduction else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "piece_goods_notions_and_other_dry_goods") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plumbing_heating_equipment_and_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "political_organizations") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPoliticalOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "postal_services_government_only") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPostalServicesGovernmentOnly else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "precious_stones_and_metals_watches_and_jewelry") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "professional_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringProfessionalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_warehousing_and_storage") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringPublicWarehousingAndStorage else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "quick_copy_repro_and_blueprint") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringQuickCopyReproAndBlueprint else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "railroads") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRailroads else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "real_estate_agents_and_managers_rentals") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRealEstateAgentsAndManagersRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "record_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRecordStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recreational_vehicle_rentals") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRecreationalVehicleRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_goods_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringReligiousGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_organizations") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringReligiousOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "roofing_siding_sheet_metal") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringRoofingSidingSheetMetal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "secretarial_support_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSecretarialSupportServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "security_brokers_dealers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSecurityBrokersDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service_stations") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringServiceStations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sewing_needlework_fabric_and_piece_goods_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_repair_hat_cleaning") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringShoeRepairHatCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringShoeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "small_appliance_repair") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSmallApplianceRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "snowmobile_dealers") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSnowmobileDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "special_trade_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSpecialTradeServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "specialty_cleaning") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSpecialtyCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_goods_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportingGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_recreation_camps") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportingRecreationCamps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_and_riding_apparel_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportsAndRidingApparelStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_clubs_fields") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSportsClubsFields else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stamp_and_coin_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStampAndCoinStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationary_office_supplies_printing_and_writing_paper") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationery_stores_office_and_school_supply_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swimming_pools_sales") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringSwimmingPoolsSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "t_ui_travel_germany") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTUiTravelGermany else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tailors_alterations") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTailorsAlterations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_payments_government_agencies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxPaymentsGovernmentAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_preparation_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxPreparationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "taxicabs_limousines") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTaxicabsLimousines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_equipment_and_telephone_sales") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelecommunicationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telegraph_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTelegraphServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tent_and_awning_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTentAndAwningShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "testing_laboratories") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTestingLaboratories else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theatrical_ticket_agencies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTheatricalTicketAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "timeshares") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTimeshares else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tire_retreading_and_repair") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTireRetreadingAndRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tolls_bridge_fees") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTollsBridgeFees else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tourist_attractions_and_exhibits") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTouristAttractionsAndExhibits else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "towing_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTowingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trailer_parks_campgrounds") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTrailerParksCampgrounds else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transportation_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTransportationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "travel_agencies_tour_operators") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTravelAgenciesTourOperators else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_stop_iteration") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTruckStopIteration else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_utility_trailer_rentals") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTruckUtilityTrailerRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typesetting_plate_making_and_related_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTypesettingPlateMakingAndRelatedServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typewriter_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringTypewriterStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "u_s_federal_government_agencies_or_departments") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uniforms_commercial_clothing") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUniformsCommercialClothing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "used_merchandise_and_secondhand_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUsedMerchandiseAndSecondhandStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "utilities") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringUtilities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "variety_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVarietyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "veterinary_services") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVeterinaryServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_amusement_game_supplies") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoAmusementGameSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_game_arcades") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoGameArcades else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_tape_rental_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVideoTapeRentalStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "vocational_trade_schools") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringVocationalTradeSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "watch_jewelry_repair") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWatchJewelryRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "welding_repair") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWeldingRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wholesale_clubs") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWholesaleClubs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wig_and_toupee_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWigAndToupeeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wires_money_orders") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWiresMoneyOrders else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_accessory_and_specialty_shops") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWomensAccessoryAndSpecialtyShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_ready_to_wear_stores") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWomensReadyToWearStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wrecking_and_salvage_yards") then Issuing'cardholderAuthorizationControls'AllowedCategories'EnumStringWreckingAndSalvageYards else Issuing'cardholderAuthorizationControls'AllowedCategories'EnumOther val) -- | Defines the enum schema issuing.cardholderAuthorization_controls\'Blocked_categories\' -- -- data Issuing'cardholderAuthorizationControls'BlockedCategories' = Issuing'cardholderAuthorizationControls'BlockedCategories'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumTyped GHC.Base.String | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAcRefrigerationRepair | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAccountingBookkeepingServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAdvertisingServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAgriculturalCooperative | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAirlinesAirCarriers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAirportsFlyingFields | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAmbulanceServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAmusementParksCarnivals | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAntiqueReproductions | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAntiqueShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAquariums | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArchitecturalSurveyingServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArtDealersAndGalleries | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArtistsSupplyAndCraftShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoAndHomeSupplyStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoBodyRepairShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoPaintShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoServiceShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomatedCashDisburse | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomatedFuelDispensers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomobileAssociations | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomotivePartsAndAccessoriesStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomotiveTireStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBailAndBondPayments | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBakeries | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBandsOrchestras | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBarberAndBeautyShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBettingCasinoGambling | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBicycleShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBilliardPoolEstablishments | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBoatDealers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBoatRentalsAndLeases | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBookStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBooksPeriodicalsAndNewspapers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBowlingAlleys | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBusLines | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBusinessSecretarialSchools | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBuyingShoppingServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCameraAndPhotographicSupplyStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCandyNutAndConfectioneryStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersNewUsed | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersUsedOnly | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarRentalAgencies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarWashes | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarpentryServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarpetUpholsteryCleaning | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCaterers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChemicalsAndAlliedProducts | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChildCareServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChildrensAndInfantsWearStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChiropodistsPodiatrists | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChiropractors | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCigarStoresAndStands | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCivicSocialFraternalAssociations | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCleaningAndMaintenance | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringClothingRental | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCollegesUniversities | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialEquipment | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialFootwear | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialPhotographyArtAndGraphics | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommuterTransportAndFerries | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerNetworkServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerProgramming | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerRepair | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerSoftwareStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputersPeripheralsAndSoftware | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConcreteWorkServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConstructionMaterials | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConsultingPublicRelations | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCorrespondenceSchools | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCosmeticStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCounselingServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCountryClubs | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCourierServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCourtCosts | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCreditReportingAgencies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCruiseLines | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDairyProductsStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDanceHallStudiosSchools | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDatingEscortServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDentistsOrthodontists | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDepartmentStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDetectiveAgencies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsApplications | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsGames | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsLargeVolume | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsMedia | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingCatalogMerchant | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingInboundTelemarketing | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingInsuranceServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingOther | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingOutboundTelemarketing | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingSubscription | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingTravel | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDiscountStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDoctors | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDoorToDoorSales | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrinkingPlaces | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrugStoresAndPharmacies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDryCleaners | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDurableGoods | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDutyFreeStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEatingPlacesRestaurants | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEducationalServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricRazorStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricalPartsAndEquipment | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricalServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectronicsRepairShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectronicsStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElementarySecondarySchools | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEmploymentTempAgencies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEquipmentRental | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringExterminatingServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFamilyClothingStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFastFoodRestaurants | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFinancialInstitutions | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFinesGovernmentAdministrativeEntities | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFloorCoveringStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFlorists | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFreezerAndLockerMeatProvisioners | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFuelDealersNonAutomotive | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFuneralServicesCrematories | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurnitureRepairRefinishing | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurriersAndFurShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGeneralServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGiftCardNoveltyAndSouvenirShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGlassPaintAndWallpaperStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGlasswareCrystalStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGolfCoursesPublic | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGovernmentServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGroceryStoresSupermarkets | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHardwareEquipmentAndSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHardwareStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHealthAndBeautySpas | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHearingAidsSalesAndSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHeatingPlumbingAC | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHobbyToyAndGameShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHomeSupplyWarehouseStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHospitals | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHotelsMotelsAndResorts | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHouseholdApplianceStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringIndustrialSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInformationRetrievalServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInsuranceDefault | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInsuranceUnderwritingPremiums | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringIntraCompanyPurchases | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLandscapingServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLaundries | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLaundryCleaningServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLegalServicesAttorneys | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLuggageAndLeatherGoodsStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLumberBuildingMaterialsStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringManualCashDisburse | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMarinasServiceAndSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMasonryStoneworkAndPlaster | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMassageParlors | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalAndDentalLabs | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMembershipOrganizations | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMensWomensClothingStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMetalServiceCenters | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneous | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousApparelAndAccessoryShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousAutoDealers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousBusinessServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousFoodStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralMerchandise | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousPublishingAndPrinting | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousRecreationServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousRepairShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousSpecialtyRetail | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMobileHomeDealers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotionPictureTheaters | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorFreightCarriersAndTrucking | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorHomesDealers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorVehicleSuppliesAndNewParts | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsAndDealers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsDealers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNewsDealersAndNewsstands | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNonFiMoneyOrders | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNonFiStoredValueCardPurchaseLoad | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNondurableGoods | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNurseriesLawnAndGardenSupplyStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNursingPersonalCare | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOfficeAndCommercialFurniture | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOpticiansEyeglasses | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOptometristsOphthalmologist | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOrthopedicGoodsProstheticDevices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOsteopaths | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPackageStoresBeerWineAndLiquor | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPaintsVarnishesAndSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringParkingLotsGarages | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPassengerRailways | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPawnShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPetShopsPetFoodAndSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPetroleumAndPetroleumProducts | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotoDeveloping | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotographicStudios | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPictureVideoProduction | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPoliticalOrganizations | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPostalServicesGovernmentOnly | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringProfessionalServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPublicWarehousingAndStorage | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringQuickCopyReproAndBlueprint | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRailroads | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRealEstateAgentsAndManagersRentals | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRecordStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRecreationalVehicleRentals | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringReligiousGoodsStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringReligiousOrganizations | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRoofingSidingSheetMetal | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSecretarialSupportServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSecurityBrokersDealers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringServiceStations | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringShoeRepairHatCleaning | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringShoeStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSmallApplianceRepair | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSnowmobileDealers | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSpecialTradeServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSpecialtyCleaning | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportingGoodsStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportingRecreationCamps | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportsAndRidingApparelStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportsClubsFields | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStampAndCoinStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSwimmingPoolsSales | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTUiTravelGermany | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTailorsAlterations | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxPaymentsGovernmentAgencies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxPreparationServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxicabsLimousines | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelecommunicationServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelegraphServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTentAndAwningShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTestingLaboratories | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTheatricalTicketAgencies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTimeshares | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTireRetreadingAndRepair | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTollsBridgeFees | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTouristAttractionsAndExhibits | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTowingServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTrailerParksCampgrounds | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTransportationServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTravelAgenciesTourOperators | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTruckStopIteration | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTruckUtilityTrailerRentals | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTypesettingPlateMakingAndRelatedServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTypewriterStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUniformsCommercialClothing | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUsedMerchandiseAndSecondhandStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUtilities | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVarietyStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVeterinaryServices | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoAmusementGameSupplies | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoGameArcades | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoTapeRentalStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVocationalTradeSchools | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWatchJewelryRepair | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWeldingRepair | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWholesaleClubs | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWigAndToupeeStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWiresMoneyOrders | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWomensAccessoryAndSpecialtyShops | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWomensReadyToWearStores | Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWreckingAndSalvageYards deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderAuthorizationControls'BlockedCategories' where toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAcRefrigerationRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ac_refrigeration_repair" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAccountingBookkeepingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "accounting_bookkeeping_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAdvertisingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advertising_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAgriculturalCooperative) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "agricultural_cooperative" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAirlinesAirCarriers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airlines_air_carriers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAirportsFlyingFields) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airports_flying_fields" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAmbulanceServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ambulance_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAmusementParksCarnivals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amusement_parks_carnivals" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAntiqueReproductions) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_reproductions" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAntiqueShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAquariums) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "aquariums" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArchitecturalSurveyingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "architectural_surveying_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArtDealersAndGalleries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "art_dealers_and_galleries" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArtistsSupplyAndCraftShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "artists_supply_and_craft_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoAndHomeSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_and_home_supply_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoBodyRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_body_repair_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoPaintShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_paint_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoServiceShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_service_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomatedCashDisburse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_cash_disburse" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomatedFuelDispensers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_fuel_dispensers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomobileAssociations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automobile_associations" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomotivePartsAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_parts_and_accessories_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomotiveTireStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_tire_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBailAndBondPayments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bail_and_bond_payments" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBakeries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bakeries" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBandsOrchestras) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bands_orchestras" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBarberAndBeautyShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "barber_and_beauty_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBettingCasinoGambling) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "betting_casino_gambling" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBicycleShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bicycle_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBilliardPoolEstablishments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "billiard_pool_establishments" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBoatDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_dealers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBoatRentalsAndLeases) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_rentals_and_leases" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBookStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBooksPeriodicalsAndNewspapers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "books_periodicals_and_newspapers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBowlingAlleys) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bowling_alleys" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBusLines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bus_lines" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBusinessSecretarialSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_secretarial_schools" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBuyingShoppingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "buying_shopping_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cable_satellite_and_other_pay_television_and_radio" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCameraAndPhotographicSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "camera_and_photographic_supply_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCandyNutAndConfectioneryStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "candy_nut_and_confectionery_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersNewUsed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_new_used" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersUsedOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_used_only" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarRentalAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_rental_agencies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarWashes) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_washes" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarpentryServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpentry_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarpetUpholsteryCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpet_upholstery_cleaning" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCaterers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "caterers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charitable_and_social_service_organizations_fundraising" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChemicalsAndAlliedProducts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chemicals_and_allied_products" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChildCareServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "child_care_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChildrensAndInfantsWearStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "childrens_and_infants_wear_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChiropodistsPodiatrists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropodists_podiatrists" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChiropractors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropractors" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCigarStoresAndStands) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cigar_stores_and_stands" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCivicSocialFraternalAssociations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "civic_social_fraternal_associations" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCleaningAndMaintenance) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cleaning_and_maintenance" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringClothingRental) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "clothing_rental" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCollegesUniversities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "colleges_universities" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialEquipment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_equipment" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialFootwear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_footwear" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialPhotographyArtAndGraphics) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_photography_art_and_graphics" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommuterTransportAndFerries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commuter_transport_and_ferries" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerNetworkServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_network_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerProgramming) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_programming" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_repair" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerSoftwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_software_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputersPeripheralsAndSoftware) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computers_peripherals_and_software" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConcreteWorkServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "concrete_work_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConstructionMaterials) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "construction_materials" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConsultingPublicRelations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "consulting_public_relations" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCorrespondenceSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "correspondence_schools" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCosmeticStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cosmetic_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCounselingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "counseling_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCountryClubs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "country_clubs" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCourierServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "courier_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCourtCosts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "court_costs" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCreditReportingAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_reporting_agencies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCruiseLines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cruise_lines" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDairyProductsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dairy_products_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDanceHallStudiosSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dance_hall_studios_schools" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDatingEscortServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dating_escort_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDentistsOrthodontists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dentists_orthodontists" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDepartmentStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "department_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDetectiveAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "detective_agencies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsApplications) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_applications" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsGames) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_games" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsLargeVolume) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_large_volume" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsMedia) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_media" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingCatalogMerchant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_catalog_merchant" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_combination_catalog_and_retail_merchant" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingInboundTelemarketing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_inbound_telemarketing" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingInsuranceServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_insurance_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingOther) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_other" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingOutboundTelemarketing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_outbound_telemarketing" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_subscription" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingTravel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_travel" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDiscountStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDoctors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "doctors" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDoorToDoorSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "door_to_door_sales" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drapery_window_covering_and_upholstery_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrinkingPlaces) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drinking_places" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrugStoresAndPharmacies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drug_stores_and_pharmacies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drugs_drug_proprietaries_and_druggist_sundries" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDryCleaners) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dry_cleaners" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDurableGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "durable_goods" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDutyFreeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duty_free_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEatingPlacesRestaurants) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eating_places_restaurants" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEducationalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "educational_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricRazorStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electric_razor_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricalPartsAndEquipment) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_parts_and_equipment" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectronicsRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_repair_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectronicsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElementarySecondarySchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "elementary_secondary_schools" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEmploymentTempAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "employment_temp_agencies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEquipmentRental) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "equipment_rental" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringExterminatingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exterminating_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFamilyClothingStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "family_clothing_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFastFoodRestaurants) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fast_food_restaurants" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFinancialInstitutions) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "financial_institutions" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFinesGovernmentAdministrativeEntities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fines_government_administrative_entities" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fireplace_fireplace_screens_and_accessories_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFloorCoveringStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "floor_covering_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFlorists) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists_supplies_nursery_stock_and_flowers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFreezerAndLockerMeatProvisioners) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "freezer_and_locker_meat_provisioners" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFuelDealersNonAutomotive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fuel_dealers_non_automotive" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFuneralServicesCrematories) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "funeral_services_crematories" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_home_furnishings_and_equipment_stores_except_appliances" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurnitureRepairRefinishing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_repair_refinishing" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurriersAndFurShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furriers_and_fur_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGeneralServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "general_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGiftCardNoveltyAndSouvenirShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "gift_card_novelty_and_souvenir_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGlassPaintAndWallpaperStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glass_paint_and_wallpaper_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGlasswareCrystalStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glassware_crystal_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGolfCoursesPublic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "golf_courses_public" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGovernmentServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGroceryStoresSupermarkets) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "grocery_stores_supermarkets" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHardwareEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_equipment_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHardwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHealthAndBeautySpas) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "health_and_beauty_spas" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHearingAidsSalesAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hearing_aids_sales_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHeatingPlumbingAC) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "heating_plumbing_a_c" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHobbyToyAndGameShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hobby_toy_and_game_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHomeSupplyWarehouseStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "home_supply_warehouse_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHospitals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hospitals" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHotelsMotelsAndResorts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hotels_motels_and_resorts" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHouseholdApplianceStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "household_appliance_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringIndustrialSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "industrial_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInformationRetrievalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "information_retrieval_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInsuranceDefault) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_default" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInsuranceUnderwritingPremiums) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_underwriting_premiums" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringIntraCompanyPurchases) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "intra_company_purchases" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jewelry_stores_watches_clocks_and_silverware_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLandscapingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "landscaping_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLaundries) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundries" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLaundryCleaningServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundry_cleaning_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLegalServicesAttorneys) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "legal_services_attorneys" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLuggageAndLeatherGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "luggage_and_leather_goods_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLumberBuildingMaterialsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lumber_building_materials_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringManualCashDisburse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual_cash_disburse" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMarinasServiceAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "marinas_service_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMasonryStoneworkAndPlaster) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masonry_stonework_and_plaster" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMassageParlors) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "massage_parlors" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalAndDentalLabs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_and_dental_labs" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_dental_ophthalmic_and_hospital_equipment_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMembershipOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "membership_organizations" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_and_boys_clothing_and_accessories_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMensWomensClothingStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_womens_clothing_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMetalServiceCenters) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metal_service_centers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneous) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousApparelAndAccessoryShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_apparel_and_accessory_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousAutoDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_auto_dealers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousBusinessServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_business_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousFoodStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_food_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralMerchandise) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_merchandise" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_home_furnishing_specialty_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousPublishingAndPrinting) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_publishing_and_printing" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousRecreationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_recreation_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousRepairShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_repair_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousSpecialtyRetail) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_specialty_retail" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMobileHomeDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mobile_home_dealers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotionPictureTheaters) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motion_picture_theaters" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorFreightCarriersAndTrucking) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_freight_carriers_and_trucking" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorHomesDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_homes_dealers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorVehicleSuppliesAndNewParts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_vehicle_supplies_and_new_parts" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsAndDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_and_dealers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_dealers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "music_stores_musical_instruments_pianos_and_sheet_music" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNewsDealersAndNewsstands) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "news_dealers_and_newsstands" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNonFiMoneyOrders) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_money_orders" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNonFiStoredValueCardPurchaseLoad) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_stored_value_card_purchase_load" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNondurableGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nondurable_goods" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNurseriesLawnAndGardenSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nurseries_lawn_and_garden_supply_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNursingPersonalCare) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nursing_personal_care" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOfficeAndCommercialFurniture) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "office_and_commercial_furniture" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOpticiansEyeglasses) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "opticians_eyeglasses" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOptometristsOphthalmologist) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "optometrists_ophthalmologist" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOrthopedicGoodsProstheticDevices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "orthopedic_goods_prosthetic_devices" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOsteopaths) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "osteopaths" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPackageStoresBeerWineAndLiquor) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "package_stores_beer_wine_and_liquor" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPaintsVarnishesAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paints_varnishes_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringParkingLotsGarages) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "parking_lots_garages" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPassengerRailways) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "passenger_railways" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPawnShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pawn_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPetShopsPetFoodAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pet_shops_pet_food_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPetroleumAndPetroleumProducts) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "petroleum_and_petroleum_products" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotoDeveloping) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photo_developing" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_photocopy_microfilm_equipment_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotographicStudios) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_studios" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPictureVideoProduction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "picture_video_production" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "piece_goods_notions_and_other_dry_goods" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plumbing_heating_equipment_and_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPoliticalOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "political_organizations" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPostalServicesGovernmentOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "postal_services_government_only" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "precious_stones_and_metals_watches_and_jewelry" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringProfessionalServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "professional_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPublicWarehousingAndStorage) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_warehousing_and_storage" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringQuickCopyReproAndBlueprint) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "quick_copy_repro_and_blueprint" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRailroads) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "railroads" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRealEstateAgentsAndManagersRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "real_estate_agents_and_managers_rentals" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRecordStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "record_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRecreationalVehicleRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recreational_vehicle_rentals" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringReligiousGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_goods_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringReligiousOrganizations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_organizations" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRoofingSidingSheetMetal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "roofing_siding_sheet_metal" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSecretarialSupportServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "secretarial_support_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSecurityBrokersDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "security_brokers_dealers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringServiceStations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service_stations" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sewing_needlework_fabric_and_piece_goods_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringShoeRepairHatCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_repair_hat_cleaning" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringShoeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSmallApplianceRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "small_appliance_repair" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSnowmobileDealers) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "snowmobile_dealers" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSpecialTradeServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "special_trade_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSpecialtyCleaning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "specialty_cleaning" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportingGoodsStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_goods_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportingRecreationCamps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_recreation_camps" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportsAndRidingApparelStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_and_riding_apparel_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportsClubsFields) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_clubs_fields" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStampAndCoinStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stamp_and_coin_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationary_office_supplies_printing_and_writing_paper" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationery_stores_office_and_school_supply_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSwimmingPoolsSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swimming_pools_sales" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTUiTravelGermany) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "t_ui_travel_germany" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTailorsAlterations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tailors_alterations" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxPaymentsGovernmentAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_payments_government_agencies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxPreparationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_preparation_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxicabsLimousines) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "taxicabs_limousines" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_equipment_and_telephone_sales" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelecommunicationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelegraphServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telegraph_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTentAndAwningShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tent_and_awning_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTestingLaboratories) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "testing_laboratories" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTheatricalTicketAgencies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theatrical_ticket_agencies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTimeshares) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "timeshares" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTireRetreadingAndRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tire_retreading_and_repair" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTollsBridgeFees) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tolls_bridge_fees" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTouristAttractionsAndExhibits) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tourist_attractions_and_exhibits" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTowingServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "towing_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTrailerParksCampgrounds) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trailer_parks_campgrounds" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTransportationServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transportation_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTravelAgenciesTourOperators) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "travel_agencies_tour_operators" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTruckStopIteration) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_stop_iteration" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTruckUtilityTrailerRentals) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_utility_trailer_rentals" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTypesettingPlateMakingAndRelatedServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typesetting_plate_making_and_related_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTypewriterStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typewriter_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "u_s_federal_government_agencies_or_departments" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUniformsCommercialClothing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uniforms_commercial_clothing" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUsedMerchandiseAndSecondhandStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "used_merchandise_and_secondhand_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUtilities) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "utilities" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVarietyStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "variety_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVeterinaryServices) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "veterinary_services" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoAmusementGameSupplies) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_amusement_game_supplies" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoGameArcades) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_game_arcades" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoTapeRentalStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_tape_rental_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVocationalTradeSchools) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "vocational_trade_schools" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWatchJewelryRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "watch_jewelry_repair" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWeldingRepair) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "welding_repair" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWholesaleClubs) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wholesale_clubs" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWigAndToupeeStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wig_and_toupee_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWiresMoneyOrders) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wires_money_orders" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWomensAccessoryAndSpecialtyShops) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_accessory_and_specialty_shops" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWomensReadyToWearStores) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_ready_to_wear_stores" toJSON (Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWreckingAndSalvageYards) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wrecking_and_salvage_yards" instance Data.Aeson.FromJSON Issuing'cardholderAuthorizationControls'BlockedCategories' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ac_refrigeration_repair") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAcRefrigerationRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "accounting_bookkeeping_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAccountingBookkeepingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "advertising_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAdvertisingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "agricultural_cooperative") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAgriculturalCooperative else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airlines_air_carriers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAirlinesAirCarriers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "airports_flying_fields") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAirportsFlyingFields else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ambulance_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAmbulanceServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amusement_parks_carnivals") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAmusementParksCarnivals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_reproductions") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAntiqueReproductions else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "antique_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAntiqueShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "aquariums") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAquariums else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "architectural_surveying_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArchitecturalSurveyingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "art_dealers_and_galleries") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArtDealersAndGalleries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "artists_supply_and_craft_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringArtistsSupplyAndCraftShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_and_home_supply_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoAndHomeSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_body_repair_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoBodyRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_paint_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoPaintShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "auto_service_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutoServiceShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_cash_disburse") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomatedCashDisburse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automated_fuel_dispensers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomatedFuelDispensers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automobile_associations") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomobileAssociations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_parts_and_accessories_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomotivePartsAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automotive_tire_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringAutomotiveTireStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bail_and_bond_payments") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBailAndBondPayments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bakeries") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBakeries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bands_orchestras") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBandsOrchestras else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "barber_and_beauty_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBarberAndBeautyShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "betting_casino_gambling") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBettingCasinoGambling else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bicycle_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBicycleShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "billiard_pool_establishments") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBilliardPoolEstablishments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_dealers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBoatDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "boat_rentals_and_leases") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBoatRentalsAndLeases else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "book_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBookStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "books_periodicals_and_newspapers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBooksPeriodicalsAndNewspapers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bowling_alleys") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBowlingAlleys else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bus_lines") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBusLines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_secretarial_schools") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBusinessSecretarialSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "buying_shopping_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringBuyingShoppingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cable_satellite_and_other_pay_television_and_radio") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCableSatelliteAndOtherPayTelevisionAndRadio else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "camera_and_photographic_supply_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCameraAndPhotographicSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "candy_nut_and_confectionery_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCandyNutAndConfectioneryStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_new_used") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersNewUsed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_and_truck_dealers_used_only") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarAndTruckDealersUsedOnly else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_rental_agencies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarRentalAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "car_washes") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarWashes else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpentry_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarpentryServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "carpet_upholstery_cleaning") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCarpetUpholsteryCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "caterers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCaterers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charitable_and_social_service_organizations_fundraising") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCharitableAndSocialServiceOrganizationsFundraising else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chemicals_and_allied_products") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChemicalsAndAlliedProducts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "child_care_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChildCareServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "childrens_and_infants_wear_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChildrensAndInfantsWearStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropodists_podiatrists") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChiropodistsPodiatrists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "chiropractors") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringChiropractors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cigar_stores_and_stands") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCigarStoresAndStands else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "civic_social_fraternal_associations") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCivicSocialFraternalAssociations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cleaning_and_maintenance") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCleaningAndMaintenance else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "clothing_rental") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringClothingRental else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "colleges_universities") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCollegesUniversities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_equipment") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialEquipment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_footwear") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialFootwear else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commercial_photography_art_and_graphics") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommercialPhotographyArtAndGraphics else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "commuter_transport_and_ferries") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCommuterTransportAndFerries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_network_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerNetworkServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_programming") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerProgramming else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_repair") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computer_software_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputerSoftwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "computers_peripherals_and_software") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringComputersPeripheralsAndSoftware else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "concrete_work_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConcreteWorkServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "construction_materials") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConstructionMaterials else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "consulting_public_relations") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringConsultingPublicRelations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "correspondence_schools") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCorrespondenceSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cosmetic_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCosmeticStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "counseling_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCounselingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "country_clubs") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCountryClubs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "courier_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCourierServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "court_costs") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCourtCosts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "credit_reporting_agencies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCreditReportingAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cruise_lines") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringCruiseLines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dairy_products_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDairyProductsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dance_hall_studios_schools") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDanceHallStudiosSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dating_escort_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDatingEscortServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dentists_orthodontists") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDentistsOrthodontists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "department_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDepartmentStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "detective_agencies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDetectiveAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_applications") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsApplications else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_games") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsGames else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_large_volume") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsLargeVolume else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "digital_goods_media") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDigitalGoodsMedia else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_catalog_merchant") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingCatalogMerchant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_combination_catalog_and_retail_merchant") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingCombinationCatalogAndRetailMerchant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_inbound_telemarketing") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingInboundTelemarketing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_insurance_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingInsuranceServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_other") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingOther else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_outbound_telemarketing") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingOutboundTelemarketing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_subscription") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingSubscription else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "direct_marketing_travel") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDirectMarketingTravel else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDiscountStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "doctors") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDoctors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "door_to_door_sales") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDoorToDoorSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drapery_window_covering_and_upholstery_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDraperyWindowCoveringAndUpholsteryStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drinking_places") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrinkingPlaces else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drug_stores_and_pharmacies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrugStoresAndPharmacies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "drugs_drug_proprietaries_and_druggist_sundries") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDrugsDrugProprietariesAndDruggistSundries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dry_cleaners") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDryCleaners else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "durable_goods") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDurableGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duty_free_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringDutyFreeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eating_places_restaurants") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEatingPlacesRestaurants else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "educational_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEducationalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electric_razor_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricRazorStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_parts_and_equipment") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricalPartsAndEquipment else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electrical_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectricalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_repair_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectronicsRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "electronics_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElectronicsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "elementary_secondary_schools") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringElementarySecondarySchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "employment_temp_agencies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEmploymentTempAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "equipment_rental") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringEquipmentRental else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "exterminating_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringExterminatingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "family_clothing_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFamilyClothingStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fast_food_restaurants") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFastFoodRestaurants else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "financial_institutions") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFinancialInstitutions else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fines_government_administrative_entities") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFinesGovernmentAdministrativeEntities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fireplace_fireplace_screens_and_accessories_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFireplaceFireplaceScreensAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "floor_covering_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFloorCoveringStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFlorists else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "florists_supplies_nursery_stock_and_flowers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFloristsSuppliesNurseryStockAndFlowers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "freezer_and_locker_meat_provisioners") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFreezerAndLockerMeatProvisioners else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fuel_dealers_non_automotive") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFuelDealersNonAutomotive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "funeral_services_crematories") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFuneralServicesCrematories else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_home_furnishings_and_equipment_stores_except_appliances") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurnitureHomeFurnishingsAndEquipmentStoresExceptAppliances else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furniture_repair_refinishing") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurnitureRepairRefinishing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "furriers_and_fur_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringFurriersAndFurShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "general_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGeneralServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "gift_card_novelty_and_souvenir_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGiftCardNoveltyAndSouvenirShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glass_paint_and_wallpaper_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGlassPaintAndWallpaperStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "glassware_crystal_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGlasswareCrystalStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "golf_courses_public") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGolfCoursesPublic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGovernmentServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "grocery_stores_supermarkets") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringGroceryStoresSupermarkets else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_equipment_and_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHardwareEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hardware_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHardwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "health_and_beauty_spas") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHealthAndBeautySpas else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hearing_aids_sales_and_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHearingAidsSalesAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "heating_plumbing_a_c") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHeatingPlumbingAC else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hobby_toy_and_game_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHobbyToyAndGameShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "home_supply_warehouse_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHomeSupplyWarehouseStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hospitals") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHospitals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hotels_motels_and_resorts") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHotelsMotelsAndResorts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "household_appliance_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringHouseholdApplianceStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "industrial_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringIndustrialSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "information_retrieval_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInformationRetrievalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_default") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInsuranceDefault else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "insurance_underwriting_premiums") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringInsuranceUnderwritingPremiums else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "intra_company_purchases") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringIntraCompanyPurchases else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jewelry_stores_watches_clocks_and_silverware_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringJewelryStoresWatchesClocksAndSilverwareStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "landscaping_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLandscapingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundries") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLaundries else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "laundry_cleaning_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLaundryCleaningServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "legal_services_attorneys") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLegalServicesAttorneys else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "luggage_and_leather_goods_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLuggageAndLeatherGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lumber_building_materials_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringLumberBuildingMaterialsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual_cash_disburse") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringManualCashDisburse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "marinas_service_and_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMarinasServiceAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masonry_stonework_and_plaster") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMasonryStoneworkAndPlaster else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "massage_parlors") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMassageParlors else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_and_dental_labs") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalAndDentalLabs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_dental_ophthalmic_and_hospital_equipment_and_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalDentalOphthalmicAndHospitalEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "medical_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMedicalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "membership_organizations") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMembershipOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_and_boys_clothing_and_accessories_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMensAndBoysClothingAndAccessoriesStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mens_womens_clothing_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMensWomensClothingStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metal_service_centers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMetalServiceCenters else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneous else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_apparel_and_accessory_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousApparelAndAccessoryShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_auto_dealers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousAutoDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_business_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousBusinessServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_food_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousFoodStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_merchandise") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralMerchandise else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_general_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousGeneralServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_home_furnishing_specialty_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousHomeFurnishingSpecialtyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_publishing_and_printing") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousPublishingAndPrinting else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_recreation_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousRecreationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_repair_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousRepairShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "miscellaneous_specialty_retail") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMiscellaneousSpecialtyRetail else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mobile_home_dealers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMobileHomeDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motion_picture_theaters") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotionPictureTheaters else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_freight_carriers_and_trucking") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorFreightCarriersAndTrucking else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_homes_dealers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorHomesDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motor_vehicle_supplies_and_new_parts") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorVehicleSuppliesAndNewParts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_and_dealers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsAndDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "motorcycle_shops_dealers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMotorcycleShopsDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "music_stores_musical_instruments_pianos_and_sheet_music") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringMusicStoresMusicalInstrumentsPianosAndSheetMusic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "news_dealers_and_newsstands") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNewsDealersAndNewsstands else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_money_orders") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNonFiMoneyOrders else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_fi_stored_value_card_purchase_load") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNonFiStoredValueCardPurchaseLoad else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nondurable_goods") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNondurableGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nurseries_lawn_and_garden_supply_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNurseriesLawnAndGardenSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nursing_personal_care") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringNursingPersonalCare else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "office_and_commercial_furniture") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOfficeAndCommercialFurniture else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "opticians_eyeglasses") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOpticiansEyeglasses else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "optometrists_ophthalmologist") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOptometristsOphthalmologist else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "orthopedic_goods_prosthetic_devices") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOrthopedicGoodsProstheticDevices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "osteopaths") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringOsteopaths else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "package_stores_beer_wine_and_liquor") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPackageStoresBeerWineAndLiquor else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "paints_varnishes_and_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPaintsVarnishesAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "parking_lots_garages") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringParkingLotsGarages else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "passenger_railways") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPassengerRailways else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pawn_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPawnShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pet_shops_pet_food_and_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPetShopsPetFoodAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "petroleum_and_petroleum_products") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPetroleumAndPetroleumProducts else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photo_developing") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotoDeveloping else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_photocopy_microfilm_equipment_and_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotographicPhotocopyMicrofilmEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "photographic_studios") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPhotographicStudios else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "picture_video_production") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPictureVideoProduction else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "piece_goods_notions_and_other_dry_goods") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPieceGoodsNotionsAndOtherDryGoods else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plumbing_heating_equipment_and_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPlumbingHeatingEquipmentAndSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "political_organizations") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPoliticalOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "postal_services_government_only") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPostalServicesGovernmentOnly else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "precious_stones_and_metals_watches_and_jewelry") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPreciousStonesAndMetalsWatchesAndJewelry else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "professional_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringProfessionalServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_warehousing_and_storage") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringPublicWarehousingAndStorage else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "quick_copy_repro_and_blueprint") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringQuickCopyReproAndBlueprint else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "railroads") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRailroads else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "real_estate_agents_and_managers_rentals") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRealEstateAgentsAndManagersRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "record_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRecordStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recreational_vehicle_rentals") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRecreationalVehicleRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_goods_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringReligiousGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "religious_organizations") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringReligiousOrganizations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "roofing_siding_sheet_metal") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringRoofingSidingSheetMetal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "secretarial_support_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSecretarialSupportServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "security_brokers_dealers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSecurityBrokersDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service_stations") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringServiceStations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sewing_needlework_fabric_and_piece_goods_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSewingNeedleworkFabricAndPieceGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_repair_hat_cleaning") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringShoeRepairHatCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "shoe_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringShoeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "small_appliance_repair") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSmallApplianceRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "snowmobile_dealers") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSnowmobileDealers else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "special_trade_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSpecialTradeServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "specialty_cleaning") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSpecialtyCleaning else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_goods_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportingGoodsStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sporting_recreation_camps") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportingRecreationCamps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_and_riding_apparel_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportsAndRidingApparelStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sports_clubs_fields") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSportsClubsFields else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stamp_and_coin_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStampAndCoinStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationary_office_supplies_printing_and_writing_paper") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStationaryOfficeSuppliesPrintingAndWritingPaper else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "stationery_stores_office_and_school_supply_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringStationeryStoresOfficeAndSchoolSupplyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "swimming_pools_sales") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringSwimmingPoolsSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "t_ui_travel_germany") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTUiTravelGermany else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tailors_alterations") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTailorsAlterations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_payments_government_agencies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxPaymentsGovernmentAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_preparation_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxPreparationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "taxicabs_limousines") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTaxicabsLimousines else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_equipment_and_telephone_sales") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelecommunicationEquipmentAndTelephoneSales else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telecommunication_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelecommunicationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "telegraph_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTelegraphServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tent_and_awning_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTentAndAwningShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "testing_laboratories") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTestingLaboratories else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "theatrical_ticket_agencies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTheatricalTicketAgencies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "timeshares") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTimeshares else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tire_retreading_and_repair") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTireRetreadingAndRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tolls_bridge_fees") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTollsBridgeFees else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tourist_attractions_and_exhibits") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTouristAttractionsAndExhibits else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "towing_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTowingServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trailer_parks_campgrounds") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTrailerParksCampgrounds else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transportation_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTransportationServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "travel_agencies_tour_operators") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTravelAgenciesTourOperators else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_stop_iteration") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTruckStopIteration else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "truck_utility_trailer_rentals") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTruckUtilityTrailerRentals else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typesetting_plate_making_and_related_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTypesettingPlateMakingAndRelatedServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "typewriter_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringTypewriterStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "u_s_federal_government_agencies_or_departments") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUSFederalGovernmentAgenciesOrDepartments else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "uniforms_commercial_clothing") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUniformsCommercialClothing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "used_merchandise_and_secondhand_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUsedMerchandiseAndSecondhandStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "utilities") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringUtilities else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "variety_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVarietyStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "veterinary_services") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVeterinaryServices else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_amusement_game_supplies") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoAmusementGameSupplies else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_game_arcades") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoGameArcades else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "video_tape_rental_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVideoTapeRentalStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "vocational_trade_schools") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringVocationalTradeSchools else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "watch_jewelry_repair") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWatchJewelryRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "welding_repair") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWeldingRepair else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wholesale_clubs") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWholesaleClubs else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wig_and_toupee_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWigAndToupeeStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wires_money_orders") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWiresMoneyOrders else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_accessory_and_specialty_shops") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWomensAccessoryAndSpecialtyShops else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "womens_ready_to_wear_stores") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWomensReadyToWearStores else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wrecking_and_salvage_yards") then Issuing'cardholderAuthorizationControls'BlockedCategories'EnumStringWreckingAndSalvageYards else Issuing'cardholderAuthorizationControls'BlockedCategories'EnumOther val) -- | Defines the data type for the schema issuing.cardholderCompany\' -- -- Additional information about a \\\`business_entity\\\` cardholder. data Issuing'cardholderCompany' = Issuing'cardholderCompany' { -- | tax_id_provided: Whether the company\'s business ID number was provided. issuing'cardholderCompany'TaxIdProvided :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderCompany' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "tax_id_provided" (issuing'cardholderCompany'TaxIdProvided obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "tax_id_provided" (issuing'cardholderCompany'TaxIdProvided obj)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardholderCompany' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardholderCompany'" (\obj -> GHC.Base.pure Issuing'cardholderCompany' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_id_provided")) -- | Defines the data type for the schema issuing.cardholderIndividual\' -- -- Additional information about an \\\`individual\\\` cardholder. data Issuing'cardholderIndividual' = Issuing'cardholderIndividual' { -- | dob: The date of birth of this cardholder. issuing'cardholderIndividual'Dob :: (GHC.Maybe.Maybe Issuing'cardholderIndividual'Dob') -- | first_name: The first name of this cardholder. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardholderIndividual'FirstName :: (GHC.Maybe.Maybe GHC.Base.String) -- | last_name: The last name of this cardholder. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'cardholderIndividual'LastName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verification: Government-issued ID document for this cardholder. , issuing'cardholderIndividual'Verification :: (GHC.Maybe.Maybe Issuing'cardholderIndividual'Verification') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderIndividual' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dob" (issuing'cardholderIndividual'Dob obj) : (Data.Aeson..=) "first_name" (issuing'cardholderIndividual'FirstName obj) : (Data.Aeson..=) "last_name" (issuing'cardholderIndividual'LastName obj) : (Data.Aeson..=) "verification" (issuing'cardholderIndividual'Verification obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dob" (issuing'cardholderIndividual'Dob obj) GHC.Base.<> ((Data.Aeson..=) "first_name" (issuing'cardholderIndividual'FirstName obj) GHC.Base.<> ((Data.Aeson..=) "last_name" (issuing'cardholderIndividual'LastName obj) GHC.Base.<> (Data.Aeson..=) "verification" (issuing'cardholderIndividual'Verification obj)))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardholderIndividual' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardholderIndividual'" (\obj -> (((GHC.Base.pure Issuing'cardholderIndividual' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dob")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "first_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verification")) -- | Defines the data type for the schema issuing.cardholderIndividual\'Dob\' -- -- The date of birth of this cardholder. data Issuing'cardholderIndividual'Dob' = Issuing'cardholderIndividual'Dob' { -- | day: The day of birth, between 1 and 31. issuing'cardholderIndividual'Dob'Day :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | month: The month of birth, between 1 and 12. , issuing'cardholderIndividual'Dob'Month :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | year: The four-digit year of birth. , issuing'cardholderIndividual'Dob'Year :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderIndividual'Dob' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "day" (issuing'cardholderIndividual'Dob'Day obj) : (Data.Aeson..=) "month" (issuing'cardholderIndividual'Dob'Month obj) : (Data.Aeson..=) "year" (issuing'cardholderIndividual'Dob'Year obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "day" (issuing'cardholderIndividual'Dob'Day obj) GHC.Base.<> ((Data.Aeson..=) "month" (issuing'cardholderIndividual'Dob'Month obj) GHC.Base.<> (Data.Aeson..=) "year" (issuing'cardholderIndividual'Dob'Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardholderIndividual'Dob' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardholderIndividual'Dob'" (\obj -> ((GHC.Base.pure Issuing'cardholderIndividual'Dob' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "day")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "year")) -- | Defines the data type for the schema issuing.cardholderIndividual\'Verification\' -- -- Government-issued ID document for this cardholder. data Issuing'cardholderIndividual'Verification' = Issuing'cardholderIndividual'Verification' { -- | document: An identifying document, either a passport or local ID card. issuing'cardholderIndividual'Verification'Document :: (GHC.Maybe.Maybe Issuing'cardholderIndividual'Verification'Document') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderIndividual'Verification' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "document" (issuing'cardholderIndividual'Verification'Document obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "document" (issuing'cardholderIndividual'Verification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardholderIndividual'Verification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardholderIndividual'Verification'" (\obj -> GHC.Base.pure Issuing'cardholderIndividual'Verification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Defines the data type for the schema issuing.cardholderIndividual\'Verification\'Document\' -- -- An identifying document, either a passport or local ID card. data Issuing'cardholderIndividual'Verification'Document' = Issuing'cardholderIndividual'Verification'Document' { -- | back: The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. issuing'cardholderIndividual'Verification'Document'Back :: (GHC.Maybe.Maybe Issuing'cardholderIndividual'Verification'Document'Back'Variants) -- | front: The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. , issuing'cardholderIndividual'Verification'Document'Front :: (GHC.Maybe.Maybe Issuing'cardholderIndividual'Verification'Document'Front'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderIndividual'Verification'Document' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "back" (issuing'cardholderIndividual'Verification'Document'Back obj) : (Data.Aeson..=) "front" (issuing'cardholderIndividual'Verification'Document'Front obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "back" (issuing'cardholderIndividual'Verification'Document'Back obj) GHC.Base.<> (Data.Aeson..=) "front" (issuing'cardholderIndividual'Verification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardholderIndividual'Verification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardholderIndividual'Verification'Document'" (\obj -> (GHC.Base.pure Issuing'cardholderIndividual'Verification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Define the one-of schema issuing.cardholderIndividual\'Verification\'Document\'Back\' -- -- The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data Issuing'cardholderIndividual'Verification'Document'Back'Variants = Issuing'cardholderIndividual'Verification'Document'Back'File File | Issuing'cardholderIndividual'Verification'Document'Back'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'cardholderIndividual'Verification'Document'Back'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'cardholderIndividual'Verification'Document'Back'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing.cardholderIndividual\'Verification\'Document\'Front\' -- -- The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data Issuing'cardholderIndividual'Verification'Document'Front'Variants = Issuing'cardholderIndividual'Verification'Document'Front'File File | Issuing'cardholderIndividual'Verification'Document'Front'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'cardholderIndividual'Verification'Document'Front'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'cardholderIndividual'Verification'Document'Front'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing.cardholderMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data Issuing'cardholderMetadata' = Issuing'cardholderMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'cardholderMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'cardholderMetadata'" (\obj -> GHC.Base.pure Issuing'cardholderMetadata') -- | Defines the enum schema issuing.cardholderObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Issuing'cardholderObject' = Issuing'cardholderObject'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardholderObject'EnumTyped GHC.Base.String | Issuing'cardholderObject'EnumStringIssuing'cardholder deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderObject' where toJSON (Issuing'cardholderObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderObject'EnumStringIssuing'cardholder) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.cardholder" instance Data.Aeson.FromJSON Issuing'cardholderObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.cardholder") then Issuing'cardholderObject'EnumStringIssuing'cardholder else Issuing'cardholderObject'EnumOther val) -- | Defines the enum schema issuing.cardholderStatus\' -- -- Specifies whether to permit authorizations on this cardholder\'s cards. data Issuing'cardholderStatus' = Issuing'cardholderStatus'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardholderStatus'EnumTyped GHC.Base.String | Issuing'cardholderStatus'EnumStringActive | Issuing'cardholderStatus'EnumStringBlocked | Issuing'cardholderStatus'EnumStringInactive deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderStatus' where toJSON (Issuing'cardholderStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderStatus'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active" toJSON (Issuing'cardholderStatus'EnumStringBlocked) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "blocked" toJSON (Issuing'cardholderStatus'EnumStringInactive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive" instance Data.Aeson.FromJSON Issuing'cardholderStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active") then Issuing'cardholderStatus'EnumStringActive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "blocked") then Issuing'cardholderStatus'EnumStringBlocked else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive") then Issuing'cardholderStatus'EnumStringInactive else Issuing'cardholderStatus'EnumOther val) -- | Defines the enum schema issuing.cardholderType\' -- -- One of \`individual\` or \`business_entity\`. data Issuing'cardholderType' = Issuing'cardholderType'EnumOther Data.Aeson.Types.Internal.Value | Issuing'cardholderType'EnumTyped GHC.Base.String | Issuing'cardholderType'EnumStringBusinessEntity | Issuing'cardholderType'EnumStringIndividual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'cardholderType' where toJSON (Issuing'cardholderType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'cardholderType'EnumStringBusinessEntity) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_entity" toJSON (Issuing'cardholderType'EnumStringIndividual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual" instance Data.Aeson.FromJSON Issuing'cardholderType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "business_entity") then Issuing'cardholderType'EnumStringBusinessEntity else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual") then Issuing'cardholderType'EnumStringIndividual else Issuing'cardholderType'EnumOther val) -- | Defines the data type for the schema issuing.dispute -- -- As a [card issuer](https:\/\/stripe.com\/docs\/issuing), you can [dispute](https:\/\/stripe.com\/docs\/issuing\/disputes) transactions that you do not recognize, suspect to be fraudulent, or have some other issue. -- -- Related guide: [Disputing Transactions](https:\/\/stripe.com\/docs\/issuing\/disputes) data Issuing'dispute = Issuing'dispute { -- | amount: Disputed amount. Usually the amount of the \`disputed_transaction\`, but can differ (usually because of currency fluctuation or because only part of the order is disputed). issuing'disputeAmount :: GHC.Integer.Type.Integer -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , issuing'disputeCreated :: GHC.Integer.Type.Integer -- | currency: The currency the \`disputed_transaction\` was made in. , issuing'disputeCurrency :: GHC.Base.String -- | disputed_transaction: The transaction being disputed. , issuing'disputeDisputedTransaction :: Issuing'disputeDisputedTransaction'Variants -- | evidence: , issuing'disputeEvidence :: IssuingDisputeEvidence -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'disputeId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , issuing'disputeLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , issuing'disputeMetadata :: Issuing'disputeMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuing'disputeObject :: Issuing'disputeObject' -- | reason: Reason for this dispute. One of \`duplicate\`, \`product_not_received\`, \`fraudulent\`, or \`other\`. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'disputeReason :: GHC.Base.String -- | status: Current status of dispute. One of \`unsubmitted\`, \`under_review\`, \`won\`, or \`lost\`. , issuing'disputeStatus :: Issuing'disputeStatus' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'dispute where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (issuing'disputeAmount obj) : (Data.Aeson..=) "created" (issuing'disputeCreated obj) : (Data.Aeson..=) "currency" (issuing'disputeCurrency obj) : (Data.Aeson..=) "disputed_transaction" (issuing'disputeDisputedTransaction obj) : (Data.Aeson..=) "evidence" (issuing'disputeEvidence obj) : (Data.Aeson..=) "id" (issuing'disputeId obj) : (Data.Aeson..=) "livemode" (issuing'disputeLivemode obj) : (Data.Aeson..=) "metadata" (issuing'disputeMetadata obj) : (Data.Aeson..=) "object" (issuing'disputeObject obj) : (Data.Aeson..=) "reason" (issuing'disputeReason obj) : (Data.Aeson..=) "status" (issuing'disputeStatus obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (issuing'disputeAmount obj) GHC.Base.<> ((Data.Aeson..=) "created" (issuing'disputeCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (issuing'disputeCurrency obj) GHC.Base.<> ((Data.Aeson..=) "disputed_transaction" (issuing'disputeDisputedTransaction obj) GHC.Base.<> ((Data.Aeson..=) "evidence" (issuing'disputeEvidence obj) GHC.Base.<> ((Data.Aeson..=) "id" (issuing'disputeId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (issuing'disputeLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (issuing'disputeMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (issuing'disputeObject obj) GHC.Base.<> ((Data.Aeson..=) "reason" (issuing'disputeReason obj) GHC.Base.<> (Data.Aeson..=) "status" (issuing'disputeStatus obj))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'dispute where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'dispute" (\obj -> ((((((((((GHC.Base.pure Issuing'dispute GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "disputed_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "evidence")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) -- | Define the one-of schema issuing.disputeDisputed_transaction\' -- -- The transaction being disputed. data Issuing'disputeDisputedTransaction'Variants = Issuing'disputeDisputedTransaction'Issuing'transaction Issuing'transaction | Issuing'disputeDisputedTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'disputeDisputedTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'disputeDisputedTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing.disputeMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data Issuing'disputeMetadata' = Issuing'disputeMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'disputeMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'disputeMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'disputeMetadata'" (\obj -> GHC.Base.pure Issuing'disputeMetadata') -- | Defines the enum schema issuing.disputeObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Issuing'disputeObject' = Issuing'disputeObject'EnumOther Data.Aeson.Types.Internal.Value | Issuing'disputeObject'EnumTyped GHC.Base.String | Issuing'disputeObject'EnumStringIssuing'dispute deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'disputeObject' where toJSON (Issuing'disputeObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'disputeObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'disputeObject'EnumStringIssuing'dispute) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.dispute" instance Data.Aeson.FromJSON Issuing'disputeObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.dispute") then Issuing'disputeObject'EnumStringIssuing'dispute else Issuing'disputeObject'EnumOther val) -- | Defines the enum schema issuing.disputeStatus\' -- -- Current status of dispute. One of \`unsubmitted\`, \`under_review\`, \`won\`, or \`lost\`. data Issuing'disputeStatus' = Issuing'disputeStatus'EnumOther Data.Aeson.Types.Internal.Value | Issuing'disputeStatus'EnumTyped GHC.Base.String | Issuing'disputeStatus'EnumStringLost | Issuing'disputeStatus'EnumStringUnderReview | Issuing'disputeStatus'EnumStringUnsubmitted | Issuing'disputeStatus'EnumStringWon deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'disputeStatus' where toJSON (Issuing'disputeStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'disputeStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'disputeStatus'EnumStringLost) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lost" toJSON (Issuing'disputeStatus'EnumStringUnderReview) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "under_review" toJSON (Issuing'disputeStatus'EnumStringUnsubmitted) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unsubmitted" toJSON (Issuing'disputeStatus'EnumStringWon) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "won" instance Data.Aeson.FromJSON Issuing'disputeStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "lost") then Issuing'disputeStatus'EnumStringLost else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "under_review") then Issuing'disputeStatus'EnumStringUnderReview else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unsubmitted") then Issuing'disputeStatus'EnumStringUnsubmitted else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "won") then Issuing'disputeStatus'EnumStringWon else Issuing'disputeStatus'EnumOther val) -- | Defines the data type for the schema issuing.transaction -- -- Any use of an [issued card](https:\/\/stripe.com\/docs\/issuing) that results in funds entering or leaving -- your Stripe account, such as a completed purchase or refund, is represented by an Issuing -- \`Transaction\` object. -- -- Related guide: [Issued Card Transactions](https:\/\/stripe.com\/docs\/issuing\/transactions). data Issuing'transaction = Issuing'transaction { -- | amount: The amount of this transaction in your currency. This is the amount that your balance will be updated by. issuing'transactionAmount :: GHC.Integer.Type.Integer -- | authorization: The \`Authorization\` object that led to this transaction. , issuing'transactionAuthorization :: (GHC.Maybe.Maybe Issuing'transactionAuthorization'Variants) -- | balance_transaction: ID of the [balance transaction](https:\/\/stripe.com\/docs\/api\/balance_transactions) associated with this transaction. , issuing'transactionBalanceTransaction :: (GHC.Maybe.Maybe Issuing'transactionBalanceTransaction'Variants) -- | card: The card used to make this transaction. , issuing'transactionCard :: Issuing'transactionCard'Variants -- | cardholder: The cardholder to whom this transaction belongs. , issuing'transactionCardholder :: (GHC.Maybe.Maybe Issuing'transactionCardholder'Variants) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , issuing'transactionCreated :: GHC.Integer.Type.Integer -- | 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'transactionCurrency :: GHC.Base.String -- | dispute: If you\'ve disputed the transaction, the ID of the [dispute object](https:\/\/stripe.com\/docs\/api\/issuing\/disputes\/object). , issuing'transactionDispute :: (GHC.Maybe.Maybe Issuing'transactionDispute'Variants) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , issuing'transactionId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , issuing'transactionLivemode :: GHC.Types.Bool -- | merchant_amount: The amount that the merchant will receive, denominated in \`merchant_currency\`. It will be different from \`amount\` if the merchant is taking payment in a different currency. , issuing'transactionMerchantAmount :: GHC.Integer.Type.Integer -- | merchant_currency: The currency with which the merchant is taking payment. , issuing'transactionMerchantCurrency :: GHC.Base.String -- | merchant_data: , issuing'transactionMerchantData :: IssuingAuthorizationMerchantData -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , issuing'transactionMetadata :: Issuing'transactionMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , issuing'transactionObject :: Issuing'transactionObject' -- | type: The nature of the transaction. , issuing'transactionType :: Issuing'transactionType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'transaction where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (issuing'transactionAmount obj) : (Data.Aeson..=) "authorization" (issuing'transactionAuthorization obj) : (Data.Aeson..=) "balance_transaction" (issuing'transactionBalanceTransaction obj) : (Data.Aeson..=) "card" (issuing'transactionCard obj) : (Data.Aeson..=) "cardholder" (issuing'transactionCardholder obj) : (Data.Aeson..=) "created" (issuing'transactionCreated obj) : (Data.Aeson..=) "currency" (issuing'transactionCurrency obj) : (Data.Aeson..=) "dispute" (issuing'transactionDispute obj) : (Data.Aeson..=) "id" (issuing'transactionId obj) : (Data.Aeson..=) "livemode" (issuing'transactionLivemode obj) : (Data.Aeson..=) "merchant_amount" (issuing'transactionMerchantAmount obj) : (Data.Aeson..=) "merchant_currency" (issuing'transactionMerchantCurrency obj) : (Data.Aeson..=) "merchant_data" (issuing'transactionMerchantData obj) : (Data.Aeson..=) "metadata" (issuing'transactionMetadata obj) : (Data.Aeson..=) "object" (issuing'transactionObject obj) : (Data.Aeson..=) "type" (issuing'transactionType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (issuing'transactionAmount obj) GHC.Base.<> ((Data.Aeson..=) "authorization" (issuing'transactionAuthorization obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (issuing'transactionBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "card" (issuing'transactionCard obj) GHC.Base.<> ((Data.Aeson..=) "cardholder" (issuing'transactionCardholder obj) GHC.Base.<> ((Data.Aeson..=) "created" (issuing'transactionCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (issuing'transactionCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dispute" (issuing'transactionDispute obj) GHC.Base.<> ((Data.Aeson..=) "id" (issuing'transactionId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (issuing'transactionLivemode obj) GHC.Base.<> ((Data.Aeson..=) "merchant_amount" (issuing'transactionMerchantAmount obj) GHC.Base.<> ((Data.Aeson..=) "merchant_currency" (issuing'transactionMerchantCurrency obj) GHC.Base.<> ((Data.Aeson..=) "merchant_data" (issuing'transactionMerchantData obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (issuing'transactionMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (issuing'transactionObject obj) GHC.Base.<> (Data.Aeson..=) "type" (issuing'transactionType obj)))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'transaction where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'transaction" (\obj -> (((((((((((((((GHC.Base.pure Issuing'transaction GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "authorization")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "card")) 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..:? "dispute")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "merchant_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "merchant_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "merchant_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Define the one-of schema issuing.transactionAuthorization\' -- -- The \`Authorization\` object that led to this transaction. data Issuing'transactionAuthorization'Variants = Issuing'transactionAuthorization'Issuing'authorization Issuing'authorization | Issuing'transactionAuthorization'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'transactionAuthorization'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'transactionAuthorization'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing.transactionBalance_transaction\' -- -- ID of the [balance transaction](https:\/\/stripe.com\/docs\/api\/balance_transactions) associated with this transaction. data Issuing'transactionBalanceTransaction'Variants = Issuing'transactionBalanceTransaction'BalanceTransaction BalanceTransaction | Issuing'transactionBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'transactionBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'transactionBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing.transactionCard\' -- -- The card used to make this transaction. data Issuing'transactionCard'Variants = Issuing'transactionCard'Issuing'card Issuing'card | Issuing'transactionCard'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'transactionCard'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'transactionCard'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing.transactionCardholder\' -- -- The cardholder to whom this transaction belongs. data Issuing'transactionCardholder'Variants = Issuing'transactionCardholder'Issuing'cardholder Issuing'cardholder | Issuing'transactionCardholder'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'transactionCardholder'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'transactionCardholder'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing.transactionDispute\' -- -- If you\'ve disputed the transaction, the ID of the [dispute object](https:\/\/stripe.com\/docs\/api\/issuing\/disputes\/object). data Issuing'transactionDispute'Variants = Issuing'transactionDispute'Issuing'dispute Issuing'dispute | Issuing'transactionDispute'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Issuing'transactionDispute'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Issuing'transactionDispute'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing.transactionMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data Issuing'transactionMetadata' = Issuing'transactionMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'transactionMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON Issuing'transactionMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Issuing'transactionMetadata'" (\obj -> GHC.Base.pure Issuing'transactionMetadata') -- | Defines the enum schema issuing.transactionObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Issuing'transactionObject' = Issuing'transactionObject'EnumOther Data.Aeson.Types.Internal.Value | Issuing'transactionObject'EnumTyped GHC.Base.String | Issuing'transactionObject'EnumStringIssuing'transaction deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'transactionObject' where toJSON (Issuing'transactionObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'transactionObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'transactionObject'EnumStringIssuing'transaction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.transaction" instance Data.Aeson.FromJSON Issuing'transactionObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "issuing.transaction") then Issuing'transactionObject'EnumStringIssuing'transaction else Issuing'transactionObject'EnumOther val) -- | Defines the enum schema issuing.transactionType\' -- -- The nature of the transaction. data Issuing'transactionType' = Issuing'transactionType'EnumOther Data.Aeson.Types.Internal.Value | Issuing'transactionType'EnumTyped GHC.Base.String | Issuing'transactionType'EnumStringCapture | Issuing'transactionType'EnumStringCashWithdrawal | Issuing'transactionType'EnumStringDispute | Issuing'transactionType'EnumStringDisputeLoss | Issuing'transactionType'EnumStringRefund | Issuing'transactionType'EnumStringRefundReversal deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Issuing'transactionType' where toJSON (Issuing'transactionType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'transactionType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Issuing'transactionType'EnumStringCapture) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "capture" toJSON (Issuing'transactionType'EnumStringCashWithdrawal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cash_withdrawal" toJSON (Issuing'transactionType'EnumStringDispute) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dispute" toJSON (Issuing'transactionType'EnumStringDisputeLoss) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dispute_loss" toJSON (Issuing'transactionType'EnumStringRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund" toJSON (Issuing'transactionType'EnumStringRefundReversal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund_reversal" instance Data.Aeson.FromJSON Issuing'transactionType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "capture") then Issuing'transactionType'EnumStringCapture else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cash_withdrawal") then Issuing'transactionType'EnumStringCashWithdrawal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dispute") then Issuing'transactionType'EnumStringDispute else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "dispute_loss") then Issuing'transactionType'EnumStringDisputeLoss else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund") then Issuing'transactionType'EnumStringRefund else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund_reversal") then Issuing'transactionType'EnumStringRefundReversal else Issuing'transactionType'EnumOther val) -- | Defines the data type for the schema issuing_cardholder_id_document -- -- data IssuingCardholderIdDocument = IssuingCardholderIdDocument { -- | back: The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. issuingCardholderIdDocumentBack :: (GHC.Maybe.Maybe IssuingCardholderIdDocumentBack'Variants) -- | front: The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. , issuingCardholderIdDocumentFront :: (GHC.Maybe.Maybe IssuingCardholderIdDocumentFront'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingCardholderIdDocument where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "back" (issuingCardholderIdDocumentBack obj) : (Data.Aeson..=) "front" (issuingCardholderIdDocumentFront obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "back" (issuingCardholderIdDocumentBack obj) GHC.Base.<> (Data.Aeson..=) "front" (issuingCardholderIdDocumentFront obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingCardholderIdDocument where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingCardholderIdDocument" (\obj -> (GHC.Base.pure IssuingCardholderIdDocument GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Define the one-of schema issuing_cardholder_id_documentBack\' -- -- The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data IssuingCardholderIdDocumentBack'Variants = IssuingCardholderIdDocumentBack'File File | IssuingCardholderIdDocumentBack'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingCardholderIdDocumentBack'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingCardholderIdDocumentBack'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing_cardholder_id_documentFront\' -- -- The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data IssuingCardholderIdDocumentFront'Variants = IssuingCardholderIdDocumentFront'File File | IssuingCardholderIdDocumentFront'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingCardholderIdDocumentFront'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingCardholderIdDocumentFront'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_cardholder_individual -- -- data IssuingCardholderIndividual = IssuingCardholderIndividual { -- | dob: The date of birth of this cardholder. issuingCardholderIndividualDob :: (GHC.Maybe.Maybe IssuingCardholderIndividualDob') -- | first_name: The first name of this cardholder. -- -- Constraints: -- -- * Maximum length of 5000 , issuingCardholderIndividualFirstName :: GHC.Base.String -- | last_name: The last name of this cardholder. -- -- Constraints: -- -- * Maximum length of 5000 , issuingCardholderIndividualLastName :: GHC.Base.String -- | verification: Government-issued ID document for this cardholder. , issuingCardholderIndividualVerification :: (GHC.Maybe.Maybe IssuingCardholderIndividualVerification') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingCardholderIndividual where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dob" (issuingCardholderIndividualDob obj) : (Data.Aeson..=) "first_name" (issuingCardholderIndividualFirstName obj) : (Data.Aeson..=) "last_name" (issuingCardholderIndividualLastName obj) : (Data.Aeson..=) "verification" (issuingCardholderIndividualVerification obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dob" (issuingCardholderIndividualDob obj) GHC.Base.<> ((Data.Aeson..=) "first_name" (issuingCardholderIndividualFirstName obj) GHC.Base.<> ((Data.Aeson..=) "last_name" (issuingCardholderIndividualLastName obj) GHC.Base.<> (Data.Aeson..=) "verification" (issuingCardholderIndividualVerification obj)))) instance Data.Aeson.Types.FromJSON.FromJSON IssuingCardholderIndividual where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingCardholderIndividual" (\obj -> (((GHC.Base.pure IssuingCardholderIndividual GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dob")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "first_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "last_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verification")) -- | Defines the data type for the schema issuing_cardholder_individualDob\' -- -- The date of birth of this cardholder. data IssuingCardholderIndividualDob' = IssuingCardholderIndividualDob' { -- | day: The day of birth, between 1 and 31. issuingCardholderIndividualDob'Day :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | month: The month of birth, between 1 and 12. , issuingCardholderIndividualDob'Month :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | year: The four-digit year of birth. , issuingCardholderIndividualDob'Year :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingCardholderIndividualDob' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "day" (issuingCardholderIndividualDob'Day obj) : (Data.Aeson..=) "month" (issuingCardholderIndividualDob'Month obj) : (Data.Aeson..=) "year" (issuingCardholderIndividualDob'Year obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "day" (issuingCardholderIndividualDob'Day obj) GHC.Base.<> ((Data.Aeson..=) "month" (issuingCardholderIndividualDob'Month obj) GHC.Base.<> (Data.Aeson..=) "year" (issuingCardholderIndividualDob'Year obj))) instance Data.Aeson.Types.FromJSON.FromJSON IssuingCardholderIndividualDob' where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingCardholderIndividualDob'" (\obj -> ((GHC.Base.pure IssuingCardholderIndividualDob' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "day")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "month")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "year")) -- | Defines the data type for the schema issuing_cardholder_individualVerification\' -- -- Government-issued ID document for this cardholder. data IssuingCardholderIndividualVerification' = IssuingCardholderIndividualVerification' { -- | document: An identifying document, either a passport or local ID card. issuingCardholderIndividualVerification'Document :: (GHC.Maybe.Maybe IssuingCardholderIndividualVerification'Document') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingCardholderIndividualVerification' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "document" (issuingCardholderIndividualVerification'Document obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "document" (issuingCardholderIndividualVerification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingCardholderIndividualVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingCardholderIndividualVerification'" (\obj -> GHC.Base.pure IssuingCardholderIndividualVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Defines the data type for the schema issuing_cardholder_individualVerification\'Document\' -- -- An identifying document, either a passport or local ID card. data IssuingCardholderIndividualVerification'Document' = IssuingCardholderIndividualVerification'Document' { -- | back: The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. issuingCardholderIndividualVerification'Document'Back :: (GHC.Maybe.Maybe IssuingCardholderIndividualVerification'Document'Back'Variants) -- | front: The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. , issuingCardholderIndividualVerification'Document'Front :: (GHC.Maybe.Maybe IssuingCardholderIndividualVerification'Document'Front'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingCardholderIndividualVerification'Document' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "back" (issuingCardholderIndividualVerification'Document'Back obj) : (Data.Aeson..=) "front" (issuingCardholderIndividualVerification'Document'Front obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "back" (issuingCardholderIndividualVerification'Document'Back obj) GHC.Base.<> (Data.Aeson..=) "front" (issuingCardholderIndividualVerification'Document'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingCardholderIndividualVerification'Document' where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingCardholderIndividualVerification'Document'" (\obj -> (GHC.Base.pure IssuingCardholderIndividualVerification'Document' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Define the one-of schema issuing_cardholder_individualVerification\'Document\'Back\' -- -- The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data IssuingCardholderIndividualVerification'Document'Back'Variants = IssuingCardholderIndividualVerification'Document'Back'File File | IssuingCardholderIndividualVerification'Document'Back'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingCardholderIndividualVerification'Document'Back'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingCardholderIndividualVerification'Document'Back'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing_cardholder_individualVerification\'Document\'Front\' -- -- The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data IssuingCardholderIndividualVerification'Document'Front'Variants = IssuingCardholderIndividualVerification'Document'Front'File File | IssuingCardholderIndividualVerification'Document'Front'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingCardholderIndividualVerification'Document'Front'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingCardholderIndividualVerification'Document'Front'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_cardholder_verification -- -- data IssuingCardholderVerification = IssuingCardholderVerification { -- | document: An identifying document, either a passport or local ID card. issuingCardholderVerificationDocument :: (GHC.Maybe.Maybe IssuingCardholderVerificationDocument') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingCardholderVerification where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "document" (issuingCardholderVerificationDocument obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "document" (issuingCardholderVerificationDocument obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingCardholderVerification where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingCardholderVerification" (\obj -> GHC.Base.pure IssuingCardholderVerification GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Defines the data type for the schema issuing_cardholder_verificationDocument\' -- -- An identifying document, either a passport or local ID card. data IssuingCardholderVerificationDocument' = IssuingCardholderVerificationDocument' { -- | back: The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. issuingCardholderVerificationDocument'Back :: (GHC.Maybe.Maybe IssuingCardholderVerificationDocument'Back'Variants) -- | front: The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. , issuingCardholderVerificationDocument'Front :: (GHC.Maybe.Maybe IssuingCardholderVerificationDocument'Front'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingCardholderVerificationDocument' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "back" (issuingCardholderVerificationDocument'Back obj) : (Data.Aeson..=) "front" (issuingCardholderVerificationDocument'Front obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "back" (issuingCardholderVerificationDocument'Back obj) GHC.Base.<> (Data.Aeson..=) "front" (issuingCardholderVerificationDocument'Front obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingCardholderVerificationDocument' where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingCardholderVerificationDocument'" (\obj -> (GHC.Base.pure IssuingCardholderVerificationDocument' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Define the one-of schema issuing_cardholder_verificationDocument\'Back\' -- -- The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data IssuingCardholderVerificationDocument'Back'Variants = IssuingCardholderVerificationDocument'Back'File File | IssuingCardholderVerificationDocument'Back'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingCardholderVerificationDocument'Back'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingCardholderVerificationDocument'Back'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema issuing_cardholder_verificationDocument\'Front\' -- -- The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data IssuingCardholderVerificationDocument'Front'Variants = IssuingCardholderVerificationDocument'Front'File File | IssuingCardholderVerificationDocument'Front'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingCardholderVerificationDocument'Front'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingCardholderVerificationDocument'Front'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_dispute_duplicate_evidence -- -- data IssuingDisputeDuplicateEvidence = IssuingDisputeDuplicateEvidence { -- | dispute_explanation: Brief freeform text explaining why you are disputing this transaction. -- -- Constraints: -- -- * Maximum length of 5000 issuingDisputeDuplicateEvidenceDisputeExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | original_transaction: Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one. -- -- Constraints: -- -- * Maximum length of 5000 , issuingDisputeDuplicateEvidenceOriginalTransaction :: (GHC.Maybe.Maybe GHC.Base.String) -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. , issuingDisputeDuplicateEvidenceUncategorizedFile :: (GHC.Maybe.Maybe IssuingDisputeDuplicateEvidenceUncategorizedFile'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeDuplicateEvidence where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dispute_explanation" (issuingDisputeDuplicateEvidenceDisputeExplanation obj) : (Data.Aeson..=) "original_transaction" (issuingDisputeDuplicateEvidenceOriginalTransaction obj) : (Data.Aeson..=) "uncategorized_file" (issuingDisputeDuplicateEvidenceUncategorizedFile obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dispute_explanation" (issuingDisputeDuplicateEvidenceDisputeExplanation obj) GHC.Base.<> ((Data.Aeson..=) "original_transaction" (issuingDisputeDuplicateEvidenceOriginalTransaction obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_file" (issuingDisputeDuplicateEvidenceUncategorizedFile obj))) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeDuplicateEvidence where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeDuplicateEvidence" (\obj -> ((GHC.Base.pure IssuingDisputeDuplicateEvidence GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dispute_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "original_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) -- | Define the one-of schema issuing_dispute_duplicate_evidenceUncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. data IssuingDisputeDuplicateEvidenceUncategorizedFile'Variants = IssuingDisputeDuplicateEvidenceUncategorizedFile'File File | IssuingDisputeDuplicateEvidenceUncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingDisputeDuplicateEvidenceUncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingDisputeDuplicateEvidenceUncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_dispute_evidence -- -- data IssuingDisputeEvidence = IssuingDisputeEvidence { -- | duplicate: Evidence to support a duplicate product dispute. This will only be present if your dispute\'s \`reason\` is \`duplicate\`. issuingDisputeEvidenceDuplicate :: (GHC.Maybe.Maybe IssuingDisputeEvidenceDuplicate') -- | fraudulent: Evidence to support a fraudulent dispute. This will only be present if your dispute\'s \`reason\` is \`fraudulent\`. , issuingDisputeEvidenceFraudulent :: (GHC.Maybe.Maybe IssuingDisputeEvidenceFraudulent') -- | other: Evidence to support an uncategorized dispute. This will only be present if your dispute\'s \`reason\` is \`other\`. , issuingDisputeEvidenceOther :: (GHC.Maybe.Maybe IssuingDisputeEvidenceOther') -- | product_not_received: Evidence to support a dispute where the product wasn\'t received. This will only be present if your dispute\'s \`reason\` is \`product_not_received\`. , issuingDisputeEvidenceProductNotReceived :: (GHC.Maybe.Maybe IssuingDisputeEvidenceProductNotReceived') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeEvidence where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "duplicate" (issuingDisputeEvidenceDuplicate obj) : (Data.Aeson..=) "fraudulent" (issuingDisputeEvidenceFraudulent obj) : (Data.Aeson..=) "other" (issuingDisputeEvidenceOther obj) : (Data.Aeson..=) "product_not_received" (issuingDisputeEvidenceProductNotReceived obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "duplicate" (issuingDisputeEvidenceDuplicate obj) GHC.Base.<> ((Data.Aeson..=) "fraudulent" (issuingDisputeEvidenceFraudulent obj) GHC.Base.<> ((Data.Aeson..=) "other" (issuingDisputeEvidenceOther obj) GHC.Base.<> (Data.Aeson..=) "product_not_received" (issuingDisputeEvidenceProductNotReceived obj)))) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeEvidence where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeEvidence" (\obj -> (((GHC.Base.pure IssuingDisputeEvidence GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "duplicate")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fraudulent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "other")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product_not_received")) -- | Defines the data type for the schema issuing_dispute_evidenceDuplicate\' -- -- Evidence to support a duplicate product dispute. This will only be present if your dispute\\\'s \\\`reason\\\` is \\\`duplicate\\\`. data IssuingDisputeEvidenceDuplicate' = IssuingDisputeEvidenceDuplicate' { -- | dispute_explanation: Brief freeform text explaining why you are disputing this transaction. -- -- Constraints: -- -- * Maximum length of 5000 issuingDisputeEvidenceDuplicate'DisputeExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | original_transaction: Transaction (e.g., ipi_...) that the disputed transaction is a duplicate of. Of the two or more transactions that are copies of each other, this is original undisputed one. -- -- Constraints: -- -- * Maximum length of 5000 , issuingDisputeEvidenceDuplicate'OriginalTransaction :: (GHC.Maybe.Maybe GHC.Base.String) -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. , issuingDisputeEvidenceDuplicate'UncategorizedFile :: (GHC.Maybe.Maybe IssuingDisputeEvidenceDuplicate'UncategorizedFile'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeEvidenceDuplicate' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dispute_explanation" (issuingDisputeEvidenceDuplicate'DisputeExplanation obj) : (Data.Aeson..=) "original_transaction" (issuingDisputeEvidenceDuplicate'OriginalTransaction obj) : (Data.Aeson..=) "uncategorized_file" (issuingDisputeEvidenceDuplicate'UncategorizedFile obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dispute_explanation" (issuingDisputeEvidenceDuplicate'DisputeExplanation obj) GHC.Base.<> ((Data.Aeson..=) "original_transaction" (issuingDisputeEvidenceDuplicate'OriginalTransaction obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_file" (issuingDisputeEvidenceDuplicate'UncategorizedFile obj))) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeEvidenceDuplicate' where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeEvidenceDuplicate'" (\obj -> ((GHC.Base.pure IssuingDisputeEvidenceDuplicate' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dispute_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "original_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) -- | Define the one-of schema issuing_dispute_evidenceDuplicate\'Uncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. data IssuingDisputeEvidenceDuplicate'UncategorizedFile'Variants = IssuingDisputeEvidenceDuplicate'UncategorizedFile'File File | IssuingDisputeEvidenceDuplicate'UncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingDisputeEvidenceDuplicate'UncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingDisputeEvidenceDuplicate'UncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_dispute_evidenceFraudulent\' -- -- Evidence to support a fraudulent dispute. This will only be present if your dispute\\\'s \\\`reason\\\` is \\\`fraudulent\\\`. data IssuingDisputeEvidenceFraudulent' = IssuingDisputeEvidenceFraudulent' { -- | dispute_explanation: Brief freeform text explaining why you are disputing this transaction. -- -- Constraints: -- -- * Maximum length of 5000 issuingDisputeEvidenceFraudulent'DisputeExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. , issuingDisputeEvidenceFraudulent'UncategorizedFile :: (GHC.Maybe.Maybe IssuingDisputeEvidenceFraudulent'UncategorizedFile'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeEvidenceFraudulent' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dispute_explanation" (issuingDisputeEvidenceFraudulent'DisputeExplanation obj) : (Data.Aeson..=) "uncategorized_file" (issuingDisputeEvidenceFraudulent'UncategorizedFile obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dispute_explanation" (issuingDisputeEvidenceFraudulent'DisputeExplanation obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_file" (issuingDisputeEvidenceFraudulent'UncategorizedFile obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeEvidenceFraudulent' where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeEvidenceFraudulent'" (\obj -> (GHC.Base.pure IssuingDisputeEvidenceFraudulent' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dispute_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) -- | Define the one-of schema issuing_dispute_evidenceFraudulent\'Uncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. data IssuingDisputeEvidenceFraudulent'UncategorizedFile'Variants = IssuingDisputeEvidenceFraudulent'UncategorizedFile'File File | IssuingDisputeEvidenceFraudulent'UncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingDisputeEvidenceFraudulent'UncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingDisputeEvidenceFraudulent'UncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_dispute_evidenceOther\' -- -- Evidence to support an uncategorized dispute. This will only be present if your dispute\\\'s \\\`reason\\\` is \\\`other\\\`. data IssuingDisputeEvidenceOther' = IssuingDisputeEvidenceOther' { -- | dispute_explanation: Brief freeform text explaining why you are disputing this transaction. -- -- Constraints: -- -- * Maximum length of 5000 issuingDisputeEvidenceOther'DisputeExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. , issuingDisputeEvidenceOther'UncategorizedFile :: (GHC.Maybe.Maybe IssuingDisputeEvidenceOther'UncategorizedFile'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeEvidenceOther' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dispute_explanation" (issuingDisputeEvidenceOther'DisputeExplanation obj) : (Data.Aeson..=) "uncategorized_file" (issuingDisputeEvidenceOther'UncategorizedFile obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dispute_explanation" (issuingDisputeEvidenceOther'DisputeExplanation obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_file" (issuingDisputeEvidenceOther'UncategorizedFile obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeEvidenceOther' where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeEvidenceOther'" (\obj -> (GHC.Base.pure IssuingDisputeEvidenceOther' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dispute_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) -- | Define the one-of schema issuing_dispute_evidenceOther\'Uncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. data IssuingDisputeEvidenceOther'UncategorizedFile'Variants = IssuingDisputeEvidenceOther'UncategorizedFile'File File | IssuingDisputeEvidenceOther'UncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingDisputeEvidenceOther'UncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingDisputeEvidenceOther'UncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_dispute_evidenceProduct_not_received\' -- -- Evidence to support a dispute where the product wasn\\\'t received. This will only be present if your dispute\\\'s \\\`reason\\\` is \\\`product_not_received\\\`. data IssuingDisputeEvidenceProductNotReceived' = IssuingDisputeEvidenceProductNotReceived' { -- | dispute_explanation: Brief freeform text explaining why you are disputing this transaction. -- -- Constraints: -- -- * Maximum length of 5000 issuingDisputeEvidenceProductNotReceived'DisputeExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. , issuingDisputeEvidenceProductNotReceived'UncategorizedFile :: (GHC.Maybe.Maybe IssuingDisputeEvidenceProductNotReceived'UncategorizedFile'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeEvidenceProductNotReceived' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dispute_explanation" (issuingDisputeEvidenceProductNotReceived'DisputeExplanation obj) : (Data.Aeson..=) "uncategorized_file" (issuingDisputeEvidenceProductNotReceived'UncategorizedFile obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dispute_explanation" (issuingDisputeEvidenceProductNotReceived'DisputeExplanation obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_file" (issuingDisputeEvidenceProductNotReceived'UncategorizedFile obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeEvidenceProductNotReceived' where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeEvidenceProductNotReceived'" (\obj -> (GHC.Base.pure IssuingDisputeEvidenceProductNotReceived' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dispute_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) -- | Define the one-of schema issuing_dispute_evidenceProduct_not_received\'Uncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. data IssuingDisputeEvidenceProductNotReceived'UncategorizedFile'Variants = IssuingDisputeEvidenceProductNotReceived'UncategorizedFile'File File | IssuingDisputeEvidenceProductNotReceived'UncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingDisputeEvidenceProductNotReceived'UncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingDisputeEvidenceProductNotReceived'UncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_dispute_fraudulent_evidence -- -- data IssuingDisputeFraudulentEvidence = IssuingDisputeFraudulentEvidence { -- | dispute_explanation: Brief freeform text explaining why you are disputing this transaction. -- -- Constraints: -- -- * Maximum length of 5000 issuingDisputeFraudulentEvidenceDisputeExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. , issuingDisputeFraudulentEvidenceUncategorizedFile :: (GHC.Maybe.Maybe IssuingDisputeFraudulentEvidenceUncategorizedFile'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeFraudulentEvidence where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dispute_explanation" (issuingDisputeFraudulentEvidenceDisputeExplanation obj) : (Data.Aeson..=) "uncategorized_file" (issuingDisputeFraudulentEvidenceUncategorizedFile obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dispute_explanation" (issuingDisputeFraudulentEvidenceDisputeExplanation obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_file" (issuingDisputeFraudulentEvidenceUncategorizedFile obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeFraudulentEvidence where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeFraudulentEvidence" (\obj -> (GHC.Base.pure IssuingDisputeFraudulentEvidence GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dispute_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) -- | Define the one-of schema issuing_dispute_fraudulent_evidenceUncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. data IssuingDisputeFraudulentEvidenceUncategorizedFile'Variants = IssuingDisputeFraudulentEvidenceUncategorizedFile'File File | IssuingDisputeFraudulentEvidenceUncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingDisputeFraudulentEvidenceUncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingDisputeFraudulentEvidenceUncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_dispute_other_evidence -- -- data IssuingDisputeOtherEvidence = IssuingDisputeOtherEvidence { -- | dispute_explanation: Brief freeform text explaining why you are disputing this transaction. -- -- Constraints: -- -- * Maximum length of 5000 issuingDisputeOtherEvidenceDisputeExplanation :: GHC.Base.String -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. , issuingDisputeOtherEvidenceUncategorizedFile :: (GHC.Maybe.Maybe IssuingDisputeOtherEvidenceUncategorizedFile'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeOtherEvidence where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dispute_explanation" (issuingDisputeOtherEvidenceDisputeExplanation obj) : (Data.Aeson..=) "uncategorized_file" (issuingDisputeOtherEvidenceUncategorizedFile obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dispute_explanation" (issuingDisputeOtherEvidenceDisputeExplanation obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_file" (issuingDisputeOtherEvidenceUncategorizedFile obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeOtherEvidence where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeOtherEvidence" (\obj -> (GHC.Base.pure IssuingDisputeOtherEvidence GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "dispute_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) -- | Define the one-of schema issuing_dispute_other_evidenceUncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. data IssuingDisputeOtherEvidenceUncategorizedFile'Variants = IssuingDisputeOtherEvidenceUncategorizedFile'File File | IssuingDisputeOtherEvidenceUncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingDisputeOtherEvidenceUncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingDisputeOtherEvidenceUncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema issuing_dispute_product_not_received_evidence -- -- data IssuingDisputeProductNotReceivedEvidence = IssuingDisputeProductNotReceivedEvidence { -- | dispute_explanation: Brief freeform text explaining why you are disputing this transaction. -- -- Constraints: -- -- * Maximum length of 5000 issuingDisputeProductNotReceivedEvidenceDisputeExplanation :: (GHC.Maybe.Maybe GHC.Base.String) -- | uncategorized_file: (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. , issuingDisputeProductNotReceivedEvidenceUncategorizedFile :: (GHC.Maybe.Maybe IssuingDisputeProductNotReceivedEvidenceUncategorizedFile'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON IssuingDisputeProductNotReceivedEvidence where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "dispute_explanation" (issuingDisputeProductNotReceivedEvidenceDisputeExplanation obj) : (Data.Aeson..=) "uncategorized_file" (issuingDisputeProductNotReceivedEvidenceUncategorizedFile obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "dispute_explanation" (issuingDisputeProductNotReceivedEvidenceDisputeExplanation obj) GHC.Base.<> (Data.Aeson..=) "uncategorized_file" (issuingDisputeProductNotReceivedEvidenceUncategorizedFile obj)) instance Data.Aeson.Types.FromJSON.FromJSON IssuingDisputeProductNotReceivedEvidence where parseJSON = Data.Aeson.Types.FromJSON.withObject "IssuingDisputeProductNotReceivedEvidence" (\obj -> (GHC.Base.pure IssuingDisputeProductNotReceivedEvidence GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dispute_explanation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncategorized_file")) -- | Define the one-of schema issuing_dispute_product_not_received_evidenceUncategorized_file\' -- -- (ID of a [file upload](https:\/\/stripe.com\/docs\/guides\/file-upload)) Additional file evidence supporting your dispute. data IssuingDisputeProductNotReceivedEvidenceUncategorizedFile'Variants = IssuingDisputeProductNotReceivedEvidenceUncategorizedFile'File File | IssuingDisputeProductNotReceivedEvidenceUncategorizedFile'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON IssuingDisputeProductNotReceivedEvidenceUncategorizedFile'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON IssuingDisputeProductNotReceivedEvidenceUncategorizedFile'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema legal_entity_company -- -- data LegalEntityCompany = LegalEntityCompany { -- | address: legalEntityCompanyAddress :: (GHC.Maybe.Maybe Address) -- | address_kana: The Kana variation of the company\'s primary address (Japan only). , legalEntityCompanyAddressKana :: (GHC.Maybe.Maybe LegalEntityCompanyAddressKana') -- | address_kanji: The Kanji variation of the company\'s primary address (Japan only). , legalEntityCompanyAddressKanji :: (GHC.Maybe.Maybe LegalEntityCompanyAddressKanji') -- | directors_provided: Whether the company\'s directors have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all directors are provided via [the \`directors_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-directors_provided). , legalEntityCompanyDirectorsProvided :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | executives_provided: Whether the company\'s executives have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all executives are provided via [the \`executives_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided. , legalEntityCompanyExecutivesProvided :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | name: The company\'s legal name. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyName :: (GHC.Maybe.Maybe GHC.Base.String) -- | name_kana: The Kana variation of the company\'s legal name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyNameKana :: (GHC.Maybe.Maybe GHC.Base.String) -- | name_kanji: The Kanji variation of the company\'s legal name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyNameKanji :: (GHC.Maybe.Maybe GHC.Base.String) -- | owners_provided: Whether the company\'s owners have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all owners are provided via [the \`owners_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the \`percent_ownership\` of each owner together). , legalEntityCompanyOwnersProvided :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | phone: The company\'s phone number (used for verification). -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyPhone :: (GHC.Maybe.Maybe GHC.Base.String) -- | structure: The category identifying the legal structure of the company or legal entity. , legalEntityCompanyStructure :: (GHC.Maybe.Maybe LegalEntityCompanyStructure') -- | tax_id_provided: Whether the company\'s business ID number was provided. , legalEntityCompanyTaxIdProvided :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | tax_id_registrar: The jurisdiction in which the \`tax_id\` is registered (Germany-based companies only). -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyTaxIdRegistrar :: (GHC.Maybe.Maybe GHC.Base.String) -- | vat_id_provided: Whether the company\'s business VAT number was provided. , legalEntityCompanyVatIdProvided :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | verification: Information on the verification state of the company. , legalEntityCompanyVerification :: (GHC.Maybe.Maybe LegalEntityCompanyVerification') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityCompany where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (legalEntityCompanyAddress obj) : (Data.Aeson..=) "address_kana" (legalEntityCompanyAddressKana obj) : (Data.Aeson..=) "address_kanji" (legalEntityCompanyAddressKanji obj) : (Data.Aeson..=) "directors_provided" (legalEntityCompanyDirectorsProvided obj) : (Data.Aeson..=) "executives_provided" (legalEntityCompanyExecutivesProvided obj) : (Data.Aeson..=) "name" (legalEntityCompanyName obj) : (Data.Aeson..=) "name_kana" (legalEntityCompanyNameKana obj) : (Data.Aeson..=) "name_kanji" (legalEntityCompanyNameKanji obj) : (Data.Aeson..=) "owners_provided" (legalEntityCompanyOwnersProvided obj) : (Data.Aeson..=) "phone" (legalEntityCompanyPhone obj) : (Data.Aeson..=) "structure" (legalEntityCompanyStructure obj) : (Data.Aeson..=) "tax_id_provided" (legalEntityCompanyTaxIdProvided obj) : (Data.Aeson..=) "tax_id_registrar" (legalEntityCompanyTaxIdRegistrar obj) : (Data.Aeson..=) "vat_id_provided" (legalEntityCompanyVatIdProvided obj) : (Data.Aeson..=) "verification" (legalEntityCompanyVerification obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (legalEntityCompanyAddress obj) GHC.Base.<> ((Data.Aeson..=) "address_kana" (legalEntityCompanyAddressKana obj) GHC.Base.<> ((Data.Aeson..=) "address_kanji" (legalEntityCompanyAddressKanji obj) GHC.Base.<> ((Data.Aeson..=) "directors_provided" (legalEntityCompanyDirectorsProvided obj) GHC.Base.<> ((Data.Aeson..=) "executives_provided" (legalEntityCompanyExecutivesProvided obj) GHC.Base.<> ((Data.Aeson..=) "name" (legalEntityCompanyName obj) GHC.Base.<> ((Data.Aeson..=) "name_kana" (legalEntityCompanyNameKana obj) GHC.Base.<> ((Data.Aeson..=) "name_kanji" (legalEntityCompanyNameKanji obj) GHC.Base.<> ((Data.Aeson..=) "owners_provided" (legalEntityCompanyOwnersProvided obj) GHC.Base.<> ((Data.Aeson..=) "phone" (legalEntityCompanyPhone obj) GHC.Base.<> ((Data.Aeson..=) "structure" (legalEntityCompanyStructure obj) GHC.Base.<> ((Data.Aeson..=) "tax_id_provided" (legalEntityCompanyTaxIdProvided obj) GHC.Base.<> ((Data.Aeson..=) "tax_id_registrar" (legalEntityCompanyTaxIdRegistrar obj) GHC.Base.<> ((Data.Aeson..=) "vat_id_provided" (legalEntityCompanyVatIdProvided obj) GHC.Base.<> (Data.Aeson..=) "verification" (legalEntityCompanyVerification obj))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompany where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompany" (\obj -> ((((((((((((((GHC.Base.pure LegalEntityCompany GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "directors_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "executives_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owners_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "structure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_id_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_id_registrar")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "vat_id_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verification")) -- | Defines the data type for the schema legal_entity_companyAddress_kana\' -- -- The Kana variation of the company\\\'s primary address (Japan only). data LegalEntityCompanyAddressKana' = LegalEntityCompanyAddressKana' { -- | city: City\/Ward. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKana'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Block\/Building number. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKana'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Building details. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKana'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKana'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: Prefecture. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKana'State :: (GHC.Maybe.Maybe GHC.Base.String) -- | town: Town\/cho-me. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKana'Town :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityCompanyAddressKana' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (legalEntityCompanyAddressKana'City obj) : (Data.Aeson..=) "country" (legalEntityCompanyAddressKana'Country obj) : (Data.Aeson..=) "line1" (legalEntityCompanyAddressKana'Line1 obj) : (Data.Aeson..=) "line2" (legalEntityCompanyAddressKana'Line2 obj) : (Data.Aeson..=) "postal_code" (legalEntityCompanyAddressKana'PostalCode obj) : (Data.Aeson..=) "state" (legalEntityCompanyAddressKana'State obj) : (Data.Aeson..=) "town" (legalEntityCompanyAddressKana'Town obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (legalEntityCompanyAddressKana'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (legalEntityCompanyAddressKana'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (legalEntityCompanyAddressKana'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (legalEntityCompanyAddressKana'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (legalEntityCompanyAddressKana'PostalCode obj) GHC.Base.<> ((Data.Aeson..=) "state" (legalEntityCompanyAddressKana'State obj) GHC.Base.<> (Data.Aeson..=) "town" (legalEntityCompanyAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyAddressKana'" (\obj -> ((((((GHC.Base.pure LegalEntityCompanyAddressKana' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "town")) -- | Defines the data type for the schema legal_entity_companyAddress_kanji\' -- -- The Kanji variation of the company\\\'s primary address (Japan only). data LegalEntityCompanyAddressKanji' = LegalEntityCompanyAddressKanji' { -- | city: City\/Ward. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKanji'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Block\/Building number. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKanji'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Building details. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKanji'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKanji'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: Prefecture. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKanji'State :: (GHC.Maybe.Maybe GHC.Base.String) -- | town: Town\/cho-me. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyAddressKanji'Town :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityCompanyAddressKanji' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (legalEntityCompanyAddressKanji'City obj) : (Data.Aeson..=) "country" (legalEntityCompanyAddressKanji'Country obj) : (Data.Aeson..=) "line1" (legalEntityCompanyAddressKanji'Line1 obj) : (Data.Aeson..=) "line2" (legalEntityCompanyAddressKanji'Line2 obj) : (Data.Aeson..=) "postal_code" (legalEntityCompanyAddressKanji'PostalCode obj) : (Data.Aeson..=) "state" (legalEntityCompanyAddressKanji'State obj) : (Data.Aeson..=) "town" (legalEntityCompanyAddressKanji'Town obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (legalEntityCompanyAddressKanji'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (legalEntityCompanyAddressKanji'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (legalEntityCompanyAddressKanji'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (legalEntityCompanyAddressKanji'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (legalEntityCompanyAddressKanji'PostalCode obj) GHC.Base.<> ((Data.Aeson..=) "state" (legalEntityCompanyAddressKanji'State obj) GHC.Base.<> (Data.Aeson..=) "town" (legalEntityCompanyAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyAddressKanji'" (\obj -> ((((((GHC.Base.pure LegalEntityCompanyAddressKanji' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "town")) -- | Defines the enum schema legal_entity_companyStructure\' -- -- The category identifying the legal structure of the company or legal entity. data LegalEntityCompanyStructure' = LegalEntityCompanyStructure'EnumOther Data.Aeson.Types.Internal.Value | LegalEntityCompanyStructure'EnumTyped GHC.Base.String | LegalEntityCompanyStructure'EnumStringGovernmentInstrumentality | LegalEntityCompanyStructure'EnumStringGovernmentalUnit | LegalEntityCompanyStructure'EnumStringIncorporatedNonProfit | LegalEntityCompanyStructure'EnumStringMultiMemberLlc | LegalEntityCompanyStructure'EnumStringPrivateCorporation | LegalEntityCompanyStructure'EnumStringPrivatePartnership | LegalEntityCompanyStructure'EnumStringPublicCorporation | LegalEntityCompanyStructure'EnumStringPublicPartnership | LegalEntityCompanyStructure'EnumStringTaxExemptGovernmentInstrumentality | LegalEntityCompanyStructure'EnumStringUnincorporatedAssociation | LegalEntityCompanyStructure'EnumStringUnincorporatedNonProfit deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityCompanyStructure' where toJSON (LegalEntityCompanyStructure'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LegalEntityCompanyStructure'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LegalEntityCompanyStructure'EnumStringGovernmentInstrumentality) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_instrumentality" toJSON (LegalEntityCompanyStructure'EnumStringGovernmentalUnit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "governmental_unit" toJSON (LegalEntityCompanyStructure'EnumStringIncorporatedNonProfit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "incorporated_non_profit" toJSON (LegalEntityCompanyStructure'EnumStringMultiMemberLlc) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multi_member_llc" toJSON (LegalEntityCompanyStructure'EnumStringPrivateCorporation) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "private_corporation" toJSON (LegalEntityCompanyStructure'EnumStringPrivatePartnership) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "private_partnership" toJSON (LegalEntityCompanyStructure'EnumStringPublicCorporation) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_corporation" toJSON (LegalEntityCompanyStructure'EnumStringPublicPartnership) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_partnership" toJSON (LegalEntityCompanyStructure'EnumStringTaxExemptGovernmentInstrumentality) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_exempt_government_instrumentality" toJSON (LegalEntityCompanyStructure'EnumStringUnincorporatedAssociation) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unincorporated_association" toJSON (LegalEntityCompanyStructure'EnumStringUnincorporatedNonProfit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unincorporated_non_profit" instance Data.Aeson.FromJSON LegalEntityCompanyStructure' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_instrumentality") then LegalEntityCompanyStructure'EnumStringGovernmentInstrumentality else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "governmental_unit") then LegalEntityCompanyStructure'EnumStringGovernmentalUnit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "incorporated_non_profit") then LegalEntityCompanyStructure'EnumStringIncorporatedNonProfit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multi_member_llc") then LegalEntityCompanyStructure'EnumStringMultiMemberLlc else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "private_corporation") then LegalEntityCompanyStructure'EnumStringPrivateCorporation else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "private_partnership") then LegalEntityCompanyStructure'EnumStringPrivatePartnership else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_corporation") then LegalEntityCompanyStructure'EnumStringPublicCorporation else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "public_partnership") then LegalEntityCompanyStructure'EnumStringPublicPartnership else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_exempt_government_instrumentality") then LegalEntityCompanyStructure'EnumStringTaxExemptGovernmentInstrumentality else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unincorporated_association") then LegalEntityCompanyStructure'EnumStringUnincorporatedAssociation else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unincorporated_non_profit") then LegalEntityCompanyStructure'EnumStringUnincorporatedNonProfit else LegalEntityCompanyStructure'EnumOther val) -- | Defines the data type for the schema legal_entity_companyVerification\' -- -- Information on the verification state of the company. data LegalEntityCompanyVerification' = LegalEntityCompanyVerification' { -- | document: legalEntityCompanyVerification'Document :: (GHC.Maybe.Maybe LegalEntityCompanyVerificationDocument) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityCompanyVerification' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "document" (legalEntityCompanyVerification'Document obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "document" (legalEntityCompanyVerification'Document obj)) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyVerification' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyVerification'" (\obj -> GHC.Base.pure LegalEntityCompanyVerification' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) -- | Defines the data type for the schema legal_entity_company_verification -- -- data LegalEntityCompanyVerification = LegalEntityCompanyVerification { -- | document: legalEntityCompanyVerificationDocument :: LegalEntityCompanyVerificationDocument } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityCompanyVerification where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "document" (legalEntityCompanyVerificationDocument obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "document" (legalEntityCompanyVerificationDocument obj)) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyVerification where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyVerification" (\obj -> GHC.Base.pure LegalEntityCompanyVerification GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "document")) -- | Defines the data type for the schema legal_entity_company_verification_document -- -- data LegalEntityCompanyVerificationDocument = LegalEntityCompanyVerificationDocument { -- | back: The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`additional_verification\`. legalEntityCompanyVerificationDocumentBack :: (GHC.Maybe.Maybe LegalEntityCompanyVerificationDocumentBack'Variants) -- | details: A user-displayable string describing the verification state of this document. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyVerificationDocumentDetails :: (GHC.Maybe.Maybe GHC.Base.String) -- | details_code: One of \`document_corrupt\`, \`document_expired\`, \`document_failed_copy\`, \`document_failed_greyscale\`, \`document_failed_other\`, \`document_failed_test_mode\`, \`document_fraudulent\`, \`document_incomplete\`, \`document_invalid\`, \`document_manipulated\`, \`document_not_readable\`, \`document_not_uploaded\`, \`document_type_not_supported\`, or \`document_too_large\`. A machine-readable code specifying the verification state for this document. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityCompanyVerificationDocumentDetailsCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | front: The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`additional_verification\`. , legalEntityCompanyVerificationDocumentFront :: (GHC.Maybe.Maybe LegalEntityCompanyVerificationDocumentFront'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityCompanyVerificationDocument where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "back" (legalEntityCompanyVerificationDocumentBack obj) : (Data.Aeson..=) "details" (legalEntityCompanyVerificationDocumentDetails obj) : (Data.Aeson..=) "details_code" (legalEntityCompanyVerificationDocumentDetailsCode obj) : (Data.Aeson..=) "front" (legalEntityCompanyVerificationDocumentFront obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "back" (legalEntityCompanyVerificationDocumentBack obj) GHC.Base.<> ((Data.Aeson..=) "details" (legalEntityCompanyVerificationDocumentDetails obj) GHC.Base.<> ((Data.Aeson..=) "details_code" (legalEntityCompanyVerificationDocumentDetailsCode obj) GHC.Base.<> (Data.Aeson..=) "front" (legalEntityCompanyVerificationDocumentFront obj)))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyVerificationDocument where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyVerificationDocument" (\obj -> (((GHC.Base.pure LegalEntityCompanyVerificationDocument GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Define the one-of schema legal_entity_company_verification_documentBack\' -- -- The back of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`additional_verification\`. data LegalEntityCompanyVerificationDocumentBack'Variants = LegalEntityCompanyVerificationDocumentBack'File File | LegalEntityCompanyVerificationDocumentBack'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON LegalEntityCompanyVerificationDocumentBack'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON LegalEntityCompanyVerificationDocumentBack'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema legal_entity_company_verification_documentFront\' -- -- The front of a document returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`additional_verification\`. data LegalEntityCompanyVerificationDocumentFront'Variants = LegalEntityCompanyVerificationDocumentFront'File File | LegalEntityCompanyVerificationDocumentFront'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON LegalEntityCompanyVerificationDocumentFront'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON LegalEntityCompanyVerificationDocumentFront'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema legal_entity_person_verification -- -- data LegalEntityPersonVerification = LegalEntityPersonVerification { -- | additional_document: A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. legalEntityPersonVerificationAdditionalDocument :: (GHC.Maybe.Maybe LegalEntityPersonVerificationAdditionalDocument') -- | details: A user-displayable string describing the verification state for the person. For example, this may say \"Provided identity information could not be verified\". -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityPersonVerificationDetails :: (GHC.Maybe.Maybe GHC.Base.String) -- | details_code: One of \`document_address_mismatch\`, \`document_dob_mismatch\`, \`document_duplicate_type\`, \`document_id_number_mismatch\`, \`document_name_mismatch\`, \`document_nationality_mismatch\`, \`failed_keyed_identity\`, or \`failed_other\`. A machine-readable code specifying the verification state for the person. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityPersonVerificationDetailsCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | document: , legalEntityPersonVerificationDocument :: (GHC.Maybe.Maybe LegalEntityPersonVerificationDocument) -- | status: The state of verification for the person. Possible values are \`unverified\`, \`pending\`, or \`verified\`. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityPersonVerificationStatus :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityPersonVerification where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "additional_document" (legalEntityPersonVerificationAdditionalDocument obj) : (Data.Aeson..=) "details" (legalEntityPersonVerificationDetails obj) : (Data.Aeson..=) "details_code" (legalEntityPersonVerificationDetailsCode obj) : (Data.Aeson..=) "document" (legalEntityPersonVerificationDocument obj) : (Data.Aeson..=) "status" (legalEntityPersonVerificationStatus obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "additional_document" (legalEntityPersonVerificationAdditionalDocument obj) GHC.Base.<> ((Data.Aeson..=) "details" (legalEntityPersonVerificationDetails obj) GHC.Base.<> ((Data.Aeson..=) "details_code" (legalEntityPersonVerificationDetailsCode obj) GHC.Base.<> ((Data.Aeson..=) "document" (legalEntityPersonVerificationDocument obj) GHC.Base.<> (Data.Aeson..=) "status" (legalEntityPersonVerificationStatus obj))))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityPersonVerification where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityPersonVerification" (\obj -> ((((GHC.Base.pure LegalEntityPersonVerification GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "additional_document")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "document")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) -- | Defines the data type for the schema legal_entity_person_verificationAdditional_document\' -- -- A document showing address, either a passport, local ID card, or utility bill from a well-known utility company. data LegalEntityPersonVerificationAdditionalDocument' = LegalEntityPersonVerificationAdditionalDocument' { -- | back: The back of an ID returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. legalEntityPersonVerificationAdditionalDocument'Back :: (GHC.Maybe.Maybe LegalEntityPersonVerificationAdditionalDocument'Back'Variants) -- | details: A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\". -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityPersonVerificationAdditionalDocument'Details :: (GHC.Maybe.Maybe GHC.Base.String) -- | details_code: One of \`document_corrupt\`, \`document_country_not_supported\`, \`document_expired\`, \`document_failed_copy\`, \`document_failed_other\`, \`document_failed_test_mode\`, \`document_fraudulent\`, \`document_failed_greyscale\`, \`document_incomplete\`, \`document_invalid\`, \`document_manipulated\`, \`document_missing_back\`, \`document_missing_front\`, \`document_not_readable\`, \`document_not_uploaded\`, \`document_photo_mismatch\`, \`document_too_large\`, or \`document_type_not_supported\`. A machine-readable code specifying the verification state for this document. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityPersonVerificationAdditionalDocument'DetailsCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | front: The front of an ID returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. , legalEntityPersonVerificationAdditionalDocument'Front :: (GHC.Maybe.Maybe LegalEntityPersonVerificationAdditionalDocument'Front'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityPersonVerificationAdditionalDocument' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "back" (legalEntityPersonVerificationAdditionalDocument'Back obj) : (Data.Aeson..=) "details" (legalEntityPersonVerificationAdditionalDocument'Details obj) : (Data.Aeson..=) "details_code" (legalEntityPersonVerificationAdditionalDocument'DetailsCode obj) : (Data.Aeson..=) "front" (legalEntityPersonVerificationAdditionalDocument'Front obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "back" (legalEntityPersonVerificationAdditionalDocument'Back obj) GHC.Base.<> ((Data.Aeson..=) "details" (legalEntityPersonVerificationAdditionalDocument'Details obj) GHC.Base.<> ((Data.Aeson..=) "details_code" (legalEntityPersonVerificationAdditionalDocument'DetailsCode obj) GHC.Base.<> (Data.Aeson..=) "front" (legalEntityPersonVerificationAdditionalDocument'Front obj)))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityPersonVerificationAdditionalDocument' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityPersonVerificationAdditionalDocument'" (\obj -> (((GHC.Base.pure LegalEntityPersonVerificationAdditionalDocument' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Define the one-of schema legal_entity_person_verificationAdditional_document\'Back\' -- -- The back of an ID returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data LegalEntityPersonVerificationAdditionalDocument'Back'Variants = LegalEntityPersonVerificationAdditionalDocument'Back'File File | LegalEntityPersonVerificationAdditionalDocument'Back'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON LegalEntityPersonVerificationAdditionalDocument'Back'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON LegalEntityPersonVerificationAdditionalDocument'Back'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema legal_entity_person_verificationAdditional_document\'Front\' -- -- The front of an ID returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data LegalEntityPersonVerificationAdditionalDocument'Front'Variants = LegalEntityPersonVerificationAdditionalDocument'Front'File File | LegalEntityPersonVerificationAdditionalDocument'Front'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON LegalEntityPersonVerificationAdditionalDocument'Front'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON LegalEntityPersonVerificationAdditionalDocument'Front'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema legal_entity_person_verification_document -- -- data LegalEntityPersonVerificationDocument = LegalEntityPersonVerificationDocument { -- | back: The back of an ID returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. legalEntityPersonVerificationDocumentBack :: (GHC.Maybe.Maybe LegalEntityPersonVerificationDocumentBack'Variants) -- | details: A user-displayable string describing the verification state of this document. For example, if a document is uploaded and the picture is too fuzzy, this may say \"Identity document is too unclear to read\". -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityPersonVerificationDocumentDetails :: (GHC.Maybe.Maybe GHC.Base.String) -- | details_code: One of \`document_corrupt\`, \`document_country_not_supported\`, \`document_expired\`, \`document_failed_copy\`, \`document_failed_other\`, \`document_failed_test_mode\`, \`document_fraudulent\`, \`document_failed_greyscale\`, \`document_incomplete\`, \`document_invalid\`, \`document_manipulated\`, \`document_missing_back\`, \`document_missing_front\`, \`document_not_readable\`, \`document_not_uploaded\`, \`document_photo_mismatch\`, \`document_too_large\`, or \`document_type_not_supported\`. A machine-readable code specifying the verification state for this document. -- -- Constraints: -- -- * Maximum length of 5000 , legalEntityPersonVerificationDocumentDetailsCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | front: The front of an ID returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. , legalEntityPersonVerificationDocumentFront :: (GHC.Maybe.Maybe LegalEntityPersonVerificationDocumentFront'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LegalEntityPersonVerificationDocument where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "back" (legalEntityPersonVerificationDocumentBack obj) : (Data.Aeson..=) "details" (legalEntityPersonVerificationDocumentDetails obj) : (Data.Aeson..=) "details_code" (legalEntityPersonVerificationDocumentDetailsCode obj) : (Data.Aeson..=) "front" (legalEntityPersonVerificationDocumentFront obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "back" (legalEntityPersonVerificationDocumentBack obj) GHC.Base.<> ((Data.Aeson..=) "details" (legalEntityPersonVerificationDocumentDetails obj) GHC.Base.<> ((Data.Aeson..=) "details_code" (legalEntityPersonVerificationDocumentDetailsCode obj) GHC.Base.<> (Data.Aeson..=) "front" (legalEntityPersonVerificationDocumentFront obj)))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityPersonVerificationDocument where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityPersonVerificationDocument" (\obj -> (((GHC.Base.pure LegalEntityPersonVerificationDocument GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "back")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "front")) -- | Define the one-of schema legal_entity_person_verification_documentBack\' -- -- The back of an ID returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data LegalEntityPersonVerificationDocumentBack'Variants = LegalEntityPersonVerificationDocumentBack'File File | LegalEntityPersonVerificationDocumentBack'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON LegalEntityPersonVerificationDocumentBack'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON LegalEntityPersonVerificationDocumentBack'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema legal_entity_person_verification_documentFront\' -- -- The front of an ID returned by a [file upload](https:\/\/stripe.com\/docs\/api\#create_file) with a \`purpose\` value of \`identity_document\`. data LegalEntityPersonVerificationDocumentFront'Variants = LegalEntityPersonVerificationDocumentFront'File File | LegalEntityPersonVerificationDocumentFront'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON LegalEntityPersonVerificationDocumentFront'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON LegalEntityPersonVerificationDocumentFront'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema line_item -- -- data LineItem = LineItem { -- | amount: The amount, in %s. lineItemAmount :: GHC.Integer.Type.Integer -- | 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). , lineItemCurrency :: GHC.Base.String -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , lineItemDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | discountable: If true, discounts will apply to this line item. Always false for prorations. , lineItemDiscountable :: GHC.Types.Bool -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , lineItemId :: GHC.Base.String -- | invoice_item: The ID of the [invoice item](https:\/\/stripe.com\/docs\/api\/invoiceitems) associated with this line item if any. -- -- Constraints: -- -- * Maximum length of 5000 , lineItemInvoiceItem :: (GHC.Maybe.Maybe GHC.Base.String) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , lineItemLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with \`type=subscription\` this will reflect the metadata of the subscription that caused the line item to be created. , lineItemMetadata :: LineItemMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , lineItemObject :: LineItemObject' -- | period: , lineItemPeriod :: InvoiceLineItemPeriod -- | plan: The plan of the subscription, if the line item is a subscription or a proration. , lineItemPlan :: (GHC.Maybe.Maybe LineItemPlan') -- | proration: Whether this is a proration. , lineItemProration :: GHC.Types.Bool -- | quantity: The quantity of the subscription, if the line item is a subscription or a proration. , lineItemQuantity :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | subscription: The subscription that the invoice item pertains to, if any. -- -- Constraints: -- -- * Maximum length of 5000 , lineItemSubscription :: (GHC.Maybe.Maybe GHC.Base.String) -- | subscription_item: The subscription item that generated this invoice item. Left empty if the line item is not an explicit result of a subscription. -- -- Constraints: -- -- * Maximum length of 5000 , lineItemSubscriptionItem :: (GHC.Maybe.Maybe GHC.Base.String) -- | tax_amounts: The amount of tax calculated per tax rate for this line item , lineItemTaxAmounts :: (GHC.Maybe.Maybe ([] InvoiceTaxAmount)) -- | tax_rates: The tax rates which apply to the line item. , lineItemTaxRates :: (GHC.Maybe.Maybe ([] TaxRate)) -- | type: A string identifying the type of the source of this line item, either an \`invoiceitem\` or a \`subscription\`. , lineItemType :: LineItemType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItem where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (lineItemAmount obj) : (Data.Aeson..=) "currency" (lineItemCurrency obj) : (Data.Aeson..=) "description" (lineItemDescription obj) : (Data.Aeson..=) "discountable" (lineItemDiscountable obj) : (Data.Aeson..=) "id" (lineItemId obj) : (Data.Aeson..=) "invoice_item" (lineItemInvoiceItem obj) : (Data.Aeson..=) "livemode" (lineItemLivemode obj) : (Data.Aeson..=) "metadata" (lineItemMetadata obj) : (Data.Aeson..=) "object" (lineItemObject obj) : (Data.Aeson..=) "period" (lineItemPeriod obj) : (Data.Aeson..=) "plan" (lineItemPlan obj) : (Data.Aeson..=) "proration" (lineItemProration obj) : (Data.Aeson..=) "quantity" (lineItemQuantity obj) : (Data.Aeson..=) "subscription" (lineItemSubscription obj) : (Data.Aeson..=) "subscription_item" (lineItemSubscriptionItem obj) : (Data.Aeson..=) "tax_amounts" (lineItemTaxAmounts obj) : (Data.Aeson..=) "tax_rates" (lineItemTaxRates obj) : (Data.Aeson..=) "type" (lineItemType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (lineItemAmount obj) GHC.Base.<> ((Data.Aeson..=) "currency" (lineItemCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (lineItemDescription obj) GHC.Base.<> ((Data.Aeson..=) "discountable" (lineItemDiscountable obj) GHC.Base.<> ((Data.Aeson..=) "id" (lineItemId obj) GHC.Base.<> ((Data.Aeson..=) "invoice_item" (lineItemInvoiceItem obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (lineItemLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (lineItemMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (lineItemObject obj) GHC.Base.<> ((Data.Aeson..=) "period" (lineItemPeriod obj) GHC.Base.<> ((Data.Aeson..=) "plan" (lineItemPlan obj) GHC.Base.<> ((Data.Aeson..=) "proration" (lineItemProration obj) GHC.Base.<> ((Data.Aeson..=) "quantity" (lineItemQuantity obj) GHC.Base.<> ((Data.Aeson..=) "subscription" (lineItemSubscription obj) GHC.Base.<> ((Data.Aeson..=) "subscription_item" (lineItemSubscriptionItem obj) GHC.Base.<> ((Data.Aeson..=) "tax_amounts" (lineItemTaxAmounts obj) GHC.Base.<> ((Data.Aeson..=) "tax_rates" (lineItemTaxRates obj) GHC.Base.<> (Data.Aeson..=) "type" (lineItemType obj)))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON LineItem where parseJSON = Data.Aeson.Types.FromJSON.withObject "LineItem" (\obj -> (((((((((((((((((GHC.Base.pure LineItem GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "discountable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice_item")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "period")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "proration")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription_item")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_amounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_rates")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the data type for the schema line_itemMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with \`type=subscription\` this will reflect the metadata of the subscription that caused the line item to be created. data LineItemMetadata' = LineItemMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON LineItemMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LineItemMetadata'" (\obj -> GHC.Base.pure LineItemMetadata') -- | Defines the enum schema line_itemObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data LineItemObject' = LineItemObject'EnumOther Data.Aeson.Types.Internal.Value | LineItemObject'EnumTyped GHC.Base.String | LineItemObject'EnumStringLineItem deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemObject' where toJSON (LineItemObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemObject'EnumStringLineItem) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "line_item" instance Data.Aeson.FromJSON LineItemObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "line_item") then LineItemObject'EnumStringLineItem else LineItemObject'EnumOther val) -- | Defines the data type for the schema line_itemPlan\' -- -- The plan of the subscription, if the line item is a subscription or a proration. data LineItemPlan' = LineItemPlan' { -- | active: Whether the plan is currently available for new subscriptions. lineItemPlan'Active :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | aggregate_usage: Specifies a usage aggregation strategy for plans of \`usage_type=metered\`. Allowed values are \`sum\` for summing up all usage during a period, \`last_during_period\` for using the last usage record reported within a period, \`last_ever\` for using the last usage record ever (across period bounds) or \`max\` which uses the usage record with the maximum reported usage during a period. Defaults to \`sum\`. , lineItemPlan'AggregateUsage :: (GHC.Maybe.Maybe LineItemPlan'AggregateUsage') -- | amount: The amount in %s to be charged on the interval specified. , lineItemPlan'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | amount_decimal: Same as \`amount\`, but contains a decimal value with at most 12 decimal places. , lineItemPlan'AmountDecimal :: (GHC.Maybe.Maybe GHC.Base.String) -- | billing_scheme: Describes how to compute the price per period. Either \`per_unit\` or \`tiered\`. \`per_unit\` indicates that the fixed amount (specified in \`amount\`) will be charged per unit in \`quantity\` (for plans with \`usage_type=licensed\`), or per unit of total usage (for plans with \`usage_type=metered\`). \`tiered\` indicates that the unit pricing will be computed using a tiering strategy as defined using the \`tiers\` and \`tiers_mode\` attributes. , lineItemPlan'BillingScheme :: (GHC.Maybe.Maybe LineItemPlan'BillingScheme') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , lineItemPlan'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | 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). , lineItemPlan'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , lineItemPlan'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | interval: The frequency at which a subscription is billed. One of \`day\`, \`week\`, \`month\` or \`year\`. , lineItemPlan'Interval :: (GHC.Maybe.Maybe LineItemPlan'Interval') -- | interval_count: The number of intervals (specified in the \`interval\` attribute) between subscription billings. For example, \`interval=month\` and \`interval_count=3\` bills every 3 months. , lineItemPlan'IntervalCount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , lineItemPlan'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , lineItemPlan'Metadata :: (GHC.Maybe.Maybe LineItemPlan'Metadata') -- | nickname: A brief description of the plan, hidden from customers. -- -- Constraints: -- -- * Maximum length of 5000 , lineItemPlan'Nickname :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , lineItemPlan'Object :: (GHC.Maybe.Maybe LineItemPlan'Object') -- | product: The product whose pricing this plan determines. , lineItemPlan'Product :: (GHC.Maybe.Maybe LineItemPlan'Product'Variants) -- | tiers: Each element represents a pricing tier. This parameter requires \`billing_scheme\` to be set to \`tiered\`. See also the documentation for \`billing_scheme\`. , lineItemPlan'Tiers :: (GHC.Maybe.Maybe ([] PlanTier)) -- | tiers_mode: Defines if the tiering price should be \`graduated\` or \`volume\` based. In \`volume\`-based tiering, the maximum quantity within a period determines the per unit price. In \`graduated\` tiering, pricing can change as the quantity grows. , lineItemPlan'TiersMode :: (GHC.Maybe.Maybe LineItemPlan'TiersMode') -- | transform_usage: Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with \`tiers\`. , lineItemPlan'TransformUsage :: (GHC.Maybe.Maybe LineItemPlan'TransformUsage') -- | trial_period_days: Default number of trial days when subscribing a customer to this plan using [\`trial_from_plan=true\`](https:\/\/stripe.com\/docs\/api\#create_subscription-trial_from_plan). , lineItemPlan'TrialPeriodDays :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | usage_type: Configures how the quantity per period should be determined. Can be either \`metered\` or \`licensed\`. \`licensed\` automatically bills the \`quantity\` set when adding it to a subscription. \`metered\` aggregates the total usage based on usage records. Defaults to \`licensed\`. , lineItemPlan'UsageType :: (GHC.Maybe.Maybe LineItemPlan'UsageType') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "active" (lineItemPlan'Active obj) : (Data.Aeson..=) "aggregate_usage" (lineItemPlan'AggregateUsage obj) : (Data.Aeson..=) "amount" (lineItemPlan'Amount obj) : (Data.Aeson..=) "amount_decimal" (lineItemPlan'AmountDecimal obj) : (Data.Aeson..=) "billing_scheme" (lineItemPlan'BillingScheme obj) : (Data.Aeson..=) "created" (lineItemPlan'Created obj) : (Data.Aeson..=) "currency" (lineItemPlan'Currency obj) : (Data.Aeson..=) "id" (lineItemPlan'Id obj) : (Data.Aeson..=) "interval" (lineItemPlan'Interval obj) : (Data.Aeson..=) "interval_count" (lineItemPlan'IntervalCount obj) : (Data.Aeson..=) "livemode" (lineItemPlan'Livemode obj) : (Data.Aeson..=) "metadata" (lineItemPlan'Metadata obj) : (Data.Aeson..=) "nickname" (lineItemPlan'Nickname obj) : (Data.Aeson..=) "object" (lineItemPlan'Object obj) : (Data.Aeson..=) "product" (lineItemPlan'Product obj) : (Data.Aeson..=) "tiers" (lineItemPlan'Tiers obj) : (Data.Aeson..=) "tiers_mode" (lineItemPlan'TiersMode obj) : (Data.Aeson..=) "transform_usage" (lineItemPlan'TransformUsage obj) : (Data.Aeson..=) "trial_period_days" (lineItemPlan'TrialPeriodDays obj) : (Data.Aeson..=) "usage_type" (lineItemPlan'UsageType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "active" (lineItemPlan'Active obj) GHC.Base.<> ((Data.Aeson..=) "aggregate_usage" (lineItemPlan'AggregateUsage obj) GHC.Base.<> ((Data.Aeson..=) "amount" (lineItemPlan'Amount obj) GHC.Base.<> ((Data.Aeson..=) "amount_decimal" (lineItemPlan'AmountDecimal obj) GHC.Base.<> ((Data.Aeson..=) "billing_scheme" (lineItemPlan'BillingScheme obj) GHC.Base.<> ((Data.Aeson..=) "created" (lineItemPlan'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (lineItemPlan'Currency obj) GHC.Base.<> ((Data.Aeson..=) "id" (lineItemPlan'Id obj) GHC.Base.<> ((Data.Aeson..=) "interval" (lineItemPlan'Interval obj) GHC.Base.<> ((Data.Aeson..=) "interval_count" (lineItemPlan'IntervalCount obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (lineItemPlan'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (lineItemPlan'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "nickname" (lineItemPlan'Nickname obj) GHC.Base.<> ((Data.Aeson..=) "object" (lineItemPlan'Object obj) GHC.Base.<> ((Data.Aeson..=) "product" (lineItemPlan'Product obj) GHC.Base.<> ((Data.Aeson..=) "tiers" (lineItemPlan'Tiers obj) GHC.Base.<> ((Data.Aeson..=) "tiers_mode" (lineItemPlan'TiersMode obj) GHC.Base.<> ((Data.Aeson..=) "transform_usage" (lineItemPlan'TransformUsage obj) GHC.Base.<> ((Data.Aeson..=) "trial_period_days" (lineItemPlan'TrialPeriodDays obj) GHC.Base.<> (Data.Aeson..=) "usage_type" (lineItemPlan'UsageType obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON LineItemPlan' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LineItemPlan'" (\obj -> (((((((((((((((((((GHC.Base.pure LineItemPlan' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "aggregate_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_decimal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_scheme")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval_count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "nickname")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tiers")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tiers_mode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transform_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_period_days")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage_type")) -- | Defines the enum schema line_itemPlan\'Aggregate_usage\' -- -- Specifies a usage aggregation strategy for plans of \`usage_type=metered\`. Allowed values are \`sum\` for summing up all usage during a period, \`last_during_period\` for using the last usage record reported within a period, \`last_ever\` for using the last usage record ever (across period bounds) or \`max\` which uses the usage record with the maximum reported usage during a period. Defaults to \`sum\`. data LineItemPlan'AggregateUsage' = LineItemPlan'AggregateUsage'EnumOther Data.Aeson.Types.Internal.Value | LineItemPlan'AggregateUsage'EnumTyped GHC.Base.String | LineItemPlan'AggregateUsage'EnumStringLastDuringPeriod | LineItemPlan'AggregateUsage'EnumStringLastEver | LineItemPlan'AggregateUsage'EnumStringMax | LineItemPlan'AggregateUsage'EnumStringSum deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'AggregateUsage' where toJSON (LineItemPlan'AggregateUsage'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'AggregateUsage'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'AggregateUsage'EnumStringLastDuringPeriod) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_during_period" toJSON (LineItemPlan'AggregateUsage'EnumStringLastEver) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_ever" toJSON (LineItemPlan'AggregateUsage'EnumStringMax) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "max" toJSON (LineItemPlan'AggregateUsage'EnumStringSum) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sum" instance Data.Aeson.FromJSON LineItemPlan'AggregateUsage' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_during_period") then LineItemPlan'AggregateUsage'EnumStringLastDuringPeriod else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_ever") then LineItemPlan'AggregateUsage'EnumStringLastEver else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "max") then LineItemPlan'AggregateUsage'EnumStringMax else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sum") then LineItemPlan'AggregateUsage'EnumStringSum else LineItemPlan'AggregateUsage'EnumOther val) -- | Defines the enum schema line_itemPlan\'Billing_scheme\' -- -- Describes how to compute the price per period. Either \`per_unit\` or \`tiered\`. \`per_unit\` indicates that the fixed amount (specified in \`amount\`) will be charged per unit in \`quantity\` (for plans with \`usage_type=licensed\`), or per unit of total usage (for plans with \`usage_type=metered\`). \`tiered\` indicates that the unit pricing will be computed using a tiering strategy as defined using the \`tiers\` and \`tiers_mode\` attributes. data LineItemPlan'BillingScheme' = LineItemPlan'BillingScheme'EnumOther Data.Aeson.Types.Internal.Value | LineItemPlan'BillingScheme'EnumTyped GHC.Base.String | LineItemPlan'BillingScheme'EnumStringPerUnit | LineItemPlan'BillingScheme'EnumStringTiered deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'BillingScheme' where toJSON (LineItemPlan'BillingScheme'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'BillingScheme'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'BillingScheme'EnumStringPerUnit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "per_unit" toJSON (LineItemPlan'BillingScheme'EnumStringTiered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tiered" instance Data.Aeson.FromJSON LineItemPlan'BillingScheme' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "per_unit") then LineItemPlan'BillingScheme'EnumStringPerUnit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tiered") then LineItemPlan'BillingScheme'EnumStringTiered else LineItemPlan'BillingScheme'EnumOther val) -- | Defines the enum schema line_itemPlan\'Interval\' -- -- The frequency at which a subscription is billed. One of \`day\`, \`week\`, \`month\` or \`year\`. data LineItemPlan'Interval' = LineItemPlan'Interval'EnumOther Data.Aeson.Types.Internal.Value | LineItemPlan'Interval'EnumTyped GHC.Base.String | LineItemPlan'Interval'EnumStringDay | LineItemPlan'Interval'EnumStringMonth | LineItemPlan'Interval'EnumStringWeek | LineItemPlan'Interval'EnumStringYear deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'Interval' where toJSON (LineItemPlan'Interval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'Interval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'Interval'EnumStringDay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day" toJSON (LineItemPlan'Interval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" toJSON (LineItemPlan'Interval'EnumStringWeek) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week" toJSON (LineItemPlan'Interval'EnumStringYear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year" instance Data.Aeson.FromJSON LineItemPlan'Interval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day") then LineItemPlan'Interval'EnumStringDay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then LineItemPlan'Interval'EnumStringMonth else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week") then LineItemPlan'Interval'EnumStringWeek else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year") then LineItemPlan'Interval'EnumStringYear else LineItemPlan'Interval'EnumOther val) -- | Defines the data type for the schema line_itemPlan\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data LineItemPlan'Metadata' = LineItemPlan'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON LineItemPlan'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LineItemPlan'Metadata'" (\obj -> GHC.Base.pure LineItemPlan'Metadata') -- | Defines the enum schema line_itemPlan\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data LineItemPlan'Object' = LineItemPlan'Object'EnumOther Data.Aeson.Types.Internal.Value | LineItemPlan'Object'EnumTyped GHC.Base.String | LineItemPlan'Object'EnumStringPlan deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'Object' where toJSON (LineItemPlan'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'Object'EnumStringPlan) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plan" instance Data.Aeson.FromJSON LineItemPlan'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plan") then LineItemPlan'Object'EnumStringPlan else LineItemPlan'Object'EnumOther val) -- | Define the one-of schema line_itemPlan\'Product\' -- -- The product whose pricing this plan determines. data LineItemPlan'Product'Variants = LineItemPlan'Product'DeletedProduct DeletedProduct | LineItemPlan'Product'Product Product | LineItemPlan'Product'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON LineItemPlan'Product'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON LineItemPlan'Product'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema line_itemPlan\'Tiers_mode\' -- -- Defines if the tiering price should be \`graduated\` or \`volume\` based. In \`volume\`-based tiering, the maximum quantity within a period determines the per unit price. In \`graduated\` tiering, pricing can change as the quantity grows. data LineItemPlan'TiersMode' = LineItemPlan'TiersMode'EnumOther Data.Aeson.Types.Internal.Value | LineItemPlan'TiersMode'EnumTyped GHC.Base.String | LineItemPlan'TiersMode'EnumStringGraduated | LineItemPlan'TiersMode'EnumStringVolume deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'TiersMode' where toJSON (LineItemPlan'TiersMode'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'TiersMode'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'TiersMode'EnumStringGraduated) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "graduated" toJSON (LineItemPlan'TiersMode'EnumStringVolume) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "volume" instance Data.Aeson.FromJSON LineItemPlan'TiersMode' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "graduated") then LineItemPlan'TiersMode'EnumStringGraduated else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "volume") then LineItemPlan'TiersMode'EnumStringVolume else LineItemPlan'TiersMode'EnumOther val) -- | Defines the data type for the schema line_itemPlan\'Transform_usage\' -- -- Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with \\\`tiers\\\`. data LineItemPlan'TransformUsage' = LineItemPlan'TransformUsage' { -- | divide_by: Divide usage by this number. lineItemPlan'TransformUsage'DivideBy :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | round: After division, either round the result \`up\` or \`down\`. , lineItemPlan'TransformUsage'Round :: (GHC.Maybe.Maybe LineItemPlan'TransformUsage'Round') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'TransformUsage' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "divide_by" (lineItemPlan'TransformUsage'DivideBy obj) : (Data.Aeson..=) "round" (lineItemPlan'TransformUsage'Round obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "divide_by" (lineItemPlan'TransformUsage'DivideBy obj) GHC.Base.<> (Data.Aeson..=) "round" (lineItemPlan'TransformUsage'Round obj)) instance Data.Aeson.Types.FromJSON.FromJSON LineItemPlan'TransformUsage' where parseJSON = Data.Aeson.Types.FromJSON.withObject "LineItemPlan'TransformUsage'" (\obj -> (GHC.Base.pure LineItemPlan'TransformUsage' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "divide_by")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "round")) -- | Defines the enum schema line_itemPlan\'Transform_usage\'Round\' -- -- After division, either round the result \`up\` or \`down\`. data LineItemPlan'TransformUsage'Round' = LineItemPlan'TransformUsage'Round'EnumOther Data.Aeson.Types.Internal.Value | LineItemPlan'TransformUsage'Round'EnumTyped GHC.Base.String | LineItemPlan'TransformUsage'Round'EnumStringDown | LineItemPlan'TransformUsage'Round'EnumStringUp deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'TransformUsage'Round' where toJSON (LineItemPlan'TransformUsage'Round'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'TransformUsage'Round'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'TransformUsage'Round'EnumStringDown) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "down" toJSON (LineItemPlan'TransformUsage'Round'EnumStringUp) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "up" instance Data.Aeson.FromJSON LineItemPlan'TransformUsage'Round' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "down") then LineItemPlan'TransformUsage'Round'EnumStringDown else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "up") then LineItemPlan'TransformUsage'Round'EnumStringUp else LineItemPlan'TransformUsage'Round'EnumOther val) -- | Defines the enum schema line_itemPlan\'Usage_type\' -- -- Configures how the quantity per period should be determined. Can be either \`metered\` or \`licensed\`. \`licensed\` automatically bills the \`quantity\` set when adding it to a subscription. \`metered\` aggregates the total usage based on usage records. Defaults to \`licensed\`. data LineItemPlan'UsageType' = LineItemPlan'UsageType'EnumOther Data.Aeson.Types.Internal.Value | LineItemPlan'UsageType'EnumTyped GHC.Base.String | LineItemPlan'UsageType'EnumStringLicensed | LineItemPlan'UsageType'EnumStringMetered deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemPlan'UsageType' where toJSON (LineItemPlan'UsageType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'UsageType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemPlan'UsageType'EnumStringLicensed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "licensed" toJSON (LineItemPlan'UsageType'EnumStringMetered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metered" instance Data.Aeson.FromJSON LineItemPlan'UsageType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "licensed") then LineItemPlan'UsageType'EnumStringLicensed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metered") then LineItemPlan'UsageType'EnumStringMetered else LineItemPlan'UsageType'EnumOther val) -- | Defines the enum schema line_itemType\' -- -- A string identifying the type of the source of this line item, either an \`invoiceitem\` or a \`subscription\`. data LineItemType' = LineItemType'EnumOther Data.Aeson.Types.Internal.Value | LineItemType'EnumTyped GHC.Base.String | LineItemType'EnumStringInvoiceitem | LineItemType'EnumStringSubscription deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON LineItemType' where toJSON (LineItemType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (LineItemType'EnumStringInvoiceitem) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoiceitem" toJSON (LineItemType'EnumStringSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription" instance Data.Aeson.FromJSON LineItemType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invoiceitem") then LineItemType'EnumStringInvoiceitem else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription") then LineItemType'EnumStringSubscription else LineItemType'EnumOther val) -- | Defines the data type for the schema mandate -- -- A Mandate is a record of the permission a customer has given you to debit their payment method. data Mandate = Mandate { -- | customer_acceptance: mandateCustomerAcceptance :: CustomerAcceptance -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , mandateId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , mandateLivemode :: GHC.Types.Bool -- | multi_use: , mandateMultiUse :: (GHC.Maybe.Maybe MandateMultiUse) -- | object: String representing the object\'s type. Objects of the same type share the same value. , mandateObject :: MandateObject' -- | payment_method: ID of the payment method associated with this mandate. , mandatePaymentMethod :: MandatePaymentMethod'Variants -- | payment_method_details: , mandatePaymentMethodDetails :: MandatePaymentMethodDetails -- | single_use: , mandateSingleUse :: (GHC.Maybe.Maybe MandateSingleUse) -- | status: The status of the Mandate, one of \`pending\`, \`inactive\`, or \`active\`. The Mandate can be used to initiate a payment only if status=active. , mandateStatus :: MandateStatus' -- | type: The type of the mandate, one of \`single_use\` or \`multi_use\` , mandateType :: MandateType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Mandate where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "customer_acceptance" (mandateCustomerAcceptance obj) : (Data.Aeson..=) "id" (mandateId obj) : (Data.Aeson..=) "livemode" (mandateLivemode obj) : (Data.Aeson..=) "multi_use" (mandateMultiUse obj) : (Data.Aeson..=) "object" (mandateObject obj) : (Data.Aeson..=) "payment_method" (mandatePaymentMethod obj) : (Data.Aeson..=) "payment_method_details" (mandatePaymentMethodDetails obj) : (Data.Aeson..=) "single_use" (mandateSingleUse obj) : (Data.Aeson..=) "status" (mandateStatus obj) : (Data.Aeson..=) "type" (mandateType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "customer_acceptance" (mandateCustomerAcceptance obj) GHC.Base.<> ((Data.Aeson..=) "id" (mandateId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (mandateLivemode obj) GHC.Base.<> ((Data.Aeson..=) "multi_use" (mandateMultiUse obj) GHC.Base.<> ((Data.Aeson..=) "object" (mandateObject obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (mandatePaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_details" (mandatePaymentMethodDetails obj) GHC.Base.<> ((Data.Aeson..=) "single_use" (mandateSingleUse obj) GHC.Base.<> ((Data.Aeson..=) "status" (mandateStatus obj) GHC.Base.<> (Data.Aeson..=) "type" (mandateType obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Mandate where parseJSON = Data.Aeson.Types.FromJSON.withObject "Mandate" (\obj -> (((((((((GHC.Base.pure Mandate GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer_acceptance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multi_use")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "payment_method_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "single_use")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the enum schema mandateObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data MandateObject' = MandateObject'EnumOther Data.Aeson.Types.Internal.Value | MandateObject'EnumTyped GHC.Base.String | MandateObject'EnumStringMandate deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON MandateObject' where toJSON (MandateObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (MandateObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (MandateObject'EnumStringMandate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mandate" instance Data.Aeson.FromJSON MandateObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mandate") then MandateObject'EnumStringMandate else MandateObject'EnumOther val) -- | Define the one-of schema mandatePayment_method\' -- -- ID of the payment method associated with this mandate. data MandatePaymentMethod'Variants = MandatePaymentMethod'PaymentMethod PaymentMethod | MandatePaymentMethod'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON MandatePaymentMethod'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON MandatePaymentMethod'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema mandateStatus\' -- -- The status of the Mandate, one of \`pending\`, \`inactive\`, or \`active\`. The Mandate can be used to initiate a payment only if status=active. data MandateStatus' = MandateStatus'EnumOther Data.Aeson.Types.Internal.Value | MandateStatus'EnumTyped GHC.Base.String | MandateStatus'EnumStringActive | MandateStatus'EnumStringInactive | MandateStatus'EnumStringPending deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON MandateStatus' where toJSON (MandateStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (MandateStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (MandateStatus'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active" toJSON (MandateStatus'EnumStringInactive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive" toJSON (MandateStatus'EnumStringPending) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending" instance Data.Aeson.FromJSON MandateStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active") then MandateStatus'EnumStringActive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "inactive") then MandateStatus'EnumStringInactive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending") then MandateStatus'EnumStringPending else MandateStatus'EnumOther val) -- | Defines the enum schema mandateType\' -- -- The type of the mandate, one of \`single_use\` or \`multi_use\` data MandateType' = MandateType'EnumOther Data.Aeson.Types.Internal.Value | MandateType'EnumTyped GHC.Base.String | MandateType'EnumStringMultiUse | MandateType'EnumStringSingleUse deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON MandateType' where toJSON (MandateType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (MandateType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (MandateType'EnumStringMultiUse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multi_use" toJSON (MandateType'EnumStringSingleUse) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "single_use" instance Data.Aeson.FromJSON MandateType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multi_use") then MandateType'EnumStringMultiUse else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "single_use") then MandateType'EnumStringSingleUse else MandateType'EnumOther val) -- | Defines the data type for the schema order -- -- Order objects are created to handle end customers\' purchases of previously -- defined [products](https:\/\/stripe.com\/docs\/api\#products). You can create, retrieve, and pay individual orders, as well -- as list all orders. Orders are identified by a unique, random ID. -- -- Related guide: [Tax, Shipping, and Inventory](https:\/\/stripe.com\/docs\/orders). data Order = Order { -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the order. orderAmount :: GHC.Integer.Type.Integer -- | amount_returned: The total amount that was returned to the customer. , orderAmountReturned :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | application: ID of the Connect Application that created the order. -- -- Constraints: -- -- * Maximum length of 5000 , orderApplication :: (GHC.Maybe.Maybe GHC.Base.String) -- | application_fee: A fee in cents that will be applied to the order and transferred to the application owner’s Stripe account. The request must be made with an OAuth key or the Stripe-Account header in order to take an application fee. For more information, see the application fees documentation. , orderApplicationFee :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | charge: The ID of the payment used to pay for the order. Present if the order status is \`paid\`, \`fulfilled\`, or \`refunded\`. , orderCharge :: (GHC.Maybe.Maybe OrderCharge'Variants) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , orderCreated :: GHC.Integer.Type.Integer -- | 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). , orderCurrency :: GHC.Base.String -- | customer: The customer used for the order. , orderCustomer :: (GHC.Maybe.Maybe OrderCustomer'Variants) -- | email: The email address of the customer placing the order. -- -- Constraints: -- -- * Maximum length of 5000 , orderEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | external_coupon_code: External coupon code to load for this order. -- -- Constraints: -- -- * Maximum length of 5000 , orderExternalCouponCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , orderId :: GHC.Base.String -- | items: List of items constituting the order. An order can have up to 25 items. , orderItems :: ([] OrderItem) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , orderLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , orderMetadata :: OrderMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , orderObject :: OrderObject' -- | returns: A list of returns that have taken place for this order. , orderReturns :: (GHC.Maybe.Maybe OrderReturns') -- | selected_shipping_method: The shipping method that is currently selected for this order, if any. If present, it is equal to one of the \`id\`s of shipping methods in the \`shipping_methods\` array. At order creation time, if there are multiple shipping methods, Stripe will automatically selected the first method. -- -- Constraints: -- -- * Maximum length of 5000 , orderSelectedShippingMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | shipping: The shipping address for the order. Present if the order is for goods to be shipped. , orderShipping :: (GHC.Maybe.Maybe OrderShipping') -- | shipping_methods: A list of supported shipping methods for this order. The desired shipping method can be specified either by updating the order, or when paying it. , orderShippingMethods :: (GHC.Maybe.Maybe ([] ShippingMethod)) -- | status: Current order status. One of \`created\`, \`paid\`, \`canceled\`, \`fulfilled\`, or \`returned\`. More details in the [Orders Guide](https:\/\/stripe.com\/docs\/orders\/guide\#understanding-order-statuses). -- -- Constraints: -- -- * Maximum length of 5000 , orderStatus :: GHC.Base.String -- | status_transitions: The timestamps at which the order status was updated. , orderStatusTransitions :: (GHC.Maybe.Maybe OrderStatusTransitions') -- | updated: Time at which the object was last updated. Measured in seconds since the Unix epoch. , orderUpdated :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | upstream_id: The user\'s order ID if it is different from the Stripe order ID. -- -- Constraints: -- -- * Maximum length of 5000 , orderUpstreamId :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Order where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (orderAmount obj) : (Data.Aeson..=) "amount_returned" (orderAmountReturned obj) : (Data.Aeson..=) "application" (orderApplication obj) : (Data.Aeson..=) "application_fee" (orderApplicationFee obj) : (Data.Aeson..=) "charge" (orderCharge obj) : (Data.Aeson..=) "created" (orderCreated obj) : (Data.Aeson..=) "currency" (orderCurrency obj) : (Data.Aeson..=) "customer" (orderCustomer obj) : (Data.Aeson..=) "email" (orderEmail obj) : (Data.Aeson..=) "external_coupon_code" (orderExternalCouponCode obj) : (Data.Aeson..=) "id" (orderId obj) : (Data.Aeson..=) "items" (orderItems obj) : (Data.Aeson..=) "livemode" (orderLivemode obj) : (Data.Aeson..=) "metadata" (orderMetadata obj) : (Data.Aeson..=) "object" (orderObject obj) : (Data.Aeson..=) "returns" (orderReturns obj) : (Data.Aeson..=) "selected_shipping_method" (orderSelectedShippingMethod obj) : (Data.Aeson..=) "shipping" (orderShipping obj) : (Data.Aeson..=) "shipping_methods" (orderShippingMethods obj) : (Data.Aeson..=) "status" (orderStatus obj) : (Data.Aeson..=) "status_transitions" (orderStatusTransitions obj) : (Data.Aeson..=) "updated" (orderUpdated obj) : (Data.Aeson..=) "upstream_id" (orderUpstreamId obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (orderAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_returned" (orderAmountReturned obj) GHC.Base.<> ((Data.Aeson..=) "application" (orderApplication obj) GHC.Base.<> ((Data.Aeson..=) "application_fee" (orderApplicationFee obj) GHC.Base.<> ((Data.Aeson..=) "charge" (orderCharge obj) GHC.Base.<> ((Data.Aeson..=) "created" (orderCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (orderCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (orderCustomer obj) GHC.Base.<> ((Data.Aeson..=) "email" (orderEmail obj) GHC.Base.<> ((Data.Aeson..=) "external_coupon_code" (orderExternalCouponCode obj) GHC.Base.<> ((Data.Aeson..=) "id" (orderId obj) GHC.Base.<> ((Data.Aeson..=) "items" (orderItems obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (orderLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (orderMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (orderObject obj) GHC.Base.<> ((Data.Aeson..=) "returns" (orderReturns obj) GHC.Base.<> ((Data.Aeson..=) "selected_shipping_method" (orderSelectedShippingMethod obj) GHC.Base.<> ((Data.Aeson..=) "shipping" (orderShipping obj) GHC.Base.<> ((Data.Aeson..=) "shipping_methods" (orderShippingMethods obj) GHC.Base.<> ((Data.Aeson..=) "status" (orderStatus obj) GHC.Base.<> ((Data.Aeson..=) "status_transitions" (orderStatusTransitions obj) GHC.Base.<> ((Data.Aeson..=) "updated" (orderUpdated obj) GHC.Base.<> (Data.Aeson..=) "upstream_id" (orderUpstreamId obj))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Order where parseJSON = Data.Aeson.Types.FromJSON.withObject "Order" (\obj -> ((((((((((((((((((((((GHC.Base.pure Order GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_returned")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "external_coupon_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "returns")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "selected_shipping_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status_transitions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "updated")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "upstream_id")) -- | Define the one-of schema orderCharge\' -- -- The ID of the payment used to pay for the order. Present if the order status is \`paid\`, \`fulfilled\`, or \`refunded\`. data OrderCharge'Variants = OrderCharge'Charge Charge | OrderCharge'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON OrderCharge'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON OrderCharge'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema orderCustomer\' -- -- The customer used for the order. data OrderCustomer'Variants = OrderCustomer'Customer Customer | OrderCustomer'DeletedCustomer DeletedCustomer | OrderCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON OrderCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON OrderCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema orderMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data OrderMetadata' = OrderMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON OrderMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "OrderMetadata'" (\obj -> GHC.Base.pure OrderMetadata') -- | Defines the enum schema orderObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data OrderObject' = OrderObject'EnumOther Data.Aeson.Types.Internal.Value | OrderObject'EnumTyped GHC.Base.String | OrderObject'EnumStringOrder deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderObject' where toJSON (OrderObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (OrderObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (OrderObject'EnumStringOrder) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order" instance Data.Aeson.FromJSON OrderObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order") then OrderObject'EnumStringOrder else OrderObject'EnumOther val) -- | Defines the data type for the schema orderReturns\' -- -- A list of returns that have taken place for this order. data OrderReturns' = OrderReturns' { -- | data: Details about each object. orderReturns'Data :: ([] OrderReturn) -- | has_more: True if this list has another page of items after this one that can be fetched. , orderReturns'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , orderReturns'Object :: OrderReturns'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , orderReturns'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderReturns' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (orderReturns'Data obj) : (Data.Aeson..=) "has_more" (orderReturns'HasMore obj) : (Data.Aeson..=) "object" (orderReturns'Object obj) : (Data.Aeson..=) "url" (orderReturns'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (orderReturns'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (orderReturns'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (orderReturns'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (orderReturns'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON OrderReturns' where parseJSON = Data.Aeson.Types.FromJSON.withObject "OrderReturns'" (\obj -> (((GHC.Base.pure OrderReturns' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema orderReturns\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data OrderReturns'Object' = OrderReturns'Object'EnumOther Data.Aeson.Types.Internal.Value | OrderReturns'Object'EnumTyped GHC.Base.String | OrderReturns'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderReturns'Object' where toJSON (OrderReturns'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (OrderReturns'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (OrderReturns'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON OrderReturns'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then OrderReturns'Object'EnumStringList else OrderReturns'Object'EnumOther val) -- | Defines the data type for the schema orderShipping\' -- -- The shipping address for the order. Present if the order is for goods to be shipped. data OrderShipping' = OrderShipping' { -- | address: orderShipping'Address :: (GHC.Maybe.Maybe Address) -- | carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. -- -- Constraints: -- -- * Maximum length of 5000 , orderShipping'Carrier :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Recipient name. -- -- Constraints: -- -- * Maximum length of 5000 , orderShipping'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Recipient phone (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , orderShipping'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. -- -- Constraints: -- -- * Maximum length of 5000 , orderShipping'TrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderShipping' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (orderShipping'Address obj) : (Data.Aeson..=) "carrier" (orderShipping'Carrier obj) : (Data.Aeson..=) "name" (orderShipping'Name obj) : (Data.Aeson..=) "phone" (orderShipping'Phone obj) : (Data.Aeson..=) "tracking_number" (orderShipping'TrackingNumber obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (orderShipping'Address obj) GHC.Base.<> ((Data.Aeson..=) "carrier" (orderShipping'Carrier obj) GHC.Base.<> ((Data.Aeson..=) "name" (orderShipping'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (orderShipping'Phone obj) GHC.Base.<> (Data.Aeson..=) "tracking_number" (orderShipping'TrackingNumber obj))))) instance Data.Aeson.Types.FromJSON.FromJSON OrderShipping' where parseJSON = Data.Aeson.Types.FromJSON.withObject "OrderShipping'" (\obj -> ((((GHC.Base.pure OrderShipping' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number")) -- | Defines the data type for the schema orderStatus_transitions\' -- -- The timestamps at which the order status was updated. data OrderStatusTransitions' = OrderStatusTransitions' { -- | canceled: The time that the order was canceled. orderStatusTransitions'Canceled :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fulfiled: The time that the order was fulfilled. , orderStatusTransitions'Fulfiled :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | paid: The time that the order was paid. , orderStatusTransitions'Paid :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | returned: The time that the order was returned. , orderStatusTransitions'Returned :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderStatusTransitions' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "canceled" (orderStatusTransitions'Canceled obj) : (Data.Aeson..=) "fulfiled" (orderStatusTransitions'Fulfiled obj) : (Data.Aeson..=) "paid" (orderStatusTransitions'Paid obj) : (Data.Aeson..=) "returned" (orderStatusTransitions'Returned obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "canceled" (orderStatusTransitions'Canceled obj) GHC.Base.<> ((Data.Aeson..=) "fulfiled" (orderStatusTransitions'Fulfiled obj) GHC.Base.<> ((Data.Aeson..=) "paid" (orderStatusTransitions'Paid obj) GHC.Base.<> (Data.Aeson..=) "returned" (orderStatusTransitions'Returned obj)))) instance Data.Aeson.Types.FromJSON.FromJSON OrderStatusTransitions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "OrderStatusTransitions'" (\obj -> (((GHC.Base.pure OrderStatusTransitions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "canceled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fulfiled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "paid")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "returned")) -- | Defines the data type for the schema order_item -- -- A representation of the constituent items of any given order. Can be used to -- represent [SKUs](https:\/\/stripe.com\/docs\/api\#skus), shipping costs, or taxes owed on the order. -- -- Related guide: [Orders](https:\/\/stripe.com\/docs\/orders\/guide). data OrderItem = OrderItem { -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the line item. orderItemAmount :: GHC.Integer.Type.Integer -- | 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). , orderItemCurrency :: GHC.Base.String -- | description: Description of the line item, meant to be displayable to the user (e.g., \`\"Express shipping\"\`). -- -- Constraints: -- -- * Maximum length of 5000 , orderItemDescription :: GHC.Base.String -- | object: String representing the object\'s type. Objects of the same type share the same value. , orderItemObject :: OrderItemObject' -- | parent: The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU). , orderItemParent :: (GHC.Maybe.Maybe OrderItemParent'Variants) -- | quantity: A positive integer representing the number of instances of \`parent\` that are included in this order item. Applicable\/present only if \`type\` is \`sku\`. , orderItemQuantity :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | type: The type of line item. One of \`sku\`, \`tax\`, \`shipping\`, or \`discount\`. -- -- Constraints: -- -- * Maximum length of 5000 , orderItemType :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderItem where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (orderItemAmount obj) : (Data.Aeson..=) "currency" (orderItemCurrency obj) : (Data.Aeson..=) "description" (orderItemDescription obj) : (Data.Aeson..=) "object" (orderItemObject obj) : (Data.Aeson..=) "parent" (orderItemParent obj) : (Data.Aeson..=) "quantity" (orderItemQuantity obj) : (Data.Aeson..=) "type" (orderItemType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (orderItemAmount obj) GHC.Base.<> ((Data.Aeson..=) "currency" (orderItemCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (orderItemDescription obj) GHC.Base.<> ((Data.Aeson..=) "object" (orderItemObject obj) GHC.Base.<> ((Data.Aeson..=) "parent" (orderItemParent obj) GHC.Base.<> ((Data.Aeson..=) "quantity" (orderItemQuantity obj) GHC.Base.<> (Data.Aeson..=) "type" (orderItemType obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON OrderItem where parseJSON = Data.Aeson.Types.FromJSON.withObject "OrderItem" (\obj -> ((((((GHC.Base.pure OrderItem GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "parent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the enum schema order_itemObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data OrderItemObject' = OrderItemObject'EnumOther Data.Aeson.Types.Internal.Value | OrderItemObject'EnumTyped GHC.Base.String | OrderItemObject'EnumStringOrderItem deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderItemObject' where toJSON (OrderItemObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (OrderItemObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (OrderItemObject'EnumStringOrderItem) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order_item" instance Data.Aeson.FromJSON OrderItemObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order_item") then OrderItemObject'EnumStringOrderItem else OrderItemObject'EnumOther val) -- | Define the one-of schema order_itemParent\' -- -- The ID of the associated object for this line item. Expandable if not null (e.g., expandable to a SKU). data OrderItemParent'Variants = OrderItemParent'Sku Sku | OrderItemParent'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON OrderItemParent'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON OrderItemParent'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema order_return -- -- A return represents the full or partial return of a number of [order items](https:\/\/stripe.com\/docs\/api\#order_items). -- Returns always belong to an order, and may optionally contain a refund. -- -- Related guide: [Handling Returns](https:\/\/stripe.com\/docs\/orders\/guide\#handling-returns). data OrderReturn = OrderReturn { -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the returned line item. orderReturnAmount :: GHC.Integer.Type.Integer -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , orderReturnCreated :: GHC.Integer.Type.Integer -- | 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). , orderReturnCurrency :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , orderReturnId :: GHC.Base.String -- | items: The items included in this order return. , orderReturnItems :: ([] OrderItem) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , orderReturnLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , orderReturnObject :: OrderReturnObject' -- | order: The order that this return includes items from. , orderReturnOrder :: (GHC.Maybe.Maybe OrderReturnOrder'Variants) -- | refund: The ID of the refund issued for this return. , orderReturnRefund :: (GHC.Maybe.Maybe OrderReturnRefund'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderReturn where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (orderReturnAmount obj) : (Data.Aeson..=) "created" (orderReturnCreated obj) : (Data.Aeson..=) "currency" (orderReturnCurrency obj) : (Data.Aeson..=) "id" (orderReturnId obj) : (Data.Aeson..=) "items" (orderReturnItems obj) : (Data.Aeson..=) "livemode" (orderReturnLivemode obj) : (Data.Aeson..=) "object" (orderReturnObject obj) : (Data.Aeson..=) "order" (orderReturnOrder obj) : (Data.Aeson..=) "refund" (orderReturnRefund obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (orderReturnAmount obj) GHC.Base.<> ((Data.Aeson..=) "created" (orderReturnCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (orderReturnCurrency obj) GHC.Base.<> ((Data.Aeson..=) "id" (orderReturnId obj) GHC.Base.<> ((Data.Aeson..=) "items" (orderReturnItems obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (orderReturnLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (orderReturnObject obj) GHC.Base.<> ((Data.Aeson..=) "order" (orderReturnOrder obj) GHC.Base.<> (Data.Aeson..=) "refund" (orderReturnRefund obj))))))))) instance Data.Aeson.Types.FromJSON.FromJSON OrderReturn where parseJSON = Data.Aeson.Types.FromJSON.withObject "OrderReturn" (\obj -> ((((((((GHC.Base.pure OrderReturn GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund")) -- | Defines the enum schema order_returnObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data OrderReturnObject' = OrderReturnObject'EnumOther Data.Aeson.Types.Internal.Value | OrderReturnObject'EnumTyped GHC.Base.String | OrderReturnObject'EnumStringOrderReturn deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON OrderReturnObject' where toJSON (OrderReturnObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (OrderReturnObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (OrderReturnObject'EnumStringOrderReturn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order_return" instance Data.Aeson.FromJSON OrderReturnObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "order_return") then OrderReturnObject'EnumStringOrderReturn else OrderReturnObject'EnumOther val) -- | Define the one-of schema order_returnOrder\' -- -- The order that this return includes items from. data OrderReturnOrder'Variants = OrderReturnOrder'Order Order | OrderReturnOrder'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON OrderReturnOrder'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON OrderReturnOrder'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema order_returnRefund\' -- -- The ID of the refund issued for this return. data OrderReturnRefund'Variants = OrderReturnRefund'Refund Refund | OrderReturnRefund'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON OrderReturnRefund'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON OrderReturnRefund'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_intent -- -- A PaymentIntent guides you through the process of collecting a payment from your customer. -- We recommend that you create exactly one PaymentIntent for each order or -- customer session in your system. You can reference the PaymentIntent later to -- see the history of payment attempts for a particular session. -- -- A PaymentIntent transitions through -- [multiple statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) -- throughout its lifetime as it interfaces with Stripe.js to perform -- authentication flows and ultimately creates at most one successful charge. -- -- Related guide: [Payment Intents API](https:\/\/stripe.com\/docs\/payments\/payment-intents\/creating-payment-intents). data PaymentIntent = PaymentIntent { -- | amount: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https:\/\/stripe.com\/docs\/currencies\#zero-decimal) (e.g., 100 cents to charge \$1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is \$0.50 US or [equivalent in charge currency](https:\/\/stripe.com\/docs\/currencies\#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of \$999,999.99). paymentIntentAmount :: GHC.Integer.Type.Integer -- | amount_capturable: Amount that can be captured from this PaymentIntent. , paymentIntentAmountCapturable :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | amount_received: Amount that was collected by this PaymentIntent. , paymentIntentAmountReceived :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | application: ID of the Connect application that created the PaymentIntent. , paymentIntentApplication :: (GHC.Maybe.Maybe PaymentIntentApplication'Variants) -- | application_fee_amount: The amount of the application fee (if any) for the resulting payment. See the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts) for details. , paymentIntentApplicationFeeAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | canceled_at: Populated when \`status\` is \`canceled\`, this is the time at which the PaymentIntent was canceled. Measured in seconds since the Unix epoch. , paymentIntentCanceledAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | cancellation_reason: Reason for cancellation of this PaymentIntent, either user-provided (\`duplicate\`, \`fraudulent\`, \`requested_by_customer\`, or \`abandoned\`) or generated by Stripe internally (\`failed_invoice\`, \`void_invoice\`, or \`automatic\`). , paymentIntentCancellationReason :: (GHC.Maybe.Maybe PaymentIntentCancellationReason') -- | capture_method: Controls when the funds will be captured from the customer\'s account. , paymentIntentCaptureMethod :: PaymentIntentCaptureMethod' -- | charges: Charges that were created by this PaymentIntent, if any. , paymentIntentCharges :: (GHC.Maybe.Maybe PaymentIntentCharges') -- | client_secret: The client secret of this PaymentIntent. Used for client-side retrieval using a publishable key. -- -- The client secret can be used to complete a payment from your frontend. It should not be stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. -- -- Refer to our docs to [accept a payment](https:\/\/stripe.com\/docs\/payments\/accept-a-payment) and learn about how \`client_secret\` should be handled. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentClientSecret :: (GHC.Maybe.Maybe GHC.Base.String) -- | confirmation_method , paymentIntentConfirmationMethod :: PaymentIntentConfirmationMethod' -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , paymentIntentCreated :: GHC.Integer.Type.Integer -- | 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). , paymentIntentCurrency :: GHC.Base.String -- | customer: ID of the Customer this PaymentIntent belongs to, if one exists. -- -- If present, payment methods used with this PaymentIntent can only be attached to this Customer, and payment methods attached to other Customers cannot be used with this PaymentIntent. , paymentIntentCustomer :: (GHC.Maybe.Maybe PaymentIntentCustomer'Variants) -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentId :: GHC.Base.String -- | invoice: ID of the invoice that created this PaymentIntent, if it exists. , paymentIntentInvoice :: (GHC.Maybe.Maybe PaymentIntentInvoice'Variants) -- | last_payment_error: The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason. , paymentIntentLastPaymentError :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError') -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , paymentIntentLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. For more information, see the [documentation](https:\/\/stripe.com\/docs\/payments\/payment-intents\/creating-payment-intents\#storing-information-in-metadata). , paymentIntentMetadata :: (GHC.Maybe.Maybe PaymentIntentMetadata') -- | next_action: If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source. , paymentIntentNextAction :: (GHC.Maybe.Maybe PaymentIntentNextAction') -- | object: String representing the object\'s type. Objects of the same type share the same value. , paymentIntentObject :: PaymentIntentObject' -- | on_behalf_of: The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts) for details. , paymentIntentOnBehalfOf :: (GHC.Maybe.Maybe PaymentIntentOnBehalfOf'Variants) -- | payment_method: ID of the payment method used in this PaymentIntent. , paymentIntentPaymentMethod :: (GHC.Maybe.Maybe PaymentIntentPaymentMethod'Variants) -- | payment_method_options: Payment-method-specific configuration for this PaymentIntent. , paymentIntentPaymentMethodOptions :: (GHC.Maybe.Maybe PaymentIntentPaymentMethodOptions') -- | payment_method_types: The list of payment method types (e.g. card) that this PaymentIntent is allowed to use. , paymentIntentPaymentMethodTypes :: ([] GHC.Base.String) -- | receipt_email: Email address that the receipt for the resulting payment will be sent to. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentReceiptEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | review: ID of the review associated with this PaymentIntent, if any. , paymentIntentReview :: (GHC.Maybe.Maybe PaymentIntentReview'Variants) -- | setup_future_usage: Indicates that you intend to make future payments with this PaymentIntent\'s payment method. -- -- If present, the payment method used with this PaymentIntent can be [attached](https:\/\/stripe.com\/docs\/api\/payment_methods\/attach) to a Customer, even after the transaction completes. -- -- For more, learn to [save card details during payment](https:\/\/stripe.com\/docs\/payments\/save-during-payment). -- -- Stripe uses \`setup_future_usage\` to dynamically optimize your payment flow and comply with regional legislation and network rules. For example, if your customer is impacted by [SCA](https:\/\/stripe.com\/docs\/strong-customer-authentication), using \`off_session\` will ensure that they are authenticated while processing this PaymentIntent. You will then be able to collect [off-session payments](https:\/\/stripe.com\/docs\/payments\/cards\/charging-saved-cards\#off-session-payments-with-saved-cards) for this customer. , paymentIntentSetupFutureUsage :: (GHC.Maybe.Maybe PaymentIntentSetupFutureUsage') -- | shipping: Shipping information for this PaymentIntent. , paymentIntentShipping :: (GHC.Maybe.Maybe PaymentIntentShipping') -- | statement_descriptor: For non-card charges, you can use this value as the complete description that appears on your customers’ statements. Must contain at least one letter, maximum 22 characters. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | statement_descriptor_suffix: Provides information about a card payment that customers see on their statements. Concatenated with the prefix (shortened descriptor) or statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters for the concatenated descriptor. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentStatementDescriptorSuffix :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: Status of this PaymentIntent, one of \`requires_payment_method\`, \`requires_confirmation\`, \`requires_action\`, \`processing\`, \`requires_capture\`, \`canceled\`, or \`succeeded\`. Read more about each PaymentIntent [status](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses). , paymentIntentStatus :: PaymentIntentStatus' -- | transfer_data: The data with which to automatically create a Transfer when the payment is finalized. See the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts) for details. , paymentIntentTransferData :: (GHC.Maybe.Maybe PaymentIntentTransferData') -- | transfer_group: A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts) for details. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentTransferGroup :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntent where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (paymentIntentAmount obj) : (Data.Aeson..=) "amount_capturable" (paymentIntentAmountCapturable obj) : (Data.Aeson..=) "amount_received" (paymentIntentAmountReceived obj) : (Data.Aeson..=) "application" (paymentIntentApplication obj) : (Data.Aeson..=) "application_fee_amount" (paymentIntentApplicationFeeAmount obj) : (Data.Aeson..=) "canceled_at" (paymentIntentCanceledAt obj) : (Data.Aeson..=) "cancellation_reason" (paymentIntentCancellationReason obj) : (Data.Aeson..=) "capture_method" (paymentIntentCaptureMethod obj) : (Data.Aeson..=) "charges" (paymentIntentCharges obj) : (Data.Aeson..=) "client_secret" (paymentIntentClientSecret obj) : (Data.Aeson..=) "confirmation_method" (paymentIntentConfirmationMethod obj) : (Data.Aeson..=) "created" (paymentIntentCreated obj) : (Data.Aeson..=) "currency" (paymentIntentCurrency obj) : (Data.Aeson..=) "customer" (paymentIntentCustomer obj) : (Data.Aeson..=) "description" (paymentIntentDescription obj) : (Data.Aeson..=) "id" (paymentIntentId obj) : (Data.Aeson..=) "invoice" (paymentIntentInvoice obj) : (Data.Aeson..=) "last_payment_error" (paymentIntentLastPaymentError obj) : (Data.Aeson..=) "livemode" (paymentIntentLivemode obj) : (Data.Aeson..=) "metadata" (paymentIntentMetadata obj) : (Data.Aeson..=) "next_action" (paymentIntentNextAction obj) : (Data.Aeson..=) "object" (paymentIntentObject obj) : (Data.Aeson..=) "on_behalf_of" (paymentIntentOnBehalfOf obj) : (Data.Aeson..=) "payment_method" (paymentIntentPaymentMethod obj) : (Data.Aeson..=) "payment_method_options" (paymentIntentPaymentMethodOptions obj) : (Data.Aeson..=) "payment_method_types" (paymentIntentPaymentMethodTypes obj) : (Data.Aeson..=) "receipt_email" (paymentIntentReceiptEmail obj) : (Data.Aeson..=) "review" (paymentIntentReview obj) : (Data.Aeson..=) "setup_future_usage" (paymentIntentSetupFutureUsage obj) : (Data.Aeson..=) "shipping" (paymentIntentShipping obj) : (Data.Aeson..=) "statement_descriptor" (paymentIntentStatementDescriptor obj) : (Data.Aeson..=) "statement_descriptor_suffix" (paymentIntentStatementDescriptorSuffix obj) : (Data.Aeson..=) "status" (paymentIntentStatus obj) : (Data.Aeson..=) "transfer_data" (paymentIntentTransferData obj) : (Data.Aeson..=) "transfer_group" (paymentIntentTransferGroup obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (paymentIntentAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_capturable" (paymentIntentAmountCapturable obj) GHC.Base.<> ((Data.Aeson..=) "amount_received" (paymentIntentAmountReceived obj) GHC.Base.<> ((Data.Aeson..=) "application" (paymentIntentApplication obj) GHC.Base.<> ((Data.Aeson..=) "application_fee_amount" (paymentIntentApplicationFeeAmount obj) GHC.Base.<> ((Data.Aeson..=) "canceled_at" (paymentIntentCanceledAt obj) GHC.Base.<> ((Data.Aeson..=) "cancellation_reason" (paymentIntentCancellationReason obj) GHC.Base.<> ((Data.Aeson..=) "capture_method" (paymentIntentCaptureMethod obj) GHC.Base.<> ((Data.Aeson..=) "charges" (paymentIntentCharges obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (paymentIntentClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "confirmation_method" (paymentIntentConfirmationMethod obj) GHC.Base.<> ((Data.Aeson..=) "created" (paymentIntentCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (paymentIntentCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (paymentIntentCustomer obj) GHC.Base.<> ((Data.Aeson..=) "description" (paymentIntentDescription obj) GHC.Base.<> ((Data.Aeson..=) "id" (paymentIntentId obj) GHC.Base.<> ((Data.Aeson..=) "invoice" (paymentIntentInvoice obj) GHC.Base.<> ((Data.Aeson..=) "last_payment_error" (paymentIntentLastPaymentError obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (paymentIntentLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (paymentIntentMetadata obj) GHC.Base.<> ((Data.Aeson..=) "next_action" (paymentIntentNextAction obj) GHC.Base.<> ((Data.Aeson..=) "object" (paymentIntentObject obj) GHC.Base.<> ((Data.Aeson..=) "on_behalf_of" (paymentIntentOnBehalfOf obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (paymentIntentPaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_options" (paymentIntentPaymentMethodOptions obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_types" (paymentIntentPaymentMethodTypes obj) GHC.Base.<> ((Data.Aeson..=) "receipt_email" (paymentIntentReceiptEmail obj) GHC.Base.<> ((Data.Aeson..=) "review" (paymentIntentReview obj) GHC.Base.<> ((Data.Aeson..=) "setup_future_usage" (paymentIntentSetupFutureUsage obj) GHC.Base.<> ((Data.Aeson..=) "shipping" (paymentIntentShipping obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (paymentIntentStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor_suffix" (paymentIntentStatementDescriptorSuffix obj) GHC.Base.<> ((Data.Aeson..=) "status" (paymentIntentStatus obj) GHC.Base.<> ((Data.Aeson..=) "transfer_data" (paymentIntentTransferData obj) GHC.Base.<> (Data.Aeson..=) "transfer_group" (paymentIntentTransferGroup obj))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntent where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntent" (\obj -> ((((((((((((((((((((((((((((((((((GHC.Base.pure PaymentIntent GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_capturable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_received")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "canceled_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "capture_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charges")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "confirmation_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_payment_error")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "next_action")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "on_behalf_of")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_options")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "payment_method_types")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "review")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_future_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor_suffix")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_group")) -- | Define the one-of schema payment_intentApplication\' -- -- ID of the Connect application that created the PaymentIntent. data PaymentIntentApplication'Variants = PaymentIntentApplication'Application Application | PaymentIntentApplication'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentApplication'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentApplication'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema payment_intentCancellation_reason\' -- -- Reason for cancellation of this PaymentIntent, either user-provided (\`duplicate\`, \`fraudulent\`, \`requested_by_customer\`, or \`abandoned\`) or generated by Stripe internally (\`failed_invoice\`, \`void_invoice\`, or \`automatic\`). data PaymentIntentCancellationReason' = PaymentIntentCancellationReason'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentCancellationReason'EnumTyped GHC.Base.String | PaymentIntentCancellationReason'EnumStringAbandoned | PaymentIntentCancellationReason'EnumStringAutomatic | PaymentIntentCancellationReason'EnumStringDuplicate | PaymentIntentCancellationReason'EnumStringFailedInvoice | PaymentIntentCancellationReason'EnumStringFraudulent | PaymentIntentCancellationReason'EnumStringRequestedByCustomer | PaymentIntentCancellationReason'EnumStringVoidInvoice deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentCancellationReason' where toJSON (PaymentIntentCancellationReason'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentCancellationReason'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentCancellationReason'EnumStringAbandoned) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "abandoned" toJSON (PaymentIntentCancellationReason'EnumStringAutomatic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic" toJSON (PaymentIntentCancellationReason'EnumStringDuplicate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duplicate" toJSON (PaymentIntentCancellationReason'EnumStringFailedInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "failed_invoice" toJSON (PaymentIntentCancellationReason'EnumStringFraudulent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fraudulent" toJSON (PaymentIntentCancellationReason'EnumStringRequestedByCustomer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requested_by_customer" toJSON (PaymentIntentCancellationReason'EnumStringVoidInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "void_invoice" instance Data.Aeson.FromJSON PaymentIntentCancellationReason' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "abandoned") then PaymentIntentCancellationReason'EnumStringAbandoned else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic") then PaymentIntentCancellationReason'EnumStringAutomatic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duplicate") then PaymentIntentCancellationReason'EnumStringDuplicate else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "failed_invoice") then PaymentIntentCancellationReason'EnumStringFailedInvoice else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fraudulent") then PaymentIntentCancellationReason'EnumStringFraudulent else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requested_by_customer") then PaymentIntentCancellationReason'EnumStringRequestedByCustomer else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "void_invoice") then PaymentIntentCancellationReason'EnumStringVoidInvoice else PaymentIntentCancellationReason'EnumOther val) -- | Defines the enum schema payment_intentCapture_method\' -- -- Controls when the funds will be captured from the customer\'s account. data PaymentIntentCaptureMethod' = PaymentIntentCaptureMethod'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentCaptureMethod'EnumTyped GHC.Base.String | PaymentIntentCaptureMethod'EnumStringAutomatic | PaymentIntentCaptureMethod'EnumStringManual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentCaptureMethod' where toJSON (PaymentIntentCaptureMethod'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentCaptureMethod'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentCaptureMethod'EnumStringAutomatic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic" toJSON (PaymentIntentCaptureMethod'EnumStringManual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual" instance Data.Aeson.FromJSON PaymentIntentCaptureMethod' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic") then PaymentIntentCaptureMethod'EnumStringAutomatic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual") then PaymentIntentCaptureMethod'EnumStringManual else PaymentIntentCaptureMethod'EnumOther val) -- | Defines the data type for the schema payment_intentCharges\' -- -- Charges that were created by this PaymentIntent, if any. data PaymentIntentCharges' = PaymentIntentCharges' { -- | data: This list only contains the latest charge, even if there were previously multiple unsuccessful charges. To view all previous charges for a PaymentIntent, you can filter the charges list using the \`payment_intent\` [parameter](https:\/\/stripe.com\/docs\/api\/charges\/list\#list_charges-payment_intent). paymentIntentCharges'Data :: ([] Charge) -- | has_more: True if this list has another page of items after this one that can be fetched. , paymentIntentCharges'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , paymentIntentCharges'Object :: PaymentIntentCharges'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentCharges'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentCharges' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (paymentIntentCharges'Data obj) : (Data.Aeson..=) "has_more" (paymentIntentCharges'HasMore obj) : (Data.Aeson..=) "object" (paymentIntentCharges'Object obj) : (Data.Aeson..=) "url" (paymentIntentCharges'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (paymentIntentCharges'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (paymentIntentCharges'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (paymentIntentCharges'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (paymentIntentCharges'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentCharges' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentCharges'" (\obj -> (((GHC.Base.pure PaymentIntentCharges' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema payment_intentCharges\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data PaymentIntentCharges'Object' = PaymentIntentCharges'Object'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentCharges'Object'EnumTyped GHC.Base.String | PaymentIntentCharges'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentCharges'Object' where toJSON (PaymentIntentCharges'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentCharges'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentCharges'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON PaymentIntentCharges'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then PaymentIntentCharges'Object'EnumStringList else PaymentIntentCharges'Object'EnumOther val) -- | Defines the enum schema payment_intentConfirmation_method\' -- -- data PaymentIntentConfirmationMethod' = PaymentIntentConfirmationMethod'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentConfirmationMethod'EnumTyped GHC.Base.String | PaymentIntentConfirmationMethod'EnumStringAutomatic | PaymentIntentConfirmationMethod'EnumStringManual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentConfirmationMethod' where toJSON (PaymentIntentConfirmationMethod'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentConfirmationMethod'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentConfirmationMethod'EnumStringAutomatic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic" toJSON (PaymentIntentConfirmationMethod'EnumStringManual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual" instance Data.Aeson.FromJSON PaymentIntentConfirmationMethod' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic") then PaymentIntentConfirmationMethod'EnumStringAutomatic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual") then PaymentIntentConfirmationMethod'EnumStringManual else PaymentIntentConfirmationMethod'EnumOther val) -- | Define the one-of schema payment_intentCustomer\' -- -- ID of the Customer this PaymentIntent belongs to, if one exists. -- -- If present, payment methods used with this PaymentIntent can only be attached to this Customer, and payment methods attached to other Customers cannot be used with this PaymentIntent. data PaymentIntentCustomer'Variants = PaymentIntentCustomer'Customer Customer | PaymentIntentCustomer'DeletedCustomer DeletedCustomer | PaymentIntentCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema payment_intentInvoice\' -- -- ID of the invoice that created this PaymentIntent, if it exists. data PaymentIntentInvoice'Variants = PaymentIntentInvoice'Invoice Invoice | PaymentIntentInvoice'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentInvoice'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentInvoice'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_intentLast_payment_error\' -- -- The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason. data PaymentIntentLastPaymentError' = PaymentIntentLastPaymentError' { -- | charge: For card errors, the ID of the failed charge. -- -- Constraints: -- -- * Maximum length of 5000 paymentIntentLastPaymentError'Charge :: (GHC.Maybe.Maybe GHC.Base.String) -- | code: For some errors that could be handled programmatically, a short string indicating the [error code](https:\/\/stripe.com\/docs\/error-codes) reported. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Code :: (GHC.Maybe.Maybe GHC.Base.String) -- | decline_code: For card errors resulting from a card issuer decline, a short string indicating the [card issuer\'s reason for the decline](https:\/\/stripe.com\/docs\/declines\#issuer-declines) if they provide one. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'DeclineCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | doc_url: A URL to more information about the [error code](https:\/\/stripe.com\/docs\/error-codes) reported. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'DocUrl :: (GHC.Maybe.Maybe GHC.Base.String) -- | message: A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. -- -- Constraints: -- -- * Maximum length of 40000 , paymentIntentLastPaymentError'Message :: (GHC.Maybe.Maybe GHC.Base.String) -- | param: If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Param :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_intent: A PaymentIntent guides you through the process of collecting a payment from your customer. -- We recommend that you create exactly one PaymentIntent for each order or -- customer session in your system. You can reference the PaymentIntent later to -- see the history of payment attempts for a particular session. -- -- A PaymentIntent transitions through -- [multiple statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) -- throughout its lifetime as it interfaces with Stripe.js to perform -- authentication flows and ultimately creates at most one successful charge. -- -- Related guide: [Payment Intents API](https:\/\/stripe.com\/docs\/payments\/payment-intents\/creating-payment-intents). , paymentIntentLastPaymentError'PaymentIntent :: (GHC.Maybe.Maybe PaymentIntent) -- | payment_method: PaymentMethod objects represent your customer\'s payment instruments. -- They can be used with [PaymentIntents](https:\/\/stripe.com\/docs\/payments\/payment-intents) to collect payments or saved to -- Customer objects to store instrument details for future payments. -- -- Related guides: [Payment Methods](https:\/\/stripe.com\/docs\/payments\/payment-methods) and [More Payment Scenarios](https:\/\/stripe.com\/docs\/payments\/more-payment-scenarios). , paymentIntentLastPaymentError'PaymentMethod :: (GHC.Maybe.Maybe PaymentMethod) -- | setup_intent: A SetupIntent guides you through the process of setting up a customer\'s payment credentials for future payments. -- For example, you could use a SetupIntent to set up your customer\'s card without immediately collecting a payment. -- Later, you can use [PaymentIntents](https:\/\/stripe.com\/docs\/api\#payment_intents) to drive the payment flow. -- -- Create a SetupIntent as soon as you\'re ready to collect your customer\'s payment credentials. -- Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid. -- The SetupIntent then transitions through multiple [statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) as it guides -- you through the setup process. -- -- Successful SetupIntents result in payment credentials that are optimized for future payments. -- For example, cardholders in [certain regions](\/guides\/strong-customer-authentication) may need to be run through -- [Strong Customer Authentication](https:\/\/stripe.com\/docs\/strong-customer-authentication) at the time of payment method collection -- in order to streamline later [off-session payments](https:\/\/stripe.com\/docs\/payments\/setup-intents). -- -- By using SetupIntents, you ensure that your customers experience the minimum set of required friction, -- even as regulations change over time. , paymentIntentLastPaymentError'SetupIntent :: (GHC.Maybe.Maybe SetupIntent) -- | source: The source object for errors returned on a request involving a source. , paymentIntentLastPaymentError'Source :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source') -- | type: The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\` , paymentIntentLastPaymentError'Type :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Type') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "charge" (paymentIntentLastPaymentError'Charge obj) : (Data.Aeson..=) "code" (paymentIntentLastPaymentError'Code obj) : (Data.Aeson..=) "decline_code" (paymentIntentLastPaymentError'DeclineCode obj) : (Data.Aeson..=) "doc_url" (paymentIntentLastPaymentError'DocUrl obj) : (Data.Aeson..=) "message" (paymentIntentLastPaymentError'Message obj) : (Data.Aeson..=) "param" (paymentIntentLastPaymentError'Param obj) : (Data.Aeson..=) "payment_intent" (paymentIntentLastPaymentError'PaymentIntent obj) : (Data.Aeson..=) "payment_method" (paymentIntentLastPaymentError'PaymentMethod obj) : (Data.Aeson..=) "setup_intent" (paymentIntentLastPaymentError'SetupIntent obj) : (Data.Aeson..=) "source" (paymentIntentLastPaymentError'Source obj) : (Data.Aeson..=) "type" (paymentIntentLastPaymentError'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "charge" (paymentIntentLastPaymentError'Charge obj) GHC.Base.<> ((Data.Aeson..=) "code" (paymentIntentLastPaymentError'Code obj) GHC.Base.<> ((Data.Aeson..=) "decline_code" (paymentIntentLastPaymentError'DeclineCode obj) GHC.Base.<> ((Data.Aeson..=) "doc_url" (paymentIntentLastPaymentError'DocUrl obj) GHC.Base.<> ((Data.Aeson..=) "message" (paymentIntentLastPaymentError'Message obj) GHC.Base.<> ((Data.Aeson..=) "param" (paymentIntentLastPaymentError'Param obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (paymentIntentLastPaymentError'PaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (paymentIntentLastPaymentError'PaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "setup_intent" (paymentIntentLastPaymentError'SetupIntent obj) GHC.Base.<> ((Data.Aeson..=) "source" (paymentIntentLastPaymentError'Source obj) GHC.Base.<> (Data.Aeson..=) "type" (paymentIntentLastPaymentError'Type obj))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentLastPaymentError' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentLastPaymentError'" (\obj -> ((((((((((GHC.Base.pure PaymentIntentLastPaymentError' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "decline_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "doc_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "param")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the data type for the schema payment_intentLast_payment_error\'Source\' -- -- The source object for errors returned on a request involving a source. data PaymentIntentLastPaymentError'Source' = PaymentIntentLastPaymentError'Source' { -- | account: The ID of the account that the bank account is associated with. paymentIntentLastPaymentError'Source'Account :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Account'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | ach_credit_transfer , paymentIntentLastPaymentError'Source'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer) -- | ach_debit , paymentIntentLastPaymentError'Source'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | alipay , paymentIntentLastPaymentError'Source'Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay) -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for \`single_use\` sources. , paymentIntentLastPaymentError'Source'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , paymentIntentLastPaymentError'Source'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] PaymentIntentLastPaymentError'Source'AvailablePayoutMethods')) -- | bancontact , paymentIntentLastPaymentError'Source'Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'BankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Brand :: (GHC.Maybe.Maybe GHC.Base.String) -- | card , paymentIntentLastPaymentError'Source'Card :: (GHC.Maybe.Maybe SourceTypeCard) -- | card_present , paymentIntentLastPaymentError'Source'CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent) -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'ClientSecret :: (GHC.Maybe.Maybe GHC.Base.String) -- | code_verification: , paymentIntentLastPaymentError'Source'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , paymentIntentLastPaymentError'Source'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , paymentIntentLastPaymentError'Source'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer that the bank account is associated with. , paymentIntentLastPaymentError'Source'Customer :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Customer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this bank account is the default external account for its currency. , paymentIntentLastPaymentError'Source'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | eps , paymentIntentLastPaymentError'Source'Eps :: (GHC.Maybe.Maybe SourceTypeEps) -- | exp_month: Two-digit number representing the card\'s expiration month. , paymentIntentLastPaymentError'Source'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , paymentIntentLastPaymentError'Source'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Flow :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Funding :: (GHC.Maybe.Maybe GHC.Base.String) -- | giropay , paymentIntentLastPaymentError'Source'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | ideal , paymentIntentLastPaymentError'Source'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal) -- | klarna , paymentIntentLastPaymentError'Source'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Last4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , paymentIntentLastPaymentError'Source'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , paymentIntentLastPaymentError'Source'Metadata :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Metadata') -- | multibanco , paymentIntentLastPaymentError'Source'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco) -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , paymentIntentLastPaymentError'Source'Object :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Object') -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types. , paymentIntentLastPaymentError'Source'Owner :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Owner') -- | p24 , paymentIntentLastPaymentError'Source'P24 :: (GHC.Maybe.Maybe SourceTypeP24) -- | receiver: , paymentIntentLastPaymentError'Source'Receiver :: (GHC.Maybe.Maybe SourceReceiverFlow) -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , paymentIntentLastPaymentError'Source'Recipient :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Recipient'Variants) -- | redirect: , paymentIntentLastPaymentError'Source'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow) -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | sepa_debit , paymentIntentLastPaymentError'Source'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit) -- | sofort , paymentIntentLastPaymentError'Source'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort) -- | source_order: , paymentIntentLastPaymentError'Source'SourceOrder :: (GHC.Maybe.Maybe SourceOrder) -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'StatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Status :: (GHC.Maybe.Maybe GHC.Base.String) -- | three_d_secure , paymentIntentLastPaymentError'Source'ThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. , paymentIntentLastPaymentError'Source'Type :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Type') -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Usage :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat , paymentIntentLastPaymentError'Source'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (paymentIntentLastPaymentError'Source'Account obj) : (Data.Aeson..=) "account_holder_name" (paymentIntentLastPaymentError'Source'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (paymentIntentLastPaymentError'Source'AccountHolderType obj) : (Data.Aeson..=) "ach_credit_transfer" (paymentIntentLastPaymentError'Source'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (paymentIntentLastPaymentError'Source'AchDebit obj) : (Data.Aeson..=) "address_city" (paymentIntentLastPaymentError'Source'AddressCity obj) : (Data.Aeson..=) "address_country" (paymentIntentLastPaymentError'Source'AddressCountry obj) : (Data.Aeson..=) "address_line1" (paymentIntentLastPaymentError'Source'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (paymentIntentLastPaymentError'Source'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (paymentIntentLastPaymentError'Source'AddressLine2 obj) : (Data.Aeson..=) "address_state" (paymentIntentLastPaymentError'Source'AddressState obj) : (Data.Aeson..=) "address_zip" (paymentIntentLastPaymentError'Source'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (paymentIntentLastPaymentError'Source'AddressZipCheck obj) : (Data.Aeson..=) "alipay" (paymentIntentLastPaymentError'Source'Alipay obj) : (Data.Aeson..=) "amount" (paymentIntentLastPaymentError'Source'Amount obj) : (Data.Aeson..=) "available_payout_methods" (paymentIntentLastPaymentError'Source'AvailablePayoutMethods obj) : (Data.Aeson..=) "bancontact" (paymentIntentLastPaymentError'Source'Bancontact obj) : (Data.Aeson..=) "bank_name" (paymentIntentLastPaymentError'Source'BankName obj) : (Data.Aeson..=) "brand" (paymentIntentLastPaymentError'Source'Brand obj) : (Data.Aeson..=) "card" (paymentIntentLastPaymentError'Source'Card obj) : (Data.Aeson..=) "card_present" (paymentIntentLastPaymentError'Source'CardPresent obj) : (Data.Aeson..=) "client_secret" (paymentIntentLastPaymentError'Source'ClientSecret obj) : (Data.Aeson..=) "code_verification" (paymentIntentLastPaymentError'Source'CodeVerification obj) : (Data.Aeson..=) "country" (paymentIntentLastPaymentError'Source'Country obj) : (Data.Aeson..=) "created" (paymentIntentLastPaymentError'Source'Created obj) : (Data.Aeson..=) "currency" (paymentIntentLastPaymentError'Source'Currency obj) : (Data.Aeson..=) "customer" (paymentIntentLastPaymentError'Source'Customer obj) : (Data.Aeson..=) "cvc_check" (paymentIntentLastPaymentError'Source'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (paymentIntentLastPaymentError'Source'DefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (paymentIntentLastPaymentError'Source'DynamicLast4 obj) : (Data.Aeson..=) "eps" (paymentIntentLastPaymentError'Source'Eps obj) : (Data.Aeson..=) "exp_month" (paymentIntentLastPaymentError'Source'ExpMonth obj) : (Data.Aeson..=) "exp_year" (paymentIntentLastPaymentError'Source'ExpYear obj) : (Data.Aeson..=) "fingerprint" (paymentIntentLastPaymentError'Source'Fingerprint obj) : (Data.Aeson..=) "flow" (paymentIntentLastPaymentError'Source'Flow obj) : (Data.Aeson..=) "funding" (paymentIntentLastPaymentError'Source'Funding obj) : (Data.Aeson..=) "giropay" (paymentIntentLastPaymentError'Source'Giropay obj) : (Data.Aeson..=) "id" (paymentIntentLastPaymentError'Source'Id obj) : (Data.Aeson..=) "ideal" (paymentIntentLastPaymentError'Source'Ideal obj) : (Data.Aeson..=) "klarna" (paymentIntentLastPaymentError'Source'Klarna obj) : (Data.Aeson..=) "last4" (paymentIntentLastPaymentError'Source'Last4 obj) : (Data.Aeson..=) "livemode" (paymentIntentLastPaymentError'Source'Livemode obj) : (Data.Aeson..=) "metadata" (paymentIntentLastPaymentError'Source'Metadata obj) : (Data.Aeson..=) "multibanco" (paymentIntentLastPaymentError'Source'Multibanco obj) : (Data.Aeson..=) "name" (paymentIntentLastPaymentError'Source'Name obj) : (Data.Aeson..=) "object" (paymentIntentLastPaymentError'Source'Object obj) : (Data.Aeson..=) "owner" (paymentIntentLastPaymentError'Source'Owner obj) : (Data.Aeson..=) "p24" (paymentIntentLastPaymentError'Source'P24 obj) : (Data.Aeson..=) "receiver" (paymentIntentLastPaymentError'Source'Receiver obj) : (Data.Aeson..=) "recipient" (paymentIntentLastPaymentError'Source'Recipient obj) : (Data.Aeson..=) "redirect" (paymentIntentLastPaymentError'Source'Redirect obj) : (Data.Aeson..=) "routing_number" (paymentIntentLastPaymentError'Source'RoutingNumber obj) : (Data.Aeson..=) "sepa_debit" (paymentIntentLastPaymentError'Source'SepaDebit obj) : (Data.Aeson..=) "sofort" (paymentIntentLastPaymentError'Source'Sofort obj) : (Data.Aeson..=) "source_order" (paymentIntentLastPaymentError'Source'SourceOrder obj) : (Data.Aeson..=) "statement_descriptor" (paymentIntentLastPaymentError'Source'StatementDescriptor obj) : (Data.Aeson..=) "status" (paymentIntentLastPaymentError'Source'Status obj) : (Data.Aeson..=) "three_d_secure" (paymentIntentLastPaymentError'Source'ThreeDSecure obj) : (Data.Aeson..=) "tokenization_method" (paymentIntentLastPaymentError'Source'TokenizationMethod obj) : (Data.Aeson..=) "type" (paymentIntentLastPaymentError'Source'Type obj) : (Data.Aeson..=) "usage" (paymentIntentLastPaymentError'Source'Usage obj) : (Data.Aeson..=) "wechat" (paymentIntentLastPaymentError'Source'Wechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (paymentIntentLastPaymentError'Source'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (paymentIntentLastPaymentError'Source'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (paymentIntentLastPaymentError'Source'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "ach_credit_transfer" (paymentIntentLastPaymentError'Source'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (paymentIntentLastPaymentError'Source'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (paymentIntentLastPaymentError'Source'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (paymentIntentLastPaymentError'Source'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (paymentIntentLastPaymentError'Source'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (paymentIntentLastPaymentError'Source'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (paymentIntentLastPaymentError'Source'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (paymentIntentLastPaymentError'Source'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (paymentIntentLastPaymentError'Source'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (paymentIntentLastPaymentError'Source'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (paymentIntentLastPaymentError'Source'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "amount" (paymentIntentLastPaymentError'Source'Amount obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (paymentIntentLastPaymentError'Source'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (paymentIntentLastPaymentError'Source'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (paymentIntentLastPaymentError'Source'BankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (paymentIntentLastPaymentError'Source'Brand obj) GHC.Base.<> ((Data.Aeson..=) "card" (paymentIntentLastPaymentError'Source'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (paymentIntentLastPaymentError'Source'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (paymentIntentLastPaymentError'Source'ClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "code_verification" (paymentIntentLastPaymentError'Source'CodeVerification obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentIntentLastPaymentError'Source'Country obj) GHC.Base.<> ((Data.Aeson..=) "created" (paymentIntentLastPaymentError'Source'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (paymentIntentLastPaymentError'Source'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (paymentIntentLastPaymentError'Source'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (paymentIntentLastPaymentError'Source'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (paymentIntentLastPaymentError'Source'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (paymentIntentLastPaymentError'Source'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "eps" (paymentIntentLastPaymentError'Source'Eps obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (paymentIntentLastPaymentError'Source'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (paymentIntentLastPaymentError'Source'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (paymentIntentLastPaymentError'Source'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "flow" (paymentIntentLastPaymentError'Source'Flow obj) GHC.Base.<> ((Data.Aeson..=) "funding" (paymentIntentLastPaymentError'Source'Funding obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (paymentIntentLastPaymentError'Source'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "id" (paymentIntentLastPaymentError'Source'Id obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (paymentIntentLastPaymentError'Source'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (paymentIntentLastPaymentError'Source'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "last4" (paymentIntentLastPaymentError'Source'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (paymentIntentLastPaymentError'Source'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (paymentIntentLastPaymentError'Source'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (paymentIntentLastPaymentError'Source'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentIntentLastPaymentError'Source'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (paymentIntentLastPaymentError'Source'Object obj) GHC.Base.<> ((Data.Aeson..=) "owner" (paymentIntentLastPaymentError'Source'Owner obj) GHC.Base.<> ((Data.Aeson..=) "p24" (paymentIntentLastPaymentError'Source'P24 obj) GHC.Base.<> ((Data.Aeson..=) "receiver" (paymentIntentLastPaymentError'Source'Receiver obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (paymentIntentLastPaymentError'Source'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "redirect" (paymentIntentLastPaymentError'Source'Redirect obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (paymentIntentLastPaymentError'Source'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (paymentIntentLastPaymentError'Source'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (paymentIntentLastPaymentError'Source'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "source_order" (paymentIntentLastPaymentError'Source'SourceOrder obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (paymentIntentLastPaymentError'Source'StatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (paymentIntentLastPaymentError'Source'Status obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (paymentIntentLastPaymentError'Source'ThreeDSecure obj) GHC.Base.<> ((Data.Aeson..=) "tokenization_method" (paymentIntentLastPaymentError'Source'TokenizationMethod obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentIntentLastPaymentError'Source'Type obj) GHC.Base.<> ((Data.Aeson..=) "usage" (paymentIntentLastPaymentError'Source'Usage obj) GHC.Base.<> (Data.Aeson..=) "wechat" (paymentIntentLastPaymentError'Source'Wechat obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentLastPaymentError'Source' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentLastPaymentError'Source'" (\obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure PaymentIntentLastPaymentError'Source' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) 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..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Define the one-of schema payment_intentLast_payment_error\'Source\'Account\' -- -- The ID of the account that the bank account is associated with. data PaymentIntentLastPaymentError'Source'Account'Variants = PaymentIntentLastPaymentError'Source'Account'Account Account | PaymentIntentLastPaymentError'Source'Account'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Account'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentLastPaymentError'Source'Account'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema payment_intentLast_payment_error\'Source\'Available_payout_methods\' -- -- data PaymentIntentLastPaymentError'Source'AvailablePayoutMethods' = PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumTyped GHC.Base.String | PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumStringInstant | PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'AvailablePayoutMethods' where toJSON (PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON PaymentIntentLastPaymentError'Source'AvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumStringStandard else PaymentIntentLastPaymentError'Source'AvailablePayoutMethods'EnumOther val) -- | Define the one-of schema payment_intentLast_payment_error\'Source\'Customer\' -- -- The ID of the customer that the bank account is associated with. data PaymentIntentLastPaymentError'Source'Customer'Variants = PaymentIntentLastPaymentError'Source'Customer'Customer Customer | PaymentIntentLastPaymentError'Source'Customer'DeletedCustomer DeletedCustomer | PaymentIntentLastPaymentError'Source'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentLastPaymentError'Source'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_intentLast_payment_error\'Source\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data PaymentIntentLastPaymentError'Source'Metadata' = PaymentIntentLastPaymentError'Source'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentLastPaymentError'Source'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentLastPaymentError'Source'Metadata'" (\obj -> GHC.Base.pure PaymentIntentLastPaymentError'Source'Metadata') -- | Defines the enum schema payment_intentLast_payment_error\'Source\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data PaymentIntentLastPaymentError'Source'Object' = PaymentIntentLastPaymentError'Source'Object'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentLastPaymentError'Source'Object'EnumTyped GHC.Base.String | PaymentIntentLastPaymentError'Source'Object'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Object' where toJSON (PaymentIntentLastPaymentError'Source'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentLastPaymentError'Source'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentLastPaymentError'Source'Object'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON PaymentIntentLastPaymentError'Source'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then PaymentIntentLastPaymentError'Source'Object'EnumStringBankAccount else PaymentIntentLastPaymentError'Source'Object'EnumOther val) -- | Defines the data type for the schema payment_intentLast_payment_error\'Source\'Owner\' -- -- Information about the owner of the payment instrument that may be used or required by particular source types. data PaymentIntentLastPaymentError'Source'Owner' = PaymentIntentLastPaymentError'Source'Owner' { -- | address: Owner\'s address. paymentIntentLastPaymentError'Source'Owner'Address :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Owner'Address') -- | email: Owner\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'Email :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s full name. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Owner\'s phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. , paymentIntentLastPaymentError'Source'Owner'VerifiedAddress :: (GHC.Maybe.Maybe PaymentIntentLastPaymentError'Source'Owner'VerifiedAddress') -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'VerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'VerifiedName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'VerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Owner' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (paymentIntentLastPaymentError'Source'Owner'Address obj) : (Data.Aeson..=) "email" (paymentIntentLastPaymentError'Source'Owner'Email obj) : (Data.Aeson..=) "name" (paymentIntentLastPaymentError'Source'Owner'Name obj) : (Data.Aeson..=) "phone" (paymentIntentLastPaymentError'Source'Owner'Phone obj) : (Data.Aeson..=) "verified_address" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress obj) : (Data.Aeson..=) "verified_email" (paymentIntentLastPaymentError'Source'Owner'VerifiedEmail obj) : (Data.Aeson..=) "verified_name" (paymentIntentLastPaymentError'Source'Owner'VerifiedName obj) : (Data.Aeson..=) "verified_phone" (paymentIntentLastPaymentError'Source'Owner'VerifiedPhone obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (paymentIntentLastPaymentError'Source'Owner'Address obj) GHC.Base.<> ((Data.Aeson..=) "email" (paymentIntentLastPaymentError'Source'Owner'Email obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentIntentLastPaymentError'Source'Owner'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (paymentIntentLastPaymentError'Source'Owner'Phone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (paymentIntentLastPaymentError'Source'Owner'VerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (paymentIntentLastPaymentError'Source'Owner'VerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (paymentIntentLastPaymentError'Source'Owner'VerifiedPhone obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentLastPaymentError'Source'Owner' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentLastPaymentError'Source'Owner'" (\obj -> (((((((GHC.Base.pure PaymentIntentLastPaymentError'Source'Owner' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone")) -- | Defines the data type for the schema payment_intentLast_payment_error\'Source\'Owner\'Address\' -- -- Owner\\\'s address. data PaymentIntentLastPaymentError'Source'Owner'Address' = PaymentIntentLastPaymentError'Source'Owner'Address' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentIntentLastPaymentError'Source'Owner'Address'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'Address'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'Address'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'Address'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'Address'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'Address'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Owner'Address' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentIntentLastPaymentError'Source'Owner'Address'City obj) : (Data.Aeson..=) "country" (paymentIntentLastPaymentError'Source'Owner'Address'Country obj) : (Data.Aeson..=) "line1" (paymentIntentLastPaymentError'Source'Owner'Address'Line1 obj) : (Data.Aeson..=) "line2" (paymentIntentLastPaymentError'Source'Owner'Address'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentIntentLastPaymentError'Source'Owner'Address'PostalCode obj) : (Data.Aeson..=) "state" (paymentIntentLastPaymentError'Source'Owner'Address'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentIntentLastPaymentError'Source'Owner'Address'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentIntentLastPaymentError'Source'Owner'Address'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentIntentLastPaymentError'Source'Owner'Address'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentIntentLastPaymentError'Source'Owner'Address'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentIntentLastPaymentError'Source'Owner'Address'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentIntentLastPaymentError'Source'Owner'Address'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentLastPaymentError'Source'Owner'Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentLastPaymentError'Source'Owner'Address'" (\obj -> (((((GHC.Base.pure PaymentIntentLastPaymentError'Source'Owner'Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_intentLast_payment_error\'Source\'Owner\'Verified_address\' -- -- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentIntentLastPaymentError'Source'Owner'VerifiedAddress' = PaymentIntentLastPaymentError'Source'Owner'VerifiedAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Owner'VerifiedAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'City obj) : (Data.Aeson..=) "country" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentIntentLastPaymentError'Source'Owner'VerifiedAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentLastPaymentError'Source'Owner'VerifiedAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentLastPaymentError'Source'Owner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure PaymentIntentLastPaymentError'Source'Owner'VerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Define the one-of schema payment_intentLast_payment_error\'Source\'Recipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data PaymentIntentLastPaymentError'Source'Recipient'Variants = PaymentIntentLastPaymentError'Source'Recipient'Recipient Recipient | PaymentIntentLastPaymentError'Source'Recipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Recipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentLastPaymentError'Source'Recipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema payment_intentLast_payment_error\'Source\'Type\' -- -- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. data PaymentIntentLastPaymentError'Source'Type' = PaymentIntentLastPaymentError'Source'Type'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentLastPaymentError'Source'Type'EnumTyped GHC.Base.String | PaymentIntentLastPaymentError'Source'Type'EnumStringAchCreditTransfer | PaymentIntentLastPaymentError'Source'Type'EnumStringAchDebit | PaymentIntentLastPaymentError'Source'Type'EnumStringAlipay | PaymentIntentLastPaymentError'Source'Type'EnumStringBancontact | PaymentIntentLastPaymentError'Source'Type'EnumStringCard | PaymentIntentLastPaymentError'Source'Type'EnumStringCardPresent | PaymentIntentLastPaymentError'Source'Type'EnumStringEps | PaymentIntentLastPaymentError'Source'Type'EnumStringGiropay | PaymentIntentLastPaymentError'Source'Type'EnumStringIdeal | PaymentIntentLastPaymentError'Source'Type'EnumStringKlarna | PaymentIntentLastPaymentError'Source'Type'EnumStringMultibanco | PaymentIntentLastPaymentError'Source'Type'EnumStringP24 | PaymentIntentLastPaymentError'Source'Type'EnumStringSepaDebit | PaymentIntentLastPaymentError'Source'Type'EnumStringSofort | PaymentIntentLastPaymentError'Source'Type'EnumStringThreeDSecure | PaymentIntentLastPaymentError'Source'Type'EnumStringWechat deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Source'Type' where toJSON (PaymentIntentLastPaymentError'Source'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentLastPaymentError'Source'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringAchCreditTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringAchDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringAlipay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringBancontact) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringCardPresent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringEps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringGiropay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringIdeal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringKlarna) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringMultibanco) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringP24) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringSepaDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringSofort) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringThreeDSecure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure" toJSON (PaymentIntentLastPaymentError'Source'Type'EnumStringWechat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat" instance Data.Aeson.FromJSON PaymentIntentLastPaymentError'Source'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer") then PaymentIntentLastPaymentError'Source'Type'EnumStringAchCreditTransfer else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit") then PaymentIntentLastPaymentError'Source'Type'EnumStringAchDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay") then PaymentIntentLastPaymentError'Source'Type'EnumStringAlipay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact") then PaymentIntentLastPaymentError'Source'Type'EnumStringBancontact else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card") then PaymentIntentLastPaymentError'Source'Type'EnumStringCard else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present") then PaymentIntentLastPaymentError'Source'Type'EnumStringCardPresent else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps") then PaymentIntentLastPaymentError'Source'Type'EnumStringEps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay") then PaymentIntentLastPaymentError'Source'Type'EnumStringGiropay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal") then PaymentIntentLastPaymentError'Source'Type'EnumStringIdeal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna") then PaymentIntentLastPaymentError'Source'Type'EnumStringKlarna else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco") then PaymentIntentLastPaymentError'Source'Type'EnumStringMultibanco else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24") then PaymentIntentLastPaymentError'Source'Type'EnumStringP24 else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit") then PaymentIntentLastPaymentError'Source'Type'EnumStringSepaDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort") then PaymentIntentLastPaymentError'Source'Type'EnumStringSofort else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure") then PaymentIntentLastPaymentError'Source'Type'EnumStringThreeDSecure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat") then PaymentIntentLastPaymentError'Source'Type'EnumStringWechat else PaymentIntentLastPaymentError'Source'Type'EnumOther val) -- | Defines the enum schema payment_intentLast_payment_error\'Type\' -- -- The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\` data PaymentIntentLastPaymentError'Type' = PaymentIntentLastPaymentError'Type'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentLastPaymentError'Type'EnumTyped GHC.Base.String | PaymentIntentLastPaymentError'Type'EnumStringApiConnectionError | PaymentIntentLastPaymentError'Type'EnumStringApiError | PaymentIntentLastPaymentError'Type'EnumStringAuthenticationError | PaymentIntentLastPaymentError'Type'EnumStringCardError | PaymentIntentLastPaymentError'Type'EnumStringIdempotencyError | PaymentIntentLastPaymentError'Type'EnumStringInvalidRequestError | PaymentIntentLastPaymentError'Type'EnumStringRateLimitError deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentLastPaymentError'Type' where toJSON (PaymentIntentLastPaymentError'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentLastPaymentError'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentLastPaymentError'Type'EnumStringApiConnectionError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_connection_error" toJSON (PaymentIntentLastPaymentError'Type'EnumStringApiError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_error" toJSON (PaymentIntentLastPaymentError'Type'EnumStringAuthenticationError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "authentication_error" toJSON (PaymentIntentLastPaymentError'Type'EnumStringCardError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_error" toJSON (PaymentIntentLastPaymentError'Type'EnumStringIdempotencyError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "idempotency_error" toJSON (PaymentIntentLastPaymentError'Type'EnumStringInvalidRequestError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invalid_request_error" toJSON (PaymentIntentLastPaymentError'Type'EnumStringRateLimitError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rate_limit_error" instance Data.Aeson.FromJSON PaymentIntentLastPaymentError'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_connection_error") then PaymentIntentLastPaymentError'Type'EnumStringApiConnectionError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_error") then PaymentIntentLastPaymentError'Type'EnumStringApiError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "authentication_error") then PaymentIntentLastPaymentError'Type'EnumStringAuthenticationError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_error") then PaymentIntentLastPaymentError'Type'EnumStringCardError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "idempotency_error") then PaymentIntentLastPaymentError'Type'EnumStringIdempotencyError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invalid_request_error") then PaymentIntentLastPaymentError'Type'EnumStringInvalidRequestError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rate_limit_error") then PaymentIntentLastPaymentError'Type'EnumStringRateLimitError else PaymentIntentLastPaymentError'Type'EnumOther val) -- | Defines the data type for the schema payment_intentMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. For more information, see the [documentation](https:\/\/stripe.com\/docs\/payments\/payment-intents\/creating-payment-intents\#storing-information-in-metadata). data PaymentIntentMetadata' = PaymentIntentMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentMetadata'" (\obj -> GHC.Base.pure PaymentIntentMetadata') -- | Defines the data type for the schema payment_intentNext_action\' -- -- If present, this property tells you what actions you need to take in order for your customer to fulfill a payment using the provided source. data PaymentIntentNextAction' = PaymentIntentNextAction' { -- | redirect_to_url: paymentIntentNextAction'RedirectToUrl :: (GHC.Maybe.Maybe PaymentIntentNextActionRedirectToUrl) -- | type: Type of the next action to perform, one of \`redirect_to_url\` or \`use_stripe_sdk\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentNextAction'Type :: (GHC.Maybe.Maybe GHC.Base.String) -- | use_stripe_sdk: When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. , paymentIntentNextAction'UseStripeSdk :: (GHC.Maybe.Maybe PaymentIntentNextAction'UseStripeSdk') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentNextAction' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "redirect_to_url" (paymentIntentNextAction'RedirectToUrl obj) : (Data.Aeson..=) "type" (paymentIntentNextAction'Type obj) : (Data.Aeson..=) "use_stripe_sdk" (paymentIntentNextAction'UseStripeSdk obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "redirect_to_url" (paymentIntentNextAction'RedirectToUrl obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentIntentNextAction'Type obj) GHC.Base.<> (Data.Aeson..=) "use_stripe_sdk" (paymentIntentNextAction'UseStripeSdk obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentNextAction' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentNextAction'" (\obj -> ((GHC.Base.pure PaymentIntentNextAction' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect_to_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "use_stripe_sdk")) -- | Defines the data type for the schema payment_intentNext_action\'Use_stripe_sdk\' -- -- When confirming a PaymentIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. data PaymentIntentNextAction'UseStripeSdk' = PaymentIntentNextAction'UseStripeSdk' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentNextAction'UseStripeSdk' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentNextAction'UseStripeSdk' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentNextAction'UseStripeSdk'" (\obj -> GHC.Base.pure PaymentIntentNextAction'UseStripeSdk') -- | Defines the enum schema payment_intentObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data PaymentIntentObject' = PaymentIntentObject'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentObject'EnumTyped GHC.Base.String | PaymentIntentObject'EnumStringPaymentIntent deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentObject' where toJSON (PaymentIntentObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentObject'EnumStringPaymentIntent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_intent" instance Data.Aeson.FromJSON PaymentIntentObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_intent") then PaymentIntentObject'EnumStringPaymentIntent else PaymentIntentObject'EnumOther val) -- | Define the one-of schema payment_intentOn_behalf_of\' -- -- The account (if any) for which the funds of the PaymentIntent are intended. See the PaymentIntents [use case for connected accounts](https:\/\/stripe.com\/docs\/payments\/connected-accounts) for details. data PaymentIntentOnBehalfOf'Variants = PaymentIntentOnBehalfOf'Account Account | PaymentIntentOnBehalfOf'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentOnBehalfOf'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentOnBehalfOf'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema payment_intentPayment_method\' -- -- ID of the payment method used in this PaymentIntent. data PaymentIntentPaymentMethod'Variants = PaymentIntentPaymentMethod'PaymentMethod PaymentMethod | PaymentIntentPaymentMethod'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentPaymentMethod'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentPaymentMethod'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_intentPayment_method_options\' -- -- Payment-method-specific configuration for this PaymentIntent. data PaymentIntentPaymentMethodOptions' = PaymentIntentPaymentMethodOptions' { -- | card: paymentIntentPaymentMethodOptions'Card :: (GHC.Maybe.Maybe PaymentIntentPaymentMethodOptionsCard) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentPaymentMethodOptions' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "card" (paymentIntentPaymentMethodOptions'Card obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "card" (paymentIntentPaymentMethodOptions'Card obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentPaymentMethodOptions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentPaymentMethodOptions'" (\obj -> GHC.Base.pure PaymentIntentPaymentMethodOptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) -- | Define the one-of schema payment_intentReview\' -- -- ID of the review associated with this PaymentIntent, if any. data PaymentIntentReview'Variants = PaymentIntentReview'Review Review | PaymentIntentReview'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentReview'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentReview'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema payment_intentSetup_future_usage\' -- -- Indicates that you intend to make future payments with this PaymentIntent\'s payment method. -- -- If present, the payment method used with this PaymentIntent can be [attached](https:\/\/stripe.com\/docs\/api\/payment_methods\/attach) to a Customer, even after the transaction completes. -- -- For more, learn to [save card details during payment](https:\/\/stripe.com\/docs\/payments\/save-during-payment). -- -- Stripe uses \`setup_future_usage\` to dynamically optimize your payment flow and comply with regional legislation and network rules. For example, if your customer is impacted by [SCA](https:\/\/stripe.com\/docs\/strong-customer-authentication), using \`off_session\` will ensure that they are authenticated while processing this PaymentIntent. You will then be able to collect [off-session payments](https:\/\/stripe.com\/docs\/payments\/cards\/charging-saved-cards\#off-session-payments-with-saved-cards) for this customer. data PaymentIntentSetupFutureUsage' = PaymentIntentSetupFutureUsage'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentSetupFutureUsage'EnumTyped GHC.Base.String | PaymentIntentSetupFutureUsage'EnumStringOffSession | PaymentIntentSetupFutureUsage'EnumStringOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentSetupFutureUsage' where toJSON (PaymentIntentSetupFutureUsage'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentSetupFutureUsage'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentSetupFutureUsage'EnumStringOffSession) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "off_session" toJSON (PaymentIntentSetupFutureUsage'EnumStringOnSession) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "on_session" instance Data.Aeson.FromJSON PaymentIntentSetupFutureUsage' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "off_session") then PaymentIntentSetupFutureUsage'EnumStringOffSession else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "on_session") then PaymentIntentSetupFutureUsage'EnumStringOnSession else PaymentIntentSetupFutureUsage'EnumOther val) -- | Defines the data type for the schema payment_intentShipping\' -- -- Shipping information for this PaymentIntent. data PaymentIntentShipping' = PaymentIntentShipping' { -- | address: paymentIntentShipping'Address :: (GHC.Maybe.Maybe Address) -- | carrier: The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentShipping'Carrier :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Recipient name. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentShipping'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Recipient phone (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentShipping'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | tracking_number: The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas. -- -- Constraints: -- -- * Maximum length of 5000 , paymentIntentShipping'TrackingNumber :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentShipping' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (paymentIntentShipping'Address obj) : (Data.Aeson..=) "carrier" (paymentIntentShipping'Carrier obj) : (Data.Aeson..=) "name" (paymentIntentShipping'Name obj) : (Data.Aeson..=) "phone" (paymentIntentShipping'Phone obj) : (Data.Aeson..=) "tracking_number" (paymentIntentShipping'TrackingNumber obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (paymentIntentShipping'Address obj) GHC.Base.<> ((Data.Aeson..=) "carrier" (paymentIntentShipping'Carrier obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentIntentShipping'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (paymentIntentShipping'Phone obj) GHC.Base.<> (Data.Aeson..=) "tracking_number" (paymentIntentShipping'TrackingNumber obj))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentShipping' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentShipping'" (\obj -> ((((GHC.Base.pure PaymentIntentShipping' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "carrier")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tracking_number")) -- | Defines the enum schema payment_intentStatus\' -- -- Status of this PaymentIntent, one of \`requires_payment_method\`, \`requires_confirmation\`, \`requires_action\`, \`processing\`, \`requires_capture\`, \`canceled\`, or \`succeeded\`. Read more about each PaymentIntent [status](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses). data PaymentIntentStatus' = PaymentIntentStatus'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentStatus'EnumTyped GHC.Base.String | PaymentIntentStatus'EnumStringCanceled | PaymentIntentStatus'EnumStringProcessing | PaymentIntentStatus'EnumStringRequiresAction | PaymentIntentStatus'EnumStringRequiresCapture | PaymentIntentStatus'EnumStringRequiresConfirmation | PaymentIntentStatus'EnumStringRequiresPaymentMethod | PaymentIntentStatus'EnumStringSucceeded deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentStatus' where toJSON (PaymentIntentStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentStatus'EnumStringCanceled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled" toJSON (PaymentIntentStatus'EnumStringProcessing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "processing" toJSON (PaymentIntentStatus'EnumStringRequiresAction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_action" toJSON (PaymentIntentStatus'EnumStringRequiresCapture) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_capture" toJSON (PaymentIntentStatus'EnumStringRequiresConfirmation) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_confirmation" toJSON (PaymentIntentStatus'EnumStringRequiresPaymentMethod) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_payment_method" toJSON (PaymentIntentStatus'EnumStringSucceeded) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "succeeded" instance Data.Aeson.FromJSON PaymentIntentStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled") then PaymentIntentStatus'EnumStringCanceled else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "processing") then PaymentIntentStatus'EnumStringProcessing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_action") then PaymentIntentStatus'EnumStringRequiresAction else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_capture") then PaymentIntentStatus'EnumStringRequiresCapture else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_confirmation") then PaymentIntentStatus'EnumStringRequiresConfirmation else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_payment_method") then PaymentIntentStatus'EnumStringRequiresPaymentMethod else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "succeeded") then PaymentIntentStatus'EnumStringSucceeded else PaymentIntentStatus'EnumOther val) -- | Defines the data type for the schema payment_intentTransfer_data\' -- -- The data with which to automatically create a Transfer when the payment is finalized. See the PaymentIntents [use case for connected accounts](https:\\\/\\\/stripe.com\\\/docs\\\/payments\\\/connected-accounts) for details. data PaymentIntentTransferData' = PaymentIntentTransferData' { -- | amount: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https:\/\/stripe.com\/docs\/currencies\#zero-decimal) (e.g., 100 cents to charge \$1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is \$0.50 US or [equivalent in charge currency](https:\/\/stripe.com\/docs\/currencies\#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of \$999,999.99). paymentIntentTransferData'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | destination: The account (if any) the payment will be attributed to for tax -- reporting, and where funds from the payment will be transferred to upon -- payment success. , paymentIntentTransferData'Destination :: (GHC.Maybe.Maybe PaymentIntentTransferData'Destination'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentTransferData' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (paymentIntentTransferData'Amount obj) : (Data.Aeson..=) "destination" (paymentIntentTransferData'Destination obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (paymentIntentTransferData'Amount obj) GHC.Base.<> (Data.Aeson..=) "destination" (paymentIntentTransferData'Destination obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentTransferData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentTransferData'" (\obj -> (GHC.Base.pure PaymentIntentTransferData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "destination")) -- | Define the one-of schema payment_intentTransfer_data\'Destination\' -- -- The account (if any) the payment will be attributed to for tax -- reporting, and where funds from the payment will be transferred to upon -- payment success. data PaymentIntentTransferData'Destination'Variants = PaymentIntentTransferData'Destination'Account Account | PaymentIntentTransferData'Destination'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentIntentTransferData'Destination'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentIntentTransferData'Destination'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_intent_payment_method_options -- -- data PaymentIntentPaymentMethodOptions = PaymentIntentPaymentMethodOptions { -- | card: paymentIntentPaymentMethodOptionsCard :: (GHC.Maybe.Maybe PaymentIntentPaymentMethodOptionsCard) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentPaymentMethodOptions where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "card" (paymentIntentPaymentMethodOptionsCard obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "card" (paymentIntentPaymentMethodOptionsCard obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentPaymentMethodOptions where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentPaymentMethodOptions" (\obj -> GHC.Base.pure PaymentIntentPaymentMethodOptions GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) -- | Defines the data type for the schema payment_intent_payment_method_options_card -- -- data PaymentIntentPaymentMethodOptionsCard = PaymentIntentPaymentMethodOptionsCard { -- | installments: Installment details for this payment (Mexico only). -- -- For more information, see the [installments integration guide](https:\/\/stripe.com\/docs\/payments\/installments). paymentIntentPaymentMethodOptionsCardInstallments :: (GHC.Maybe.Maybe PaymentIntentPaymentMethodOptionsCardInstallments') -- | request_three_d_secure: We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https:\/\/stripe.com\/docs\/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: \`automatic\` or \`any\`. If not provided, defaults to \`automatic\`. Read our guide on [manually requesting 3D Secure](https:\/\/stripe.com\/docs\/payments\/3d-secure\#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. , paymentIntentPaymentMethodOptionsCardRequestThreeDSecure :: (GHC.Maybe.Maybe PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentPaymentMethodOptionsCard where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "installments" (paymentIntentPaymentMethodOptionsCardInstallments obj) : (Data.Aeson..=) "request_three_d_secure" (paymentIntentPaymentMethodOptionsCardRequestThreeDSecure obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "installments" (paymentIntentPaymentMethodOptionsCardInstallments obj) GHC.Base.<> (Data.Aeson..=) "request_three_d_secure" (paymentIntentPaymentMethodOptionsCardRequestThreeDSecure obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentPaymentMethodOptionsCard where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentPaymentMethodOptionsCard" (\obj -> (GHC.Base.pure PaymentIntentPaymentMethodOptionsCard GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "installments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "request_three_d_secure")) -- | Defines the data type for the schema payment_intent_payment_method_options_cardInstallments\' -- -- Installment details for this payment (Mexico only). -- -- For more information, see the [installments integration guide](https:\\\/\\\/stripe.com\\\/docs\\\/payments\\\/installments). data PaymentIntentPaymentMethodOptionsCardInstallments' = PaymentIntentPaymentMethodOptionsCardInstallments' { -- | available_plans: Installment plans that may be selected for this PaymentIntent. paymentIntentPaymentMethodOptionsCardInstallments'AvailablePlans :: (GHC.Maybe.Maybe ([] PaymentMethodDetailsCardInstallmentsPlan)) -- | enabled: Whether Installments are enabled for this PaymentIntent. , paymentIntentPaymentMethodOptionsCardInstallments'Enabled :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | plan: Installment plan selected for this PaymentIntent. , paymentIntentPaymentMethodOptionsCardInstallments'Plan :: (GHC.Maybe.Maybe PaymentIntentPaymentMethodOptionsCardInstallments'Plan') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentPaymentMethodOptionsCardInstallments' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "available_plans" (paymentIntentPaymentMethodOptionsCardInstallments'AvailablePlans obj) : (Data.Aeson..=) "enabled" (paymentIntentPaymentMethodOptionsCardInstallments'Enabled obj) : (Data.Aeson..=) "plan" (paymentIntentPaymentMethodOptionsCardInstallments'Plan obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "available_plans" (paymentIntentPaymentMethodOptionsCardInstallments'AvailablePlans obj) GHC.Base.<> ((Data.Aeson..=) "enabled" (paymentIntentPaymentMethodOptionsCardInstallments'Enabled obj) GHC.Base.<> (Data.Aeson..=) "plan" (paymentIntentPaymentMethodOptionsCardInstallments'Plan obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentPaymentMethodOptionsCardInstallments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentPaymentMethodOptionsCardInstallments'" (\obj -> ((GHC.Base.pure PaymentIntentPaymentMethodOptionsCardInstallments' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_plans")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) -- | Defines the data type for the schema payment_intent_payment_method_options_cardInstallments\'Plan\' -- -- Installment plan selected for this PaymentIntent. data PaymentIntentPaymentMethodOptionsCardInstallments'Plan' = PaymentIntentPaymentMethodOptionsCardInstallments'Plan' { -- | count: For \`fixed_count\` installment plans, this is the number of installment payments your customer will make to their credit card. paymentIntentPaymentMethodOptionsCardInstallments'Plan'Count :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | interval: For \`fixed_count\` installment plans, this is the interval between installment payments your customer will make to their credit card. -- One of \`month\`. , paymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval :: (GHC.Maybe.Maybe PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval') -- | type: Type of installment plan, one of \`fixed_count\`. , paymentIntentPaymentMethodOptionsCardInstallments'Plan'Type :: (GHC.Maybe.Maybe PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentPaymentMethodOptionsCardInstallments'Plan' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "count" (paymentIntentPaymentMethodOptionsCardInstallments'Plan'Count obj) : (Data.Aeson..=) "interval" (paymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval obj) : (Data.Aeson..=) "type" (paymentIntentPaymentMethodOptionsCardInstallments'Plan'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "count" (paymentIntentPaymentMethodOptionsCardInstallments'Plan'Count obj) GHC.Base.<> ((Data.Aeson..=) "interval" (paymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval obj) GHC.Base.<> (Data.Aeson..=) "type" (paymentIntentPaymentMethodOptionsCardInstallments'Plan'Type obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentIntentPaymentMethodOptionsCardInstallments'Plan' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentIntentPaymentMethodOptionsCardInstallments'Plan'" (\obj -> ((GHC.Base.pure PaymentIntentPaymentMethodOptionsCardInstallments'Plan' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the enum schema payment_intent_payment_method_options_cardInstallments\'Plan\'Interval\' -- -- For \`fixed_count\` installment plans, this is the interval between installment payments your customer will make to their credit card. -- One of \`month\`. data PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval' = PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval'EnumTyped GHC.Base.String | PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval'EnumStringMonth deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval' where toJSON (PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" instance Data.Aeson.FromJSON PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval'EnumStringMonth else PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Interval'EnumOther val) -- | Defines the enum schema payment_intent_payment_method_options_cardInstallments\'Plan\'Type\' -- -- Type of installment plan, one of \`fixed_count\`. data PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type' = PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type'EnumTyped GHC.Base.String | PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type'EnumStringFixedCount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type' where toJSON (PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type'EnumStringFixedCount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fixed_count" instance Data.Aeson.FromJSON PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fixed_count") then PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type'EnumStringFixedCount else PaymentIntentPaymentMethodOptionsCardInstallments'Plan'Type'EnumOther val) -- | Defines the enum schema payment_intent_payment_method_options_cardRequest_three_d_secure\' -- -- We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https:\/\/stripe.com\/docs\/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. Permitted values include: \`automatic\` or \`any\`. If not provided, defaults to \`automatic\`. Read our guide on [manually requesting 3D Secure](https:\/\/stripe.com\/docs\/payments\/3d-secure\#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine. data PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure' = PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumOther Data.Aeson.Types.Internal.Value | PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumTyped GHC.Base.String | PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringAny | PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringAutomatic | PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringChallengeOnly deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure' where toJSON (PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringAny) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "any" toJSON (PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringAutomatic) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic" toJSON (PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringChallengeOnly) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "challenge_only" instance Data.Aeson.FromJSON PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "any") then PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringAny else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "automatic") then PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringAutomatic else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "challenge_only") then PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumStringChallengeOnly else PaymentIntentPaymentMethodOptionsCardRequestThreeDSecure'EnumOther val) -- | Defines the data type for the schema payment_method -- -- PaymentMethod objects represent your customer\'s payment instruments. -- They can be used with [PaymentIntents](https:\/\/stripe.com\/docs\/payments\/payment-intents) to collect payments or saved to -- Customer objects to store instrument details for future payments. -- -- Related guides: [Payment Methods](https:\/\/stripe.com\/docs\/payments\/payment-methods) and [More Payment Scenarios](https:\/\/stripe.com\/docs\/payments\/more-payment-scenarios). data PaymentMethod = PaymentMethod { -- | billing_details: paymentMethodBillingDetails :: BillingDetails -- | card: , paymentMethodCard :: (GHC.Maybe.Maybe PaymentMethodCard) -- | card_present: , paymentMethodCardPresent :: (GHC.Maybe.Maybe PaymentMethodCardPresent) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , paymentMethodCreated :: GHC.Integer.Type.Integer -- | customer: The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer. , paymentMethodCustomer :: (GHC.Maybe.Maybe PaymentMethodCustomer'Variants) -- | fpx: , paymentMethodFpx :: (GHC.Maybe.Maybe PaymentMethodFpx) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodId :: GHC.Base.String -- | ideal: , paymentMethodIdeal :: (GHC.Maybe.Maybe PaymentMethodIdeal) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , paymentMethodLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , paymentMethodMetadata :: PaymentMethodMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , paymentMethodObject :: PaymentMethodObject' -- | sepa_debit: , paymentMethodSepaDebit :: (GHC.Maybe.Maybe PaymentMethodSepaDebit) -- | type: The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. , paymentMethodType :: PaymentMethodType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethod where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_details" (paymentMethodBillingDetails obj) : (Data.Aeson..=) "card" (paymentMethodCard obj) : (Data.Aeson..=) "card_present" (paymentMethodCardPresent obj) : (Data.Aeson..=) "created" (paymentMethodCreated obj) : (Data.Aeson..=) "customer" (paymentMethodCustomer obj) : (Data.Aeson..=) "fpx" (paymentMethodFpx obj) : (Data.Aeson..=) "id" (paymentMethodId obj) : (Data.Aeson..=) "ideal" (paymentMethodIdeal obj) : (Data.Aeson..=) "livemode" (paymentMethodLivemode obj) : (Data.Aeson..=) "metadata" (paymentMethodMetadata obj) : (Data.Aeson..=) "object" (paymentMethodObject obj) : (Data.Aeson..=) "sepa_debit" (paymentMethodSepaDebit obj) : (Data.Aeson..=) "type" (paymentMethodType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_details" (paymentMethodBillingDetails obj) GHC.Base.<> ((Data.Aeson..=) "card" (paymentMethodCard obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (paymentMethodCardPresent obj) GHC.Base.<> ((Data.Aeson..=) "created" (paymentMethodCreated obj) GHC.Base.<> ((Data.Aeson..=) "customer" (paymentMethodCustomer obj) GHC.Base.<> ((Data.Aeson..=) "fpx" (paymentMethodFpx obj) GHC.Base.<> ((Data.Aeson..=) "id" (paymentMethodId obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (paymentMethodIdeal obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (paymentMethodLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (paymentMethodMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (paymentMethodObject obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (paymentMethodSepaDebit obj) GHC.Base.<> (Data.Aeson..=) "type" (paymentMethodType obj))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethod where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethod" (\obj -> ((((((((((((GHC.Base.pure PaymentMethod GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "billing_details")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fpx")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Define the one-of schema payment_methodCustomer\' -- -- The ID of the Customer to which this PaymentMethod is saved. This will not be set when the PaymentMethod has not been saved to a Customer. data PaymentMethodCustomer'Variants = PaymentMethodCustomer'Customer Customer | PaymentMethodCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentMethodCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentMethodCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_methodMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data PaymentMethodMetadata' = PaymentMethodMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodMetadata'" (\obj -> GHC.Base.pure PaymentMethodMetadata') -- | Defines the enum schema payment_methodObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data PaymentMethodObject' = PaymentMethodObject'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodObject'EnumTyped GHC.Base.String | PaymentMethodObject'EnumStringPaymentMethod deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodObject' where toJSON (PaymentMethodObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodObject'EnumStringPaymentMethod) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_method" instance Data.Aeson.FromJSON PaymentMethodObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payment_method") then PaymentMethodObject'EnumStringPaymentMethod else PaymentMethodObject'EnumOther val) -- | Defines the enum schema payment_methodType\' -- -- The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type. data PaymentMethodType' = PaymentMethodType'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodType'EnumTyped GHC.Base.String | PaymentMethodType'EnumStringCard | PaymentMethodType'EnumStringFpx | PaymentMethodType'EnumStringIdeal | PaymentMethodType'EnumStringSepaDebit deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodType' where toJSON (PaymentMethodType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodType'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card" toJSON (PaymentMethodType'EnumStringFpx) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fpx" toJSON (PaymentMethodType'EnumStringIdeal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal" toJSON (PaymentMethodType'EnumStringSepaDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit" instance Data.Aeson.FromJSON PaymentMethodType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card") then PaymentMethodType'EnumStringCard else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fpx") then PaymentMethodType'EnumStringFpx else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal") then PaymentMethodType'EnumStringIdeal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit") then PaymentMethodType'EnumStringSepaDebit else PaymentMethodType'EnumOther val) -- | Defines the data type for the schema payment_method_card -- -- data PaymentMethodCard = PaymentMethodCard { -- | brand: Card brand. Can be \`amex\`, \`diners\`, \`discover\`, \`jcb\`, \`mastercard\`, \`unionpay\`, \`visa\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodCardBrand :: GHC.Base.String -- | checks: Checks on Card address and CVC if provided. , paymentMethodCardChecks :: (GHC.Maybe.Maybe PaymentMethodCardChecks') -- | country: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you\'ve collected. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | exp_month: Two-digit number representing the card\'s expiration month. , paymentMethodCardExpMonth :: GHC.Integer.Type.Integer -- | exp_year: Four-digit number representing the card\'s expiration year. , paymentMethodCardExpYear :: GHC.Integer.Type.Integer -- | fingerprint: Uniquely identifies this particular card number. You can use this attribute to check whether two customers who\'ve signed up with you are using the same card number, for example. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardFingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardFunding :: GHC.Base.String -- | generated_from: Details of the original PaymentMethod that created this object. , paymentMethodCardGeneratedFrom :: (GHC.Maybe.Maybe PaymentMethodCardGeneratedFrom') -- | last4: The last four digits of the card. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardLast4 :: GHC.Base.String -- | three_d_secure_usage: Contains details on how this Card maybe be used for 3D Secure authentication. , paymentMethodCardThreeDSecureUsage :: (GHC.Maybe.Maybe PaymentMethodCardThreeDSecureUsage') -- | wallet: If this Card is part of a card wallet, this contains the details of the card wallet. , paymentMethodCardWallet :: (GHC.Maybe.Maybe PaymentMethodCardWallet') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCard where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "brand" (paymentMethodCardBrand obj) : (Data.Aeson..=) "checks" (paymentMethodCardChecks obj) : (Data.Aeson..=) "country" (paymentMethodCardCountry obj) : (Data.Aeson..=) "exp_month" (paymentMethodCardExpMonth obj) : (Data.Aeson..=) "exp_year" (paymentMethodCardExpYear obj) : (Data.Aeson..=) "fingerprint" (paymentMethodCardFingerprint obj) : (Data.Aeson..=) "funding" (paymentMethodCardFunding obj) : (Data.Aeson..=) "generated_from" (paymentMethodCardGeneratedFrom obj) : (Data.Aeson..=) "last4" (paymentMethodCardLast4 obj) : (Data.Aeson..=) "three_d_secure_usage" (paymentMethodCardThreeDSecureUsage obj) : (Data.Aeson..=) "wallet" (paymentMethodCardWallet obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "brand" (paymentMethodCardBrand obj) GHC.Base.<> ((Data.Aeson..=) "checks" (paymentMethodCardChecks obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodCardCountry obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (paymentMethodCardExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (paymentMethodCardExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (paymentMethodCardFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (paymentMethodCardFunding obj) GHC.Base.<> ((Data.Aeson..=) "generated_from" (paymentMethodCardGeneratedFrom obj) GHC.Base.<> ((Data.Aeson..=) "last4" (paymentMethodCardLast4 obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure_usage" (paymentMethodCardThreeDSecureUsage obj) GHC.Base.<> (Data.Aeson..=) "wallet" (paymentMethodCardWallet obj))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCard where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCard" (\obj -> ((((((((((GHC.Base.pure PaymentMethodCard GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "checks")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "generated_from")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wallet")) -- | Defines the data type for the schema payment_method_cardChecks\' -- -- Checks on Card address and CVC if provided. data PaymentMethodCardChecks' = PaymentMethodCardChecks' { -- | address_line1_check: If a address line1 was provided, results of the check, one of \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodCardChecks'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_postal_code_check: If a address postal code was provided, results of the check, one of \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardChecks'AddressPostalCodeCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | cvc_check: If a CVC was provided, results of the check, one of \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardChecks'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardChecks' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address_line1_check" (paymentMethodCardChecks'AddressLine1Check obj) : (Data.Aeson..=) "address_postal_code_check" (paymentMethodCardChecks'AddressPostalCodeCheck obj) : (Data.Aeson..=) "cvc_check" (paymentMethodCardChecks'CvcCheck obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address_line1_check" (paymentMethodCardChecks'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_postal_code_check" (paymentMethodCardChecks'AddressPostalCodeCheck obj) GHC.Base.<> (Data.Aeson..=) "cvc_check" (paymentMethodCardChecks'CvcCheck obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardChecks' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardChecks'" (\obj -> ((GHC.Base.pure PaymentMethodCardChecks' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_postal_code_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) -- | Defines the data type for the schema payment_method_cardGenerated_from\' -- -- Details of the original PaymentMethod that created this object. data PaymentMethodCardGeneratedFrom' = PaymentMethodCardGeneratedFrom' { -- | charge: The charge that created this object. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodCardGeneratedFrom'Charge :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_method_details: Transaction-specific details of the payment method used in the payment. , paymentMethodCardGeneratedFrom'PaymentMethodDetails :: (GHC.Maybe.Maybe PaymentMethodCardGeneratedFrom'PaymentMethodDetails') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardGeneratedFrom' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "charge" (paymentMethodCardGeneratedFrom'Charge obj) : (Data.Aeson..=) "payment_method_details" (paymentMethodCardGeneratedFrom'PaymentMethodDetails obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "charge" (paymentMethodCardGeneratedFrom'Charge obj) GHC.Base.<> (Data.Aeson..=) "payment_method_details" (paymentMethodCardGeneratedFrom'PaymentMethodDetails obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardGeneratedFrom' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardGeneratedFrom'" (\obj -> (GHC.Base.pure PaymentMethodCardGeneratedFrom' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_details")) -- | Defines the data type for the schema payment_method_cardGenerated_from\'Payment_method_details\' -- -- Transaction-specific details of the payment method used in the payment. data PaymentMethodCardGeneratedFrom'PaymentMethodDetails' = PaymentMethodCardGeneratedFrom'PaymentMethodDetails' { -- | ach_credit_transfer: paymentMethodCardGeneratedFrom'PaymentMethodDetails'AchCreditTransfer :: (GHC.Maybe.Maybe PaymentMethodDetailsAchCreditTransfer) -- | ach_debit: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'AchDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsAchDebit) -- | alipay: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Alipay :: (GHC.Maybe.Maybe PaymentMethodDetailsAlipay) -- | bancontact: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Bancontact :: (GHC.Maybe.Maybe PaymentMethodDetailsBancontact) -- | card: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Card :: (GHC.Maybe.Maybe PaymentMethodDetailsCard) -- | card_present: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'CardPresent :: (GHC.Maybe.Maybe PaymentMethodDetailsCardPresent) -- | eps: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Eps :: (GHC.Maybe.Maybe PaymentMethodDetailsEps) -- | fpx: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Fpx :: (GHC.Maybe.Maybe PaymentMethodDetailsFpx) -- | giropay: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Giropay :: (GHC.Maybe.Maybe PaymentMethodDetailsGiropay) -- | ideal: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Ideal :: (GHC.Maybe.Maybe PaymentMethodDetailsIdeal) -- | klarna: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Klarna :: (GHC.Maybe.Maybe PaymentMethodDetailsKlarna) -- | multibanco: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Multibanco :: (GHC.Maybe.Maybe PaymentMethodDetailsMultibanco) -- | p24: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'P24 :: (GHC.Maybe.Maybe PaymentMethodDetailsP24) -- | sepa_debit: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'SepaDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsSepaDebit) -- | sofort: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Sofort :: (GHC.Maybe.Maybe PaymentMethodDetailsSofort) -- | stripe_account: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'StripeAccount :: (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\`, \`alipay\`, \`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 , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Type :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat: , paymentMethodCardGeneratedFrom'PaymentMethodDetails'Wechat :: (GHC.Maybe.Maybe PaymentMethodDetailsWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardGeneratedFrom'PaymentMethodDetails' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "ach_credit_transfer" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'AchDebit obj) : (Data.Aeson..=) "alipay" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Alipay obj) : (Data.Aeson..=) "bancontact" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Bancontact obj) : (Data.Aeson..=) "card" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Card obj) : (Data.Aeson..=) "card_present" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'CardPresent obj) : (Data.Aeson..=) "eps" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Eps obj) : (Data.Aeson..=) "fpx" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Fpx obj) : (Data.Aeson..=) "giropay" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Giropay obj) : (Data.Aeson..=) "ideal" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Ideal obj) : (Data.Aeson..=) "klarna" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Klarna obj) : (Data.Aeson..=) "multibanco" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Multibanco obj) : (Data.Aeson..=) "p24" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'P24 obj) : (Data.Aeson..=) "sepa_debit" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'SepaDebit obj) : (Data.Aeson..=) "sofort" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Sofort obj) : (Data.Aeson..=) "stripe_account" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'StripeAccount obj) : (Data.Aeson..=) "type" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Type obj) : (Data.Aeson..=) "wechat" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Wechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "ach_credit_transfer" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "card" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "eps" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Eps obj) GHC.Base.<> ((Data.Aeson..=) "fpx" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Fpx obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "p24" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'P24 obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "stripe_account" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'StripeAccount obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Type obj) GHC.Base.<> (Data.Aeson..=) "wechat" (paymentMethodCardGeneratedFrom'PaymentMethodDetails'Wechat obj)))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardGeneratedFrom'PaymentMethodDetails' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardGeneratedFrom'PaymentMethodDetails'" (\obj -> (((((((((((((((((GHC.Base.pure PaymentMethodCardGeneratedFrom'PaymentMethodDetails' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fpx")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "stripe_account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Defines the data type for the schema payment_method_cardThree_d_secure_usage\' -- -- Contains details on how this Card maybe be used for 3D Secure authentication. data PaymentMethodCardThreeDSecureUsage' = PaymentMethodCardThreeDSecureUsage' { -- | supported: Whether 3D Secure is supported on this card. paymentMethodCardThreeDSecureUsage'Supported :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardThreeDSecureUsage' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "supported" (paymentMethodCardThreeDSecureUsage'Supported obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "supported" (paymentMethodCardThreeDSecureUsage'Supported obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardThreeDSecureUsage' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardThreeDSecureUsage'" (\obj -> GHC.Base.pure PaymentMethodCardThreeDSecureUsage' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "supported")) -- | Defines the data type for the schema payment_method_cardWallet\' -- -- If this Card is part of a card wallet, this contains the details of the card wallet. data PaymentMethodCardWallet' = PaymentMethodCardWallet' { -- | amex_express_checkout: paymentMethodCardWallet'AmexExpressCheckout :: (GHC.Maybe.Maybe PaymentMethodCardWalletAmexExpressCheckout) -- | apple_pay: , paymentMethodCardWallet'ApplePay :: (GHC.Maybe.Maybe PaymentMethodCardWalletApplePay) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWallet'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | google_pay: , paymentMethodCardWallet'GooglePay :: (GHC.Maybe.Maybe PaymentMethodCardWalletGooglePay) -- | masterpass: , paymentMethodCardWallet'Masterpass :: (GHC.Maybe.Maybe PaymentMethodCardWalletMasterpass) -- | samsung_pay: , paymentMethodCardWallet'SamsungPay :: (GHC.Maybe.Maybe PaymentMethodCardWalletSamsungPay) -- | type: The type of the card wallet, one of \`amex_express_checkout\`, \`apple_pay\`, \`google_pay\`, \`masterpass\`, \`samsung_pay\`, or \`visa_checkout\`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. , paymentMethodCardWallet'Type :: (GHC.Maybe.Maybe PaymentMethodCardWallet'Type') -- | visa_checkout: , paymentMethodCardWallet'VisaCheckout :: (GHC.Maybe.Maybe PaymentMethodCardWalletVisaCheckout) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWallet' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amex_express_checkout" (paymentMethodCardWallet'AmexExpressCheckout obj) : (Data.Aeson..=) "apple_pay" (paymentMethodCardWallet'ApplePay obj) : (Data.Aeson..=) "dynamic_last4" (paymentMethodCardWallet'DynamicLast4 obj) : (Data.Aeson..=) "google_pay" (paymentMethodCardWallet'GooglePay obj) : (Data.Aeson..=) "masterpass" (paymentMethodCardWallet'Masterpass obj) : (Data.Aeson..=) "samsung_pay" (paymentMethodCardWallet'SamsungPay obj) : (Data.Aeson..=) "type" (paymentMethodCardWallet'Type obj) : (Data.Aeson..=) "visa_checkout" (paymentMethodCardWallet'VisaCheckout obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amex_express_checkout" (paymentMethodCardWallet'AmexExpressCheckout obj) GHC.Base.<> ((Data.Aeson..=) "apple_pay" (paymentMethodCardWallet'ApplePay obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (paymentMethodCardWallet'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "google_pay" (paymentMethodCardWallet'GooglePay obj) GHC.Base.<> ((Data.Aeson..=) "masterpass" (paymentMethodCardWallet'Masterpass obj) GHC.Base.<> ((Data.Aeson..=) "samsung_pay" (paymentMethodCardWallet'SamsungPay obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentMethodCardWallet'Type obj) GHC.Base.<> (Data.Aeson..=) "visa_checkout" (paymentMethodCardWallet'VisaCheckout obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardWallet' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardWallet'" (\obj -> (((((((GHC.Base.pure PaymentMethodCardWallet' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amex_express_checkout")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "apple_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "google_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "masterpass")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "samsung_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "visa_checkout")) -- | Defines the enum schema payment_method_cardWallet\'Type\' -- -- The type of the card wallet, one of \`amex_express_checkout\`, \`apple_pay\`, \`google_pay\`, \`masterpass\`, \`samsung_pay\`, or \`visa_checkout\`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. data PaymentMethodCardWallet'Type' = PaymentMethodCardWallet'Type'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodCardWallet'Type'EnumTyped GHC.Base.String | PaymentMethodCardWallet'Type'EnumStringAmexExpressCheckout | PaymentMethodCardWallet'Type'EnumStringApplePay | PaymentMethodCardWallet'Type'EnumStringGooglePay | PaymentMethodCardWallet'Type'EnumStringMasterpass | PaymentMethodCardWallet'Type'EnumStringSamsungPay | PaymentMethodCardWallet'Type'EnumStringVisaCheckout deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWallet'Type' where toJSON (PaymentMethodCardWallet'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodCardWallet'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodCardWallet'Type'EnumStringAmexExpressCheckout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amex_express_checkout" toJSON (PaymentMethodCardWallet'Type'EnumStringApplePay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "apple_pay" toJSON (PaymentMethodCardWallet'Type'EnumStringGooglePay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "google_pay" toJSON (PaymentMethodCardWallet'Type'EnumStringMasterpass) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masterpass" toJSON (PaymentMethodCardWallet'Type'EnumStringSamsungPay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "samsung_pay" toJSON (PaymentMethodCardWallet'Type'EnumStringVisaCheckout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "visa_checkout" instance Data.Aeson.FromJSON PaymentMethodCardWallet'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amex_express_checkout") then PaymentMethodCardWallet'Type'EnumStringAmexExpressCheckout else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "apple_pay") then PaymentMethodCardWallet'Type'EnumStringApplePay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "google_pay") then PaymentMethodCardWallet'Type'EnumStringGooglePay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masterpass") then PaymentMethodCardWallet'Type'EnumStringMasterpass else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "samsung_pay") then PaymentMethodCardWallet'Type'EnumStringSamsungPay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "visa_checkout") then PaymentMethodCardWallet'Type'EnumStringVisaCheckout else PaymentMethodCardWallet'Type'EnumOther val) -- | Defines the data type for the schema payment_method_card_generated_card -- -- data PaymentMethodCardGeneratedCard = PaymentMethodCardGeneratedCard { -- | charge: The charge that created this object. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodCardGeneratedCardCharge :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_method_details: Transaction-specific details of the payment method used in the payment. , paymentMethodCardGeneratedCardPaymentMethodDetails :: (GHC.Maybe.Maybe PaymentMethodCardGeneratedCardPaymentMethodDetails') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardGeneratedCard where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "charge" (paymentMethodCardGeneratedCardCharge obj) : (Data.Aeson..=) "payment_method_details" (paymentMethodCardGeneratedCardPaymentMethodDetails obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "charge" (paymentMethodCardGeneratedCardCharge obj) GHC.Base.<> (Data.Aeson..=) "payment_method_details" (paymentMethodCardGeneratedCardPaymentMethodDetails obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardGeneratedCard where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardGeneratedCard" (\obj -> (GHC.Base.pure PaymentMethodCardGeneratedCard GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_details")) -- | Defines the data type for the schema payment_method_card_generated_cardPayment_method_details\' -- -- Transaction-specific details of the payment method used in the payment. data PaymentMethodCardGeneratedCardPaymentMethodDetails' = PaymentMethodCardGeneratedCardPaymentMethodDetails' { -- | ach_credit_transfer: paymentMethodCardGeneratedCardPaymentMethodDetails'AchCreditTransfer :: (GHC.Maybe.Maybe PaymentMethodDetailsAchCreditTransfer) -- | ach_debit: , paymentMethodCardGeneratedCardPaymentMethodDetails'AchDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsAchDebit) -- | alipay: , paymentMethodCardGeneratedCardPaymentMethodDetails'Alipay :: (GHC.Maybe.Maybe PaymentMethodDetailsAlipay) -- | bancontact: , paymentMethodCardGeneratedCardPaymentMethodDetails'Bancontact :: (GHC.Maybe.Maybe PaymentMethodDetailsBancontact) -- | card: , paymentMethodCardGeneratedCardPaymentMethodDetails'Card :: (GHC.Maybe.Maybe PaymentMethodDetailsCard) -- | card_present: , paymentMethodCardGeneratedCardPaymentMethodDetails'CardPresent :: (GHC.Maybe.Maybe PaymentMethodDetailsCardPresent) -- | eps: , paymentMethodCardGeneratedCardPaymentMethodDetails'Eps :: (GHC.Maybe.Maybe PaymentMethodDetailsEps) -- | fpx: , paymentMethodCardGeneratedCardPaymentMethodDetails'Fpx :: (GHC.Maybe.Maybe PaymentMethodDetailsFpx) -- | giropay: , paymentMethodCardGeneratedCardPaymentMethodDetails'Giropay :: (GHC.Maybe.Maybe PaymentMethodDetailsGiropay) -- | ideal: , paymentMethodCardGeneratedCardPaymentMethodDetails'Ideal :: (GHC.Maybe.Maybe PaymentMethodDetailsIdeal) -- | klarna: , paymentMethodCardGeneratedCardPaymentMethodDetails'Klarna :: (GHC.Maybe.Maybe PaymentMethodDetailsKlarna) -- | multibanco: , paymentMethodCardGeneratedCardPaymentMethodDetails'Multibanco :: (GHC.Maybe.Maybe PaymentMethodDetailsMultibanco) -- | p24: , paymentMethodCardGeneratedCardPaymentMethodDetails'P24 :: (GHC.Maybe.Maybe PaymentMethodDetailsP24) -- | sepa_debit: , paymentMethodCardGeneratedCardPaymentMethodDetails'SepaDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsSepaDebit) -- | sofort: , paymentMethodCardGeneratedCardPaymentMethodDetails'Sofort :: (GHC.Maybe.Maybe PaymentMethodDetailsSofort) -- | stripe_account: , paymentMethodCardGeneratedCardPaymentMethodDetails'StripeAccount :: (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\`, \`alipay\`, \`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 , paymentMethodCardGeneratedCardPaymentMethodDetails'Type :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat: , paymentMethodCardGeneratedCardPaymentMethodDetails'Wechat :: (GHC.Maybe.Maybe PaymentMethodDetailsWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardGeneratedCardPaymentMethodDetails' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "ach_credit_transfer" (paymentMethodCardGeneratedCardPaymentMethodDetails'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (paymentMethodCardGeneratedCardPaymentMethodDetails'AchDebit obj) : (Data.Aeson..=) "alipay" (paymentMethodCardGeneratedCardPaymentMethodDetails'Alipay obj) : (Data.Aeson..=) "bancontact" (paymentMethodCardGeneratedCardPaymentMethodDetails'Bancontact obj) : (Data.Aeson..=) "card" (paymentMethodCardGeneratedCardPaymentMethodDetails'Card obj) : (Data.Aeson..=) "card_present" (paymentMethodCardGeneratedCardPaymentMethodDetails'CardPresent obj) : (Data.Aeson..=) "eps" (paymentMethodCardGeneratedCardPaymentMethodDetails'Eps obj) : (Data.Aeson..=) "fpx" (paymentMethodCardGeneratedCardPaymentMethodDetails'Fpx obj) : (Data.Aeson..=) "giropay" (paymentMethodCardGeneratedCardPaymentMethodDetails'Giropay obj) : (Data.Aeson..=) "ideal" (paymentMethodCardGeneratedCardPaymentMethodDetails'Ideal obj) : (Data.Aeson..=) "klarna" (paymentMethodCardGeneratedCardPaymentMethodDetails'Klarna obj) : (Data.Aeson..=) "multibanco" (paymentMethodCardGeneratedCardPaymentMethodDetails'Multibanco obj) : (Data.Aeson..=) "p24" (paymentMethodCardGeneratedCardPaymentMethodDetails'P24 obj) : (Data.Aeson..=) "sepa_debit" (paymentMethodCardGeneratedCardPaymentMethodDetails'SepaDebit obj) : (Data.Aeson..=) "sofort" (paymentMethodCardGeneratedCardPaymentMethodDetails'Sofort obj) : (Data.Aeson..=) "stripe_account" (paymentMethodCardGeneratedCardPaymentMethodDetails'StripeAccount obj) : (Data.Aeson..=) "type" (paymentMethodCardGeneratedCardPaymentMethodDetails'Type obj) : (Data.Aeson..=) "wechat" (paymentMethodCardGeneratedCardPaymentMethodDetails'Wechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "ach_credit_transfer" (paymentMethodCardGeneratedCardPaymentMethodDetails'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (paymentMethodCardGeneratedCardPaymentMethodDetails'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (paymentMethodCardGeneratedCardPaymentMethodDetails'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (paymentMethodCardGeneratedCardPaymentMethodDetails'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "card" (paymentMethodCardGeneratedCardPaymentMethodDetails'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (paymentMethodCardGeneratedCardPaymentMethodDetails'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "eps" (paymentMethodCardGeneratedCardPaymentMethodDetails'Eps obj) GHC.Base.<> ((Data.Aeson..=) "fpx" (paymentMethodCardGeneratedCardPaymentMethodDetails'Fpx obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (paymentMethodCardGeneratedCardPaymentMethodDetails'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (paymentMethodCardGeneratedCardPaymentMethodDetails'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (paymentMethodCardGeneratedCardPaymentMethodDetails'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (paymentMethodCardGeneratedCardPaymentMethodDetails'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "p24" (paymentMethodCardGeneratedCardPaymentMethodDetails'P24 obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (paymentMethodCardGeneratedCardPaymentMethodDetails'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (paymentMethodCardGeneratedCardPaymentMethodDetails'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "stripe_account" (paymentMethodCardGeneratedCardPaymentMethodDetails'StripeAccount obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentMethodCardGeneratedCardPaymentMethodDetails'Type obj) GHC.Base.<> (Data.Aeson..=) "wechat" (paymentMethodCardGeneratedCardPaymentMethodDetails'Wechat obj)))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardGeneratedCardPaymentMethodDetails' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardGeneratedCardPaymentMethodDetails'" (\obj -> (((((((((((((((((GHC.Base.pure PaymentMethodCardGeneratedCardPaymentMethodDetails' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fpx")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "stripe_account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Defines the data type for the schema payment_method_card_wallet -- -- data PaymentMethodCardWallet = PaymentMethodCardWallet { -- | amex_express_checkout: paymentMethodCardWalletAmexExpressCheckout :: (GHC.Maybe.Maybe PaymentMethodCardWalletAmexExpressCheckout) -- | apple_pay: , paymentMethodCardWalletApplePay :: (GHC.Maybe.Maybe PaymentMethodCardWalletApplePay) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletDynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | google_pay: , paymentMethodCardWalletGooglePay :: (GHC.Maybe.Maybe PaymentMethodCardWalletGooglePay) -- | masterpass: , paymentMethodCardWalletMasterpass :: (GHC.Maybe.Maybe PaymentMethodCardWalletMasterpass) -- | samsung_pay: , paymentMethodCardWalletSamsungPay :: (GHC.Maybe.Maybe PaymentMethodCardWalletSamsungPay) -- | type: The type of the card wallet, one of \`amex_express_checkout\`, \`apple_pay\`, \`google_pay\`, \`masterpass\`, \`samsung_pay\`, or \`visa_checkout\`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. , paymentMethodCardWalletType :: PaymentMethodCardWalletType' -- | visa_checkout: , paymentMethodCardWalletVisaCheckout :: (GHC.Maybe.Maybe PaymentMethodCardWalletVisaCheckout) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWallet where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amex_express_checkout" (paymentMethodCardWalletAmexExpressCheckout obj) : (Data.Aeson..=) "apple_pay" (paymentMethodCardWalletApplePay obj) : (Data.Aeson..=) "dynamic_last4" (paymentMethodCardWalletDynamicLast4 obj) : (Data.Aeson..=) "google_pay" (paymentMethodCardWalletGooglePay obj) : (Data.Aeson..=) "masterpass" (paymentMethodCardWalletMasterpass obj) : (Data.Aeson..=) "samsung_pay" (paymentMethodCardWalletSamsungPay obj) : (Data.Aeson..=) "type" (paymentMethodCardWalletType obj) : (Data.Aeson..=) "visa_checkout" (paymentMethodCardWalletVisaCheckout obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amex_express_checkout" (paymentMethodCardWalletAmexExpressCheckout obj) GHC.Base.<> ((Data.Aeson..=) "apple_pay" (paymentMethodCardWalletApplePay obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (paymentMethodCardWalletDynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "google_pay" (paymentMethodCardWalletGooglePay obj) GHC.Base.<> ((Data.Aeson..=) "masterpass" (paymentMethodCardWalletMasterpass obj) GHC.Base.<> ((Data.Aeson..=) "samsung_pay" (paymentMethodCardWalletSamsungPay obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentMethodCardWalletType obj) GHC.Base.<> (Data.Aeson..=) "visa_checkout" (paymentMethodCardWalletVisaCheckout obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardWallet where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardWallet" (\obj -> (((((((GHC.Base.pure PaymentMethodCardWallet GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amex_express_checkout")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "apple_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "google_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "masterpass")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "samsung_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "visa_checkout")) -- | Defines the enum schema payment_method_card_walletType\' -- -- The type of the card wallet, one of \`amex_express_checkout\`, \`apple_pay\`, \`google_pay\`, \`masterpass\`, \`samsung_pay\`, or \`visa_checkout\`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. data PaymentMethodCardWalletType' = PaymentMethodCardWalletType'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodCardWalletType'EnumTyped GHC.Base.String | PaymentMethodCardWalletType'EnumStringAmexExpressCheckout | PaymentMethodCardWalletType'EnumStringApplePay | PaymentMethodCardWalletType'EnumStringGooglePay | PaymentMethodCardWalletType'EnumStringMasterpass | PaymentMethodCardWalletType'EnumStringSamsungPay | PaymentMethodCardWalletType'EnumStringVisaCheckout deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWalletType' where toJSON (PaymentMethodCardWalletType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodCardWalletType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodCardWalletType'EnumStringAmexExpressCheckout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amex_express_checkout" toJSON (PaymentMethodCardWalletType'EnumStringApplePay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "apple_pay" toJSON (PaymentMethodCardWalletType'EnumStringGooglePay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "google_pay" toJSON (PaymentMethodCardWalletType'EnumStringMasterpass) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masterpass" toJSON (PaymentMethodCardWalletType'EnumStringSamsungPay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "samsung_pay" toJSON (PaymentMethodCardWalletType'EnumStringVisaCheckout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "visa_checkout" instance Data.Aeson.FromJSON PaymentMethodCardWalletType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amex_express_checkout") then PaymentMethodCardWalletType'EnumStringAmexExpressCheckout else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "apple_pay") then PaymentMethodCardWalletType'EnumStringApplePay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "google_pay") then PaymentMethodCardWalletType'EnumStringGooglePay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masterpass") then PaymentMethodCardWalletType'EnumStringMasterpass else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "samsung_pay") then PaymentMethodCardWalletType'EnumStringSamsungPay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "visa_checkout") then PaymentMethodCardWalletType'EnumStringVisaCheckout else PaymentMethodCardWalletType'EnumOther val) -- | Defines the data type for the schema payment_method_card_wallet_masterpass -- -- data PaymentMethodCardWalletMasterpass = PaymentMethodCardWalletMasterpass { -- | billing_address: Owner\'s verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. paymentMethodCardWalletMasterpassBillingAddress :: (GHC.Maybe.Maybe PaymentMethodCardWalletMasterpassBillingAddress') -- | email: Owner\'s verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassName :: (GHC.Maybe.Maybe GHC.Base.String) -- | shipping_address: Owner\'s verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. , paymentMethodCardWalletMasterpassShippingAddress :: (GHC.Maybe.Maybe PaymentMethodCardWalletMasterpassShippingAddress') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWalletMasterpass where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_address" (paymentMethodCardWalletMasterpassBillingAddress obj) : (Data.Aeson..=) "email" (paymentMethodCardWalletMasterpassEmail obj) : (Data.Aeson..=) "name" (paymentMethodCardWalletMasterpassName obj) : (Data.Aeson..=) "shipping_address" (paymentMethodCardWalletMasterpassShippingAddress obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_address" (paymentMethodCardWalletMasterpassBillingAddress obj) GHC.Base.<> ((Data.Aeson..=) "email" (paymentMethodCardWalletMasterpassEmail obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentMethodCardWalletMasterpassName obj) GHC.Base.<> (Data.Aeson..=) "shipping_address" (paymentMethodCardWalletMasterpassShippingAddress obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardWalletMasterpass where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardWalletMasterpass" (\obj -> (((GHC.Base.pure PaymentMethodCardWalletMasterpass GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_address")) -- | Defines the data type for the schema payment_method_card_wallet_masterpassBilling_address\' -- -- Owner\\\'s verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentMethodCardWalletMasterpassBillingAddress' = PaymentMethodCardWalletMasterpassBillingAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodCardWalletMasterpassBillingAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassBillingAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassBillingAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassBillingAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassBillingAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassBillingAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWalletMasterpassBillingAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentMethodCardWalletMasterpassBillingAddress'City obj) : (Data.Aeson..=) "country" (paymentMethodCardWalletMasterpassBillingAddress'Country obj) : (Data.Aeson..=) "line1" (paymentMethodCardWalletMasterpassBillingAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentMethodCardWalletMasterpassBillingAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentMethodCardWalletMasterpassBillingAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentMethodCardWalletMasterpassBillingAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentMethodCardWalletMasterpassBillingAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodCardWalletMasterpassBillingAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentMethodCardWalletMasterpassBillingAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentMethodCardWalletMasterpassBillingAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentMethodCardWalletMasterpassBillingAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentMethodCardWalletMasterpassBillingAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardWalletMasterpassBillingAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardWalletMasterpassBillingAddress'" (\obj -> (((((GHC.Base.pure PaymentMethodCardWalletMasterpassBillingAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_method_card_wallet_masterpassShipping_address\' -- -- Owner\\\'s verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentMethodCardWalletMasterpassShippingAddress' = PaymentMethodCardWalletMasterpassShippingAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodCardWalletMasterpassShippingAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassShippingAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassShippingAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassShippingAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassShippingAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletMasterpassShippingAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWalletMasterpassShippingAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentMethodCardWalletMasterpassShippingAddress'City obj) : (Data.Aeson..=) "country" (paymentMethodCardWalletMasterpassShippingAddress'Country obj) : (Data.Aeson..=) "line1" (paymentMethodCardWalletMasterpassShippingAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentMethodCardWalletMasterpassShippingAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentMethodCardWalletMasterpassShippingAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentMethodCardWalletMasterpassShippingAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentMethodCardWalletMasterpassShippingAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodCardWalletMasterpassShippingAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentMethodCardWalletMasterpassShippingAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentMethodCardWalletMasterpassShippingAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentMethodCardWalletMasterpassShippingAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentMethodCardWalletMasterpassShippingAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardWalletMasterpassShippingAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardWalletMasterpassShippingAddress'" (\obj -> (((((GHC.Base.pure PaymentMethodCardWalletMasterpassShippingAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_method_card_wallet_visa_checkout -- -- data PaymentMethodCardWalletVisaCheckout = PaymentMethodCardWalletVisaCheckout { -- | billing_address: Owner\'s verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. paymentMethodCardWalletVisaCheckoutBillingAddress :: (GHC.Maybe.Maybe PaymentMethodCardWalletVisaCheckoutBillingAddress') -- | email: Owner\'s verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutName :: (GHC.Maybe.Maybe GHC.Base.String) -- | shipping_address: Owner\'s verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. , paymentMethodCardWalletVisaCheckoutShippingAddress :: (GHC.Maybe.Maybe PaymentMethodCardWalletVisaCheckoutShippingAddress') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWalletVisaCheckout where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_address" (paymentMethodCardWalletVisaCheckoutBillingAddress obj) : (Data.Aeson..=) "email" (paymentMethodCardWalletVisaCheckoutEmail obj) : (Data.Aeson..=) "name" (paymentMethodCardWalletVisaCheckoutName obj) : (Data.Aeson..=) "shipping_address" (paymentMethodCardWalletVisaCheckoutShippingAddress obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_address" (paymentMethodCardWalletVisaCheckoutBillingAddress obj) GHC.Base.<> ((Data.Aeson..=) "email" (paymentMethodCardWalletVisaCheckoutEmail obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentMethodCardWalletVisaCheckoutName obj) GHC.Base.<> (Data.Aeson..=) "shipping_address" (paymentMethodCardWalletVisaCheckoutShippingAddress obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardWalletVisaCheckout where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardWalletVisaCheckout" (\obj -> (((GHC.Base.pure PaymentMethodCardWalletVisaCheckout GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_address")) -- | Defines the data type for the schema payment_method_card_wallet_visa_checkoutBilling_address\' -- -- Owner\\\'s verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentMethodCardWalletVisaCheckoutBillingAddress' = PaymentMethodCardWalletVisaCheckoutBillingAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodCardWalletVisaCheckoutBillingAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutBillingAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutBillingAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutBillingAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutBillingAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutBillingAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWalletVisaCheckoutBillingAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentMethodCardWalletVisaCheckoutBillingAddress'City obj) : (Data.Aeson..=) "country" (paymentMethodCardWalletVisaCheckoutBillingAddress'Country obj) : (Data.Aeson..=) "line1" (paymentMethodCardWalletVisaCheckoutBillingAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentMethodCardWalletVisaCheckoutBillingAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentMethodCardWalletVisaCheckoutBillingAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentMethodCardWalletVisaCheckoutBillingAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentMethodCardWalletVisaCheckoutBillingAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodCardWalletVisaCheckoutBillingAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentMethodCardWalletVisaCheckoutBillingAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentMethodCardWalletVisaCheckoutBillingAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentMethodCardWalletVisaCheckoutBillingAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentMethodCardWalletVisaCheckoutBillingAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardWalletVisaCheckoutBillingAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardWalletVisaCheckoutBillingAddress'" (\obj -> (((((GHC.Base.pure PaymentMethodCardWalletVisaCheckoutBillingAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_method_card_wallet_visa_checkoutShipping_address\' -- -- Owner\\\'s verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentMethodCardWalletVisaCheckoutShippingAddress' = PaymentMethodCardWalletVisaCheckoutShippingAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodCardWalletVisaCheckoutShippingAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutShippingAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutShippingAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutShippingAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutShippingAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodCardWalletVisaCheckoutShippingAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodCardWalletVisaCheckoutShippingAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentMethodCardWalletVisaCheckoutShippingAddress'City obj) : (Data.Aeson..=) "country" (paymentMethodCardWalletVisaCheckoutShippingAddress'Country obj) : (Data.Aeson..=) "line1" (paymentMethodCardWalletVisaCheckoutShippingAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentMethodCardWalletVisaCheckoutShippingAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentMethodCardWalletVisaCheckoutShippingAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentMethodCardWalletVisaCheckoutShippingAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentMethodCardWalletVisaCheckoutShippingAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodCardWalletVisaCheckoutShippingAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentMethodCardWalletVisaCheckoutShippingAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentMethodCardWalletVisaCheckoutShippingAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentMethodCardWalletVisaCheckoutShippingAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentMethodCardWalletVisaCheckoutShippingAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodCardWalletVisaCheckoutShippingAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodCardWalletVisaCheckoutShippingAddress'" (\obj -> (((((GHC.Base.pure PaymentMethodCardWalletVisaCheckoutShippingAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_method_details -- -- data PaymentMethodDetails = PaymentMethodDetails { -- | ach_credit_transfer: paymentMethodDetailsAchCreditTransfer :: (GHC.Maybe.Maybe PaymentMethodDetailsAchCreditTransfer) -- | ach_debit: , paymentMethodDetailsAchDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsAchDebit) -- | alipay: , paymentMethodDetailsAlipay :: (GHC.Maybe.Maybe PaymentMethodDetailsAlipay) -- | bancontact: , paymentMethodDetailsBancontact :: (GHC.Maybe.Maybe PaymentMethodDetailsBancontact) -- | card: , paymentMethodDetailsCard :: (GHC.Maybe.Maybe PaymentMethodDetailsCard) -- | card_present: , paymentMethodDetailsCardPresent :: (GHC.Maybe.Maybe PaymentMethodDetailsCardPresent) -- | eps: , paymentMethodDetailsEps :: (GHC.Maybe.Maybe PaymentMethodDetailsEps) -- | fpx: , paymentMethodDetailsFpx :: (GHC.Maybe.Maybe PaymentMethodDetailsFpx) -- | giropay: , paymentMethodDetailsGiropay :: (GHC.Maybe.Maybe PaymentMethodDetailsGiropay) -- | ideal: , paymentMethodDetailsIdeal :: (GHC.Maybe.Maybe PaymentMethodDetailsIdeal) -- | klarna: , paymentMethodDetailsKlarna :: (GHC.Maybe.Maybe PaymentMethodDetailsKlarna) -- | multibanco: , paymentMethodDetailsMultibanco :: (GHC.Maybe.Maybe PaymentMethodDetailsMultibanco) -- | p24: , paymentMethodDetailsP24 :: (GHC.Maybe.Maybe PaymentMethodDetailsP24) -- | sepa_debit: , paymentMethodDetailsSepaDebit :: (GHC.Maybe.Maybe PaymentMethodDetailsSepaDebit) -- | sofort: , paymentMethodDetailsSofort :: (GHC.Maybe.Maybe PaymentMethodDetailsSofort) -- | stripe_account: , 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\`, \`alipay\`, \`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 , paymentMethodDetailsType :: GHC.Base.String -- | wechat: , paymentMethodDetailsWechat :: (GHC.Maybe.Maybe PaymentMethodDetailsWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetails where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "ach_credit_transfer" (paymentMethodDetailsAchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (paymentMethodDetailsAchDebit obj) : (Data.Aeson..=) "alipay" (paymentMethodDetailsAlipay obj) : (Data.Aeson..=) "bancontact" (paymentMethodDetailsBancontact obj) : (Data.Aeson..=) "card" (paymentMethodDetailsCard obj) : (Data.Aeson..=) "card_present" (paymentMethodDetailsCardPresent obj) : (Data.Aeson..=) "eps" (paymentMethodDetailsEps obj) : (Data.Aeson..=) "fpx" (paymentMethodDetailsFpx obj) : (Data.Aeson..=) "giropay" (paymentMethodDetailsGiropay obj) : (Data.Aeson..=) "ideal" (paymentMethodDetailsIdeal obj) : (Data.Aeson..=) "klarna" (paymentMethodDetailsKlarna obj) : (Data.Aeson..=) "multibanco" (paymentMethodDetailsMultibanco obj) : (Data.Aeson..=) "p24" (paymentMethodDetailsP24 obj) : (Data.Aeson..=) "sepa_debit" (paymentMethodDetailsSepaDebit obj) : (Data.Aeson..=) "sofort" (paymentMethodDetailsSofort obj) : (Data.Aeson..=) "stripe_account" (paymentMethodDetailsStripeAccount obj) : (Data.Aeson..=) "type" (paymentMethodDetailsType obj) : (Data.Aeson..=) "wechat" (paymentMethodDetailsWechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "ach_credit_transfer" (paymentMethodDetailsAchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (paymentMethodDetailsAchDebit obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (paymentMethodDetailsAlipay obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (paymentMethodDetailsBancontact obj) GHC.Base.<> ((Data.Aeson..=) "card" (paymentMethodDetailsCard obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (paymentMethodDetailsCardPresent obj) GHC.Base.<> ((Data.Aeson..=) "eps" (paymentMethodDetailsEps obj) GHC.Base.<> ((Data.Aeson..=) "fpx" (paymentMethodDetailsFpx obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (paymentMethodDetailsGiropay obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (paymentMethodDetailsIdeal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (paymentMethodDetailsKlarna obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (paymentMethodDetailsMultibanco obj) GHC.Base.<> ((Data.Aeson..=) "p24" (paymentMethodDetailsP24 obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (paymentMethodDetailsSepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (paymentMethodDetailsSofort obj) GHC.Base.<> ((Data.Aeson..=) "stripe_account" (paymentMethodDetailsStripeAccount obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentMethodDetailsType obj) GHC.Base.<> (Data.Aeson..=) "wechat" (paymentMethodDetailsWechat obj)))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetails where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetails" (\obj -> (((((((((((((((((GHC.Base.pure PaymentMethodDetails GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fpx")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "stripe_account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Defines the data type for the schema payment_method_details_card -- -- data PaymentMethodDetailsCard = PaymentMethodDetailsCard { -- | brand: Card brand. Can be \`amex\`, \`diners\`, \`discover\`, \`jcb\`, \`mastercard\`, \`unionpay\`, \`visa\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodDetailsCardBrand :: (GHC.Maybe.Maybe GHC.Base.String) -- | checks: Check results by Card networks on Card address and CVC at time of payment. , paymentMethodDetailsCardChecks :: (GHC.Maybe.Maybe PaymentMethodDetailsCardChecks') -- | country: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you\'ve collected. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | exp_month: Two-digit number representing the card\'s expiration month. , paymentMethodDetailsCardExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , paymentMethodDetailsCardExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fingerprint: Uniquely identifies this particular card number. You can use this attribute to check whether two customers who\'ve signed up with you are using the same card number, for example. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardFingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardFunding :: (GHC.Maybe.Maybe GHC.Base.String) -- | installments: Installment details for this payment (Mexico only). -- -- For more information, see the [installments integration guide](https:\/\/stripe.com\/docs\/payments\/installments). , paymentMethodDetailsCardInstallments :: (GHC.Maybe.Maybe PaymentMethodDetailsCardInstallments') -- | last4: The last four digits of the card. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | network: Identifies which network this charge was processed on. Can be \`amex\`, \`diners\`, \`discover\`, \`interac\`, \`jcb\`, \`mastercard\`, \`unionpay\`, \`visa\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardNetwork :: (GHC.Maybe.Maybe GHC.Base.String) -- | three_d_secure: Populated if this transaction used 3D Secure authentication. , paymentMethodDetailsCardThreeDSecure :: (GHC.Maybe.Maybe PaymentMethodDetailsCardThreeDSecure') -- | wallet: If this Card is part of a card wallet, this contains the details of the card wallet. , paymentMethodDetailsCardWallet :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWallet') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCard where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "brand" (paymentMethodDetailsCardBrand obj) : (Data.Aeson..=) "checks" (paymentMethodDetailsCardChecks obj) : (Data.Aeson..=) "country" (paymentMethodDetailsCardCountry obj) : (Data.Aeson..=) "exp_month" (paymentMethodDetailsCardExpMonth obj) : (Data.Aeson..=) "exp_year" (paymentMethodDetailsCardExpYear obj) : (Data.Aeson..=) "fingerprint" (paymentMethodDetailsCardFingerprint obj) : (Data.Aeson..=) "funding" (paymentMethodDetailsCardFunding obj) : (Data.Aeson..=) "installments" (paymentMethodDetailsCardInstallments obj) : (Data.Aeson..=) "last4" (paymentMethodDetailsCardLast4 obj) : (Data.Aeson..=) "network" (paymentMethodDetailsCardNetwork obj) : (Data.Aeson..=) "three_d_secure" (paymentMethodDetailsCardThreeDSecure obj) : (Data.Aeson..=) "wallet" (paymentMethodDetailsCardWallet obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "brand" (paymentMethodDetailsCardBrand obj) GHC.Base.<> ((Data.Aeson..=) "checks" (paymentMethodDetailsCardChecks obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodDetailsCardCountry obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (paymentMethodDetailsCardExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (paymentMethodDetailsCardExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (paymentMethodDetailsCardFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (paymentMethodDetailsCardFunding obj) GHC.Base.<> ((Data.Aeson..=) "installments" (paymentMethodDetailsCardInstallments obj) GHC.Base.<> ((Data.Aeson..=) "last4" (paymentMethodDetailsCardLast4 obj) GHC.Base.<> ((Data.Aeson..=) "network" (paymentMethodDetailsCardNetwork obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (paymentMethodDetailsCardThreeDSecure obj) GHC.Base.<> (Data.Aeson..=) "wallet" (paymentMethodDetailsCardWallet obj)))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCard where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCard" (\obj -> (((((((((((GHC.Base.pure PaymentMethodDetailsCard GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "checks")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "installments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "network")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wallet")) -- | Defines the data type for the schema payment_method_details_cardChecks\' -- -- Check results by Card networks on Card address and CVC at time of payment. data PaymentMethodDetailsCardChecks' = PaymentMethodDetailsCardChecks' { -- | address_line1_check: If a address line1 was provided, results of the check, one of \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodDetailsCardChecks'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_postal_code_check: If a address postal code was provided, results of the check, one of \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardChecks'AddressPostalCodeCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | cvc_check: If a CVC was provided, results of the check, one of \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardChecks'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardChecks' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address_line1_check" (paymentMethodDetailsCardChecks'AddressLine1Check obj) : (Data.Aeson..=) "address_postal_code_check" (paymentMethodDetailsCardChecks'AddressPostalCodeCheck obj) : (Data.Aeson..=) "cvc_check" (paymentMethodDetailsCardChecks'CvcCheck obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address_line1_check" (paymentMethodDetailsCardChecks'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_postal_code_check" (paymentMethodDetailsCardChecks'AddressPostalCodeCheck obj) GHC.Base.<> (Data.Aeson..=) "cvc_check" (paymentMethodDetailsCardChecks'CvcCheck obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardChecks' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardChecks'" (\obj -> ((GHC.Base.pure PaymentMethodDetailsCardChecks' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_postal_code_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) -- | Defines the data type for the schema payment_method_details_cardInstallments\' -- -- Installment details for this payment (Mexico only). -- -- For more information, see the [installments integration guide](https:\\\/\\\/stripe.com\\\/docs\\\/payments\\\/installments). data PaymentMethodDetailsCardInstallments' = PaymentMethodDetailsCardInstallments' { -- | plan: Installment plan selected for the payment. paymentMethodDetailsCardInstallments'Plan :: (GHC.Maybe.Maybe PaymentMethodDetailsCardInstallments'Plan') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardInstallments' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "plan" (paymentMethodDetailsCardInstallments'Plan obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "plan" (paymentMethodDetailsCardInstallments'Plan obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardInstallments' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardInstallments'" (\obj -> GHC.Base.pure PaymentMethodDetailsCardInstallments' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) -- | Defines the data type for the schema payment_method_details_cardInstallments\'Plan\' -- -- Installment plan selected for the payment. data PaymentMethodDetailsCardInstallments'Plan' = PaymentMethodDetailsCardInstallments'Plan' { -- | count: For \`fixed_count\` installment plans, this is the number of installment payments your customer will make to their credit card. paymentMethodDetailsCardInstallments'Plan'Count :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | interval: For \`fixed_count\` installment plans, this is the interval between installment payments your customer will make to their credit card. -- One of \`month\`. , paymentMethodDetailsCardInstallments'Plan'Interval :: (GHC.Maybe.Maybe PaymentMethodDetailsCardInstallments'Plan'Interval') -- | type: Type of installment plan, one of \`fixed_count\`. , paymentMethodDetailsCardInstallments'Plan'Type :: (GHC.Maybe.Maybe PaymentMethodDetailsCardInstallments'Plan'Type') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardInstallments'Plan' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "count" (paymentMethodDetailsCardInstallments'Plan'Count obj) : (Data.Aeson..=) "interval" (paymentMethodDetailsCardInstallments'Plan'Interval obj) : (Data.Aeson..=) "type" (paymentMethodDetailsCardInstallments'Plan'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "count" (paymentMethodDetailsCardInstallments'Plan'Count obj) GHC.Base.<> ((Data.Aeson..=) "interval" (paymentMethodDetailsCardInstallments'Plan'Interval obj) GHC.Base.<> (Data.Aeson..=) "type" (paymentMethodDetailsCardInstallments'Plan'Type obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardInstallments'Plan' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardInstallments'Plan'" (\obj -> ((GHC.Base.pure PaymentMethodDetailsCardInstallments'Plan' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the enum schema payment_method_details_cardInstallments\'Plan\'Interval\' -- -- For \`fixed_count\` installment plans, this is the interval between installment payments your customer will make to their credit card. -- One of \`month\`. data PaymentMethodDetailsCardInstallments'Plan'Interval' = PaymentMethodDetailsCardInstallments'Plan'Interval'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodDetailsCardInstallments'Plan'Interval'EnumTyped GHC.Base.String | PaymentMethodDetailsCardInstallments'Plan'Interval'EnumStringMonth deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardInstallments'Plan'Interval' where toJSON (PaymentMethodDetailsCardInstallments'Plan'Interval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardInstallments'Plan'Interval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardInstallments'Plan'Interval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" instance Data.Aeson.FromJSON PaymentMethodDetailsCardInstallments'Plan'Interval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then PaymentMethodDetailsCardInstallments'Plan'Interval'EnumStringMonth else PaymentMethodDetailsCardInstallments'Plan'Interval'EnumOther val) -- | Defines the enum schema payment_method_details_cardInstallments\'Plan\'Type\' -- -- Type of installment plan, one of \`fixed_count\`. data PaymentMethodDetailsCardInstallments'Plan'Type' = PaymentMethodDetailsCardInstallments'Plan'Type'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodDetailsCardInstallments'Plan'Type'EnumTyped GHC.Base.String | PaymentMethodDetailsCardInstallments'Plan'Type'EnumStringFixedCount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardInstallments'Plan'Type' where toJSON (PaymentMethodDetailsCardInstallments'Plan'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardInstallments'Plan'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardInstallments'Plan'Type'EnumStringFixedCount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fixed_count" instance Data.Aeson.FromJSON PaymentMethodDetailsCardInstallments'Plan'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fixed_count") then PaymentMethodDetailsCardInstallments'Plan'Type'EnumStringFixedCount else PaymentMethodDetailsCardInstallments'Plan'Type'EnumOther val) -- | Defines the data type for the schema payment_method_details_cardThree_d_secure\' -- -- Populated if this transaction used 3D Secure authentication. data PaymentMethodDetailsCardThreeDSecure' = PaymentMethodDetailsCardThreeDSecure' { -- | authenticated: Whether or not authentication was performed. 3D Secure will succeed without authentication when the card is not enrolled. paymentMethodDetailsCardThreeDSecure'Authenticated :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | succeeded: Whether or not 3D Secure succeeded. , paymentMethodDetailsCardThreeDSecure'Succeeded :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | version: The version of 3D Secure that was used for this payment. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardThreeDSecure'Version :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardThreeDSecure' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "authenticated" (paymentMethodDetailsCardThreeDSecure'Authenticated obj) : (Data.Aeson..=) "succeeded" (paymentMethodDetailsCardThreeDSecure'Succeeded obj) : (Data.Aeson..=) "version" (paymentMethodDetailsCardThreeDSecure'Version obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "authenticated" (paymentMethodDetailsCardThreeDSecure'Authenticated obj) GHC.Base.<> ((Data.Aeson..=) "succeeded" (paymentMethodDetailsCardThreeDSecure'Succeeded obj) GHC.Base.<> (Data.Aeson..=) "version" (paymentMethodDetailsCardThreeDSecure'Version obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardThreeDSecure' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardThreeDSecure'" (\obj -> ((GHC.Base.pure PaymentMethodDetailsCardThreeDSecure' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "authenticated")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "succeeded")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "version")) -- | Defines the data type for the schema payment_method_details_cardWallet\' -- -- If this Card is part of a card wallet, this contains the details of the card wallet. data PaymentMethodDetailsCardWallet' = PaymentMethodDetailsCardWallet' { -- | amex_express_checkout: paymentMethodDetailsCardWallet'AmexExpressCheckout :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletAmexExpressCheckout) -- | apple_pay: , paymentMethodDetailsCardWallet'ApplePay :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletApplePay) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWallet'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | google_pay: , paymentMethodDetailsCardWallet'GooglePay :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletGooglePay) -- | masterpass: , paymentMethodDetailsCardWallet'Masterpass :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletMasterpass) -- | samsung_pay: , paymentMethodDetailsCardWallet'SamsungPay :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletSamsungPay) -- | type: The type of the card wallet, one of \`amex_express_checkout\`, \`apple_pay\`, \`google_pay\`, \`masterpass\`, \`samsung_pay\`, or \`visa_checkout\`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. , paymentMethodDetailsCardWallet'Type :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWallet'Type') -- | visa_checkout: , paymentMethodDetailsCardWallet'VisaCheckout :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletVisaCheckout) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWallet' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amex_express_checkout" (paymentMethodDetailsCardWallet'AmexExpressCheckout obj) : (Data.Aeson..=) "apple_pay" (paymentMethodDetailsCardWallet'ApplePay obj) : (Data.Aeson..=) "dynamic_last4" (paymentMethodDetailsCardWallet'DynamicLast4 obj) : (Data.Aeson..=) "google_pay" (paymentMethodDetailsCardWallet'GooglePay obj) : (Data.Aeson..=) "masterpass" (paymentMethodDetailsCardWallet'Masterpass obj) : (Data.Aeson..=) "samsung_pay" (paymentMethodDetailsCardWallet'SamsungPay obj) : (Data.Aeson..=) "type" (paymentMethodDetailsCardWallet'Type obj) : (Data.Aeson..=) "visa_checkout" (paymentMethodDetailsCardWallet'VisaCheckout obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amex_express_checkout" (paymentMethodDetailsCardWallet'AmexExpressCheckout obj) GHC.Base.<> ((Data.Aeson..=) "apple_pay" (paymentMethodDetailsCardWallet'ApplePay obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (paymentMethodDetailsCardWallet'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "google_pay" (paymentMethodDetailsCardWallet'GooglePay obj) GHC.Base.<> ((Data.Aeson..=) "masterpass" (paymentMethodDetailsCardWallet'Masterpass obj) GHC.Base.<> ((Data.Aeson..=) "samsung_pay" (paymentMethodDetailsCardWallet'SamsungPay obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentMethodDetailsCardWallet'Type obj) GHC.Base.<> (Data.Aeson..=) "visa_checkout" (paymentMethodDetailsCardWallet'VisaCheckout obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardWallet' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardWallet'" (\obj -> (((((((GHC.Base.pure PaymentMethodDetailsCardWallet' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amex_express_checkout")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "apple_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "google_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "masterpass")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "samsung_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "visa_checkout")) -- | Defines the enum schema payment_method_details_cardWallet\'Type\' -- -- The type of the card wallet, one of \`amex_express_checkout\`, \`apple_pay\`, \`google_pay\`, \`masterpass\`, \`samsung_pay\`, or \`visa_checkout\`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. data PaymentMethodDetailsCardWallet'Type' = PaymentMethodDetailsCardWallet'Type'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodDetailsCardWallet'Type'EnumTyped GHC.Base.String | PaymentMethodDetailsCardWallet'Type'EnumStringAmexExpressCheckout | PaymentMethodDetailsCardWallet'Type'EnumStringApplePay | PaymentMethodDetailsCardWallet'Type'EnumStringGooglePay | PaymentMethodDetailsCardWallet'Type'EnumStringMasterpass | PaymentMethodDetailsCardWallet'Type'EnumStringSamsungPay | PaymentMethodDetailsCardWallet'Type'EnumStringVisaCheckout deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWallet'Type' where toJSON (PaymentMethodDetailsCardWallet'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardWallet'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardWallet'Type'EnumStringAmexExpressCheckout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amex_express_checkout" toJSON (PaymentMethodDetailsCardWallet'Type'EnumStringApplePay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "apple_pay" toJSON (PaymentMethodDetailsCardWallet'Type'EnumStringGooglePay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "google_pay" toJSON (PaymentMethodDetailsCardWallet'Type'EnumStringMasterpass) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masterpass" toJSON (PaymentMethodDetailsCardWallet'Type'EnumStringSamsungPay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "samsung_pay" toJSON (PaymentMethodDetailsCardWallet'Type'EnumStringVisaCheckout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "visa_checkout" instance Data.Aeson.FromJSON PaymentMethodDetailsCardWallet'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amex_express_checkout") then PaymentMethodDetailsCardWallet'Type'EnumStringAmexExpressCheckout else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "apple_pay") then PaymentMethodDetailsCardWallet'Type'EnumStringApplePay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "google_pay") then PaymentMethodDetailsCardWallet'Type'EnumStringGooglePay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masterpass") then PaymentMethodDetailsCardWallet'Type'EnumStringMasterpass else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "samsung_pay") then PaymentMethodDetailsCardWallet'Type'EnumStringSamsungPay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "visa_checkout") then PaymentMethodDetailsCardWallet'Type'EnumStringVisaCheckout else PaymentMethodDetailsCardWallet'Type'EnumOther val) -- | Defines the data type for the schema payment_method_details_card_installments -- -- data PaymentMethodDetailsCardInstallments = PaymentMethodDetailsCardInstallments { -- | plan: Installment plan selected for the payment. paymentMethodDetailsCardInstallmentsPlan :: (GHC.Maybe.Maybe PaymentMethodDetailsCardInstallmentsPlan') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardInstallments where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "plan" (paymentMethodDetailsCardInstallmentsPlan obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "plan" (paymentMethodDetailsCardInstallmentsPlan obj)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardInstallments where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardInstallments" (\obj -> GHC.Base.pure PaymentMethodDetailsCardInstallments GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) -- | Defines the data type for the schema payment_method_details_card_installmentsPlan\' -- -- Installment plan selected for the payment. data PaymentMethodDetailsCardInstallmentsPlan' = PaymentMethodDetailsCardInstallmentsPlan' { -- | count: For \`fixed_count\` installment plans, this is the number of installment payments your customer will make to their credit card. paymentMethodDetailsCardInstallmentsPlan'Count :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | interval: For \`fixed_count\` installment plans, this is the interval between installment payments your customer will make to their credit card. -- One of \`month\`. , paymentMethodDetailsCardInstallmentsPlan'Interval :: (GHC.Maybe.Maybe PaymentMethodDetailsCardInstallmentsPlan'Interval') -- | type: Type of installment plan, one of \`fixed_count\`. , paymentMethodDetailsCardInstallmentsPlan'Type :: (GHC.Maybe.Maybe PaymentMethodDetailsCardInstallmentsPlan'Type') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardInstallmentsPlan' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "count" (paymentMethodDetailsCardInstallmentsPlan'Count obj) : (Data.Aeson..=) "interval" (paymentMethodDetailsCardInstallmentsPlan'Interval obj) : (Data.Aeson..=) "type" (paymentMethodDetailsCardInstallmentsPlan'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "count" (paymentMethodDetailsCardInstallmentsPlan'Count obj) GHC.Base.<> ((Data.Aeson..=) "interval" (paymentMethodDetailsCardInstallmentsPlan'Interval obj) GHC.Base.<> (Data.Aeson..=) "type" (paymentMethodDetailsCardInstallmentsPlan'Type obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardInstallmentsPlan' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardInstallmentsPlan'" (\obj -> ((GHC.Base.pure PaymentMethodDetailsCardInstallmentsPlan' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the enum schema payment_method_details_card_installmentsPlan\'Interval\' -- -- For \`fixed_count\` installment plans, this is the interval between installment payments your customer will make to their credit card. -- One of \`month\`. data PaymentMethodDetailsCardInstallmentsPlan'Interval' = PaymentMethodDetailsCardInstallmentsPlan'Interval'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodDetailsCardInstallmentsPlan'Interval'EnumTyped GHC.Base.String | PaymentMethodDetailsCardInstallmentsPlan'Interval'EnumStringMonth deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardInstallmentsPlan'Interval' where toJSON (PaymentMethodDetailsCardInstallmentsPlan'Interval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardInstallmentsPlan'Interval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardInstallmentsPlan'Interval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" instance Data.Aeson.FromJSON PaymentMethodDetailsCardInstallmentsPlan'Interval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then PaymentMethodDetailsCardInstallmentsPlan'Interval'EnumStringMonth else PaymentMethodDetailsCardInstallmentsPlan'Interval'EnumOther val) -- | Defines the enum schema payment_method_details_card_installmentsPlan\'Type\' -- -- Type of installment plan, one of \`fixed_count\`. data PaymentMethodDetailsCardInstallmentsPlan'Type' = PaymentMethodDetailsCardInstallmentsPlan'Type'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodDetailsCardInstallmentsPlan'Type'EnumTyped GHC.Base.String | PaymentMethodDetailsCardInstallmentsPlan'Type'EnumStringFixedCount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardInstallmentsPlan'Type' where toJSON (PaymentMethodDetailsCardInstallmentsPlan'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardInstallmentsPlan'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardInstallmentsPlan'Type'EnumStringFixedCount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fixed_count" instance Data.Aeson.FromJSON PaymentMethodDetailsCardInstallmentsPlan'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fixed_count") then PaymentMethodDetailsCardInstallmentsPlan'Type'EnumStringFixedCount else PaymentMethodDetailsCardInstallmentsPlan'Type'EnumOther val) -- | Defines the data type for the schema payment_method_details_card_present -- -- data PaymentMethodDetailsCardPresent = PaymentMethodDetailsCardPresent { -- | brand: Card brand. Can be \`amex\`, \`diners\`, \`discover\`, \`jcb\`, \`mastercard\`, \`unionpay\`, \`visa\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodDetailsCardPresentBrand :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you\'ve collected. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | emv_auth_data: Authorization response cryptogram. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentEmvAuthData :: (GHC.Maybe.Maybe GHC.Base.String) -- | exp_month: Two-digit number representing the card\'s expiration month. , paymentMethodDetailsCardPresentExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , paymentMethodDetailsCardPresentExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fingerprint: Uniquely identifies this particular card number. You can use this attribute to check whether two customers who\'ve signed up with you are using the same card number, for example. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentFingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentFunding :: (GHC.Maybe.Maybe GHC.Base.String) -- | generated_card: ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentGeneratedCard :: (GHC.Maybe.Maybe GHC.Base.String) -- | last4: The last four digits of the card. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | network: Identifies which network this charge was processed on. Can be \`amex\`, \`diners\`, \`discover\`, \`interac\`, \`jcb\`, \`mastercard\`, \`unionpay\`, \`visa\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentNetwork :: (GHC.Maybe.Maybe GHC.Base.String) -- | read_method: How were card details read in this transaction. Can be contact_emv, contactless_emv, magnetic_stripe_fallback, magnetic_stripe_track2, or contactless_magstripe_mode -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentReadMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | receipt: A collection of fields required to be displayed on receipts. Only required for EMV transactions. , paymentMethodDetailsCardPresentReceipt :: (GHC.Maybe.Maybe PaymentMethodDetailsCardPresentReceipt') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardPresent where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "brand" (paymentMethodDetailsCardPresentBrand obj) : (Data.Aeson..=) "country" (paymentMethodDetailsCardPresentCountry obj) : (Data.Aeson..=) "emv_auth_data" (paymentMethodDetailsCardPresentEmvAuthData obj) : (Data.Aeson..=) "exp_month" (paymentMethodDetailsCardPresentExpMonth obj) : (Data.Aeson..=) "exp_year" (paymentMethodDetailsCardPresentExpYear obj) : (Data.Aeson..=) "fingerprint" (paymentMethodDetailsCardPresentFingerprint obj) : (Data.Aeson..=) "funding" (paymentMethodDetailsCardPresentFunding obj) : (Data.Aeson..=) "generated_card" (paymentMethodDetailsCardPresentGeneratedCard obj) : (Data.Aeson..=) "last4" (paymentMethodDetailsCardPresentLast4 obj) : (Data.Aeson..=) "network" (paymentMethodDetailsCardPresentNetwork obj) : (Data.Aeson..=) "read_method" (paymentMethodDetailsCardPresentReadMethod obj) : (Data.Aeson..=) "receipt" (paymentMethodDetailsCardPresentReceipt obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "brand" (paymentMethodDetailsCardPresentBrand obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodDetailsCardPresentCountry obj) GHC.Base.<> ((Data.Aeson..=) "emv_auth_data" (paymentMethodDetailsCardPresentEmvAuthData obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (paymentMethodDetailsCardPresentExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (paymentMethodDetailsCardPresentExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (paymentMethodDetailsCardPresentFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (paymentMethodDetailsCardPresentFunding obj) GHC.Base.<> ((Data.Aeson..=) "generated_card" (paymentMethodDetailsCardPresentGeneratedCard obj) GHC.Base.<> ((Data.Aeson..=) "last4" (paymentMethodDetailsCardPresentLast4 obj) GHC.Base.<> ((Data.Aeson..=) "network" (paymentMethodDetailsCardPresentNetwork obj) GHC.Base.<> ((Data.Aeson..=) "read_method" (paymentMethodDetailsCardPresentReadMethod obj) GHC.Base.<> (Data.Aeson..=) "receipt" (paymentMethodDetailsCardPresentReceipt obj)))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardPresent where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardPresent" (\obj -> (((((((((((GHC.Base.pure PaymentMethodDetailsCardPresent GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "emv_auth_data")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "generated_card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "network")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "read_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt")) -- | Defines the data type for the schema payment_method_details_card_presentReceipt\' -- -- A collection of fields required to be displayed on receipts. Only required for EMV transactions. data PaymentMethodDetailsCardPresentReceipt' = PaymentMethodDetailsCardPresentReceipt' { -- | application_cryptogram: EMV tag 9F26, cryptogram generated by the integrated circuit chip. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodDetailsCardPresentReceipt'ApplicationCryptogram :: (GHC.Maybe.Maybe GHC.Base.String) -- | application_preferred_name: Mnenomic of the Application Identifier. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentReceipt'ApplicationPreferredName :: (GHC.Maybe.Maybe GHC.Base.String) -- | authorization_code: Identifier for this transaction. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentReceipt'AuthorizationCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | authorization_response_code: EMV tag 8A. A code returned by the card issuer. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentReceipt'AuthorizationResponseCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | cardholder_verification_method: How the cardholder verified ownership of the card. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentReceipt'CardholderVerificationMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | dedicated_file_name: EMV tag 84. Similar to the application identifier stored on the integrated circuit chip. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentReceipt'DedicatedFileName :: (GHC.Maybe.Maybe GHC.Base.String) -- | terminal_verification_results: The outcome of a series of EMV functions performed by the card reader. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentReceipt'TerminalVerificationResults :: (GHC.Maybe.Maybe GHC.Base.String) -- | transaction_status_information: An indication of various EMV functions performed during the transaction. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardPresentReceipt'TransactionStatusInformation :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardPresentReceipt' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "application_cryptogram" (paymentMethodDetailsCardPresentReceipt'ApplicationCryptogram obj) : (Data.Aeson..=) "application_preferred_name" (paymentMethodDetailsCardPresentReceipt'ApplicationPreferredName obj) : (Data.Aeson..=) "authorization_code" (paymentMethodDetailsCardPresentReceipt'AuthorizationCode obj) : (Data.Aeson..=) "authorization_response_code" (paymentMethodDetailsCardPresentReceipt'AuthorizationResponseCode obj) : (Data.Aeson..=) "cardholder_verification_method" (paymentMethodDetailsCardPresentReceipt'CardholderVerificationMethod obj) : (Data.Aeson..=) "dedicated_file_name" (paymentMethodDetailsCardPresentReceipt'DedicatedFileName obj) : (Data.Aeson..=) "terminal_verification_results" (paymentMethodDetailsCardPresentReceipt'TerminalVerificationResults obj) : (Data.Aeson..=) "transaction_status_information" (paymentMethodDetailsCardPresentReceipt'TransactionStatusInformation obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "application_cryptogram" (paymentMethodDetailsCardPresentReceipt'ApplicationCryptogram obj) GHC.Base.<> ((Data.Aeson..=) "application_preferred_name" (paymentMethodDetailsCardPresentReceipt'ApplicationPreferredName obj) GHC.Base.<> ((Data.Aeson..=) "authorization_code" (paymentMethodDetailsCardPresentReceipt'AuthorizationCode obj) GHC.Base.<> ((Data.Aeson..=) "authorization_response_code" (paymentMethodDetailsCardPresentReceipt'AuthorizationResponseCode obj) GHC.Base.<> ((Data.Aeson..=) "cardholder_verification_method" (paymentMethodDetailsCardPresentReceipt'CardholderVerificationMethod obj) GHC.Base.<> ((Data.Aeson..=) "dedicated_file_name" (paymentMethodDetailsCardPresentReceipt'DedicatedFileName obj) GHC.Base.<> ((Data.Aeson..=) "terminal_verification_results" (paymentMethodDetailsCardPresentReceipt'TerminalVerificationResults obj) GHC.Base.<> (Data.Aeson..=) "transaction_status_information" (paymentMethodDetailsCardPresentReceipt'TransactionStatusInformation obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardPresentReceipt' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardPresentReceipt'" (\obj -> (((((((GHC.Base.pure PaymentMethodDetailsCardPresentReceipt' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_cryptogram")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_preferred_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "authorization_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "authorization_response_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cardholder_verification_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dedicated_file_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "terminal_verification_results")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transaction_status_information")) -- | Defines the data type for the schema payment_method_details_card_wallet -- -- data PaymentMethodDetailsCardWallet = PaymentMethodDetailsCardWallet { -- | amex_express_checkout: paymentMethodDetailsCardWalletAmexExpressCheckout :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletAmexExpressCheckout) -- | apple_pay: , paymentMethodDetailsCardWalletApplePay :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletApplePay) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletDynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | google_pay: , paymentMethodDetailsCardWalletGooglePay :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletGooglePay) -- | masterpass: , paymentMethodDetailsCardWalletMasterpass :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletMasterpass) -- | samsung_pay: , paymentMethodDetailsCardWalletSamsungPay :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletSamsungPay) -- | type: The type of the card wallet, one of \`amex_express_checkout\`, \`apple_pay\`, \`google_pay\`, \`masterpass\`, \`samsung_pay\`, or \`visa_checkout\`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. , paymentMethodDetailsCardWalletType :: PaymentMethodDetailsCardWalletType' -- | visa_checkout: , paymentMethodDetailsCardWalletVisaCheckout :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletVisaCheckout) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWallet where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amex_express_checkout" (paymentMethodDetailsCardWalletAmexExpressCheckout obj) : (Data.Aeson..=) "apple_pay" (paymentMethodDetailsCardWalletApplePay obj) : (Data.Aeson..=) "dynamic_last4" (paymentMethodDetailsCardWalletDynamicLast4 obj) : (Data.Aeson..=) "google_pay" (paymentMethodDetailsCardWalletGooglePay obj) : (Data.Aeson..=) "masterpass" (paymentMethodDetailsCardWalletMasterpass obj) : (Data.Aeson..=) "samsung_pay" (paymentMethodDetailsCardWalletSamsungPay obj) : (Data.Aeson..=) "type" (paymentMethodDetailsCardWalletType obj) : (Data.Aeson..=) "visa_checkout" (paymentMethodDetailsCardWalletVisaCheckout obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amex_express_checkout" (paymentMethodDetailsCardWalletAmexExpressCheckout obj) GHC.Base.<> ((Data.Aeson..=) "apple_pay" (paymentMethodDetailsCardWalletApplePay obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (paymentMethodDetailsCardWalletDynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "google_pay" (paymentMethodDetailsCardWalletGooglePay obj) GHC.Base.<> ((Data.Aeson..=) "masterpass" (paymentMethodDetailsCardWalletMasterpass obj) GHC.Base.<> ((Data.Aeson..=) "samsung_pay" (paymentMethodDetailsCardWalletSamsungPay obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentMethodDetailsCardWalletType obj) GHC.Base.<> (Data.Aeson..=) "visa_checkout" (paymentMethodDetailsCardWalletVisaCheckout obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardWallet where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardWallet" (\obj -> (((((((GHC.Base.pure PaymentMethodDetailsCardWallet GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amex_express_checkout")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "apple_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "google_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "masterpass")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "samsung_pay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "visa_checkout")) -- | Defines the enum schema payment_method_details_card_walletType\' -- -- The type of the card wallet, one of \`amex_express_checkout\`, \`apple_pay\`, \`google_pay\`, \`masterpass\`, \`samsung_pay\`, or \`visa_checkout\`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type. data PaymentMethodDetailsCardWalletType' = PaymentMethodDetailsCardWalletType'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodDetailsCardWalletType'EnumTyped GHC.Base.String | PaymentMethodDetailsCardWalletType'EnumStringAmexExpressCheckout | PaymentMethodDetailsCardWalletType'EnumStringApplePay | PaymentMethodDetailsCardWalletType'EnumStringGooglePay | PaymentMethodDetailsCardWalletType'EnumStringMasterpass | PaymentMethodDetailsCardWalletType'EnumStringSamsungPay | PaymentMethodDetailsCardWalletType'EnumStringVisaCheckout deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWalletType' where toJSON (PaymentMethodDetailsCardWalletType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardWalletType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodDetailsCardWalletType'EnumStringAmexExpressCheckout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amex_express_checkout" toJSON (PaymentMethodDetailsCardWalletType'EnumStringApplePay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "apple_pay" toJSON (PaymentMethodDetailsCardWalletType'EnumStringGooglePay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "google_pay" toJSON (PaymentMethodDetailsCardWalletType'EnumStringMasterpass) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masterpass" toJSON (PaymentMethodDetailsCardWalletType'EnumStringSamsungPay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "samsung_pay" toJSON (PaymentMethodDetailsCardWalletType'EnumStringVisaCheckout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "visa_checkout" instance Data.Aeson.FromJSON PaymentMethodDetailsCardWalletType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "amex_express_checkout") then PaymentMethodDetailsCardWalletType'EnumStringAmexExpressCheckout else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "apple_pay") then PaymentMethodDetailsCardWalletType'EnumStringApplePay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "google_pay") then PaymentMethodDetailsCardWalletType'EnumStringGooglePay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "masterpass") then PaymentMethodDetailsCardWalletType'EnumStringMasterpass else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "samsung_pay") then PaymentMethodDetailsCardWalletType'EnumStringSamsungPay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "visa_checkout") then PaymentMethodDetailsCardWalletType'EnumStringVisaCheckout else PaymentMethodDetailsCardWalletType'EnumOther val) -- | Defines the data type for the schema payment_method_details_card_wallet_masterpass -- -- data PaymentMethodDetailsCardWalletMasterpass = PaymentMethodDetailsCardWalletMasterpass { -- | billing_address: Owner\'s verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. paymentMethodDetailsCardWalletMasterpassBillingAddress :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletMasterpassBillingAddress') -- | email: Owner\'s verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassName :: (GHC.Maybe.Maybe GHC.Base.String) -- | shipping_address: Owner\'s verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. , paymentMethodDetailsCardWalletMasterpassShippingAddress :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletMasterpassShippingAddress') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWalletMasterpass where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_address" (paymentMethodDetailsCardWalletMasterpassBillingAddress obj) : (Data.Aeson..=) "email" (paymentMethodDetailsCardWalletMasterpassEmail obj) : (Data.Aeson..=) "name" (paymentMethodDetailsCardWalletMasterpassName obj) : (Data.Aeson..=) "shipping_address" (paymentMethodDetailsCardWalletMasterpassShippingAddress obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_address" (paymentMethodDetailsCardWalletMasterpassBillingAddress obj) GHC.Base.<> ((Data.Aeson..=) "email" (paymentMethodDetailsCardWalletMasterpassEmail obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentMethodDetailsCardWalletMasterpassName obj) GHC.Base.<> (Data.Aeson..=) "shipping_address" (paymentMethodDetailsCardWalletMasterpassShippingAddress obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardWalletMasterpass where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardWalletMasterpass" (\obj -> (((GHC.Base.pure PaymentMethodDetailsCardWalletMasterpass GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_address")) -- | Defines the data type for the schema payment_method_details_card_wallet_masterpassBilling_address\' -- -- Owner\\\'s verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentMethodDetailsCardWalletMasterpassBillingAddress' = PaymentMethodDetailsCardWalletMasterpassBillingAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodDetailsCardWalletMasterpassBillingAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassBillingAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassBillingAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassBillingAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassBillingAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassBillingAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWalletMasterpassBillingAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentMethodDetailsCardWalletMasterpassBillingAddress'City obj) : (Data.Aeson..=) "country" (paymentMethodDetailsCardWalletMasterpassBillingAddress'Country obj) : (Data.Aeson..=) "line1" (paymentMethodDetailsCardWalletMasterpassBillingAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentMethodDetailsCardWalletMasterpassBillingAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentMethodDetailsCardWalletMasterpassBillingAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentMethodDetailsCardWalletMasterpassBillingAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentMethodDetailsCardWalletMasterpassBillingAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodDetailsCardWalletMasterpassBillingAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentMethodDetailsCardWalletMasterpassBillingAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentMethodDetailsCardWalletMasterpassBillingAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentMethodDetailsCardWalletMasterpassBillingAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentMethodDetailsCardWalletMasterpassBillingAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardWalletMasterpassBillingAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardWalletMasterpassBillingAddress'" (\obj -> (((((GHC.Base.pure PaymentMethodDetailsCardWalletMasterpassBillingAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_method_details_card_wallet_masterpassShipping_address\' -- -- Owner\\\'s verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentMethodDetailsCardWalletMasterpassShippingAddress' = PaymentMethodDetailsCardWalletMasterpassShippingAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodDetailsCardWalletMasterpassShippingAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassShippingAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassShippingAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassShippingAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassShippingAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletMasterpassShippingAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWalletMasterpassShippingAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentMethodDetailsCardWalletMasterpassShippingAddress'City obj) : (Data.Aeson..=) "country" (paymentMethodDetailsCardWalletMasterpassShippingAddress'Country obj) : (Data.Aeson..=) "line1" (paymentMethodDetailsCardWalletMasterpassShippingAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentMethodDetailsCardWalletMasterpassShippingAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentMethodDetailsCardWalletMasterpassShippingAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentMethodDetailsCardWalletMasterpassShippingAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentMethodDetailsCardWalletMasterpassShippingAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodDetailsCardWalletMasterpassShippingAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentMethodDetailsCardWalletMasterpassShippingAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentMethodDetailsCardWalletMasterpassShippingAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentMethodDetailsCardWalletMasterpassShippingAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentMethodDetailsCardWalletMasterpassShippingAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardWalletMasterpassShippingAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardWalletMasterpassShippingAddress'" (\obj -> (((((GHC.Base.pure PaymentMethodDetailsCardWalletMasterpassShippingAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_method_details_card_wallet_visa_checkout -- -- data PaymentMethodDetailsCardWalletVisaCheckout = PaymentMethodDetailsCardWalletVisaCheckout { -- | billing_address: Owner\'s verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. paymentMethodDetailsCardWalletVisaCheckoutBillingAddress :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletVisaCheckoutBillingAddress') -- | email: Owner\'s verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutName :: (GHC.Maybe.Maybe GHC.Base.String) -- | shipping_address: Owner\'s verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. , paymentMethodDetailsCardWalletVisaCheckoutShippingAddress :: (GHC.Maybe.Maybe PaymentMethodDetailsCardWalletVisaCheckoutShippingAddress') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWalletVisaCheckout where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_address" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress obj) : (Data.Aeson..=) "email" (paymentMethodDetailsCardWalletVisaCheckoutEmail obj) : (Data.Aeson..=) "name" (paymentMethodDetailsCardWalletVisaCheckoutName obj) : (Data.Aeson..=) "shipping_address" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_address" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress obj) GHC.Base.<> ((Data.Aeson..=) "email" (paymentMethodDetailsCardWalletVisaCheckoutEmail obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentMethodDetailsCardWalletVisaCheckoutName obj) GHC.Base.<> (Data.Aeson..=) "shipping_address" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardWalletVisaCheckout where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardWalletVisaCheckout" (\obj -> (((GHC.Base.pure PaymentMethodDetailsCardWalletVisaCheckout GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shipping_address")) -- | Defines the data type for the schema payment_method_details_card_wallet_visa_checkoutBilling_address\' -- -- Owner\\\'s verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentMethodDetailsCardWalletVisaCheckoutBillingAddress' = PaymentMethodDetailsCardWalletVisaCheckoutBillingAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWalletVisaCheckoutBillingAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'City obj) : (Data.Aeson..=) "country" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Country obj) : (Data.Aeson..=) "line1" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentMethodDetailsCardWalletVisaCheckoutBillingAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardWalletVisaCheckoutBillingAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardWalletVisaCheckoutBillingAddress'" (\obj -> (((((GHC.Base.pure PaymentMethodDetailsCardWalletVisaCheckoutBillingAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_method_details_card_wallet_visa_checkoutShipping_address\' -- -- Owner\\\'s verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentMethodDetailsCardWalletVisaCheckoutShippingAddress' = PaymentMethodDetailsCardWalletVisaCheckoutShippingAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodDetailsCardWalletVisaCheckoutShippingAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'City obj) : (Data.Aeson..=) "country" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Country obj) : (Data.Aeson..=) "line1" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentMethodDetailsCardWalletVisaCheckoutShippingAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodDetailsCardWalletVisaCheckoutShippingAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodDetailsCardWalletVisaCheckoutShippingAddress'" (\obj -> (((((GHC.Base.pure PaymentMethodDetailsCardWalletVisaCheckoutShippingAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_method_options_card_installments -- -- data PaymentMethodOptionsCardInstallments = PaymentMethodOptionsCardInstallments { -- | available_plans: Installment plans that may be selected for this PaymentIntent. paymentMethodOptionsCardInstallmentsAvailablePlans :: (GHC.Maybe.Maybe ([] PaymentMethodDetailsCardInstallmentsPlan)) -- | enabled: Whether Installments are enabled for this PaymentIntent. , paymentMethodOptionsCardInstallmentsEnabled :: GHC.Types.Bool -- | plan: Installment plan selected for this PaymentIntent. , paymentMethodOptionsCardInstallmentsPlan :: (GHC.Maybe.Maybe PaymentMethodOptionsCardInstallmentsPlan') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodOptionsCardInstallments where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "available_plans" (paymentMethodOptionsCardInstallmentsAvailablePlans obj) : (Data.Aeson..=) "enabled" (paymentMethodOptionsCardInstallmentsEnabled obj) : (Data.Aeson..=) "plan" (paymentMethodOptionsCardInstallmentsPlan obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "available_plans" (paymentMethodOptionsCardInstallmentsAvailablePlans obj) GHC.Base.<> ((Data.Aeson..=) "enabled" (paymentMethodOptionsCardInstallmentsEnabled obj) GHC.Base.<> (Data.Aeson..=) "plan" (paymentMethodOptionsCardInstallmentsPlan obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodOptionsCardInstallments where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodOptionsCardInstallments" (\obj -> ((GHC.Base.pure PaymentMethodOptionsCardInstallments GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_plans")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) -- | Defines the data type for the schema payment_method_options_card_installmentsPlan\' -- -- Installment plan selected for this PaymentIntent. data PaymentMethodOptionsCardInstallmentsPlan' = PaymentMethodOptionsCardInstallmentsPlan' { -- | count: For \`fixed_count\` installment plans, this is the number of installment payments your customer will make to their credit card. paymentMethodOptionsCardInstallmentsPlan'Count :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | interval: For \`fixed_count\` installment plans, this is the interval between installment payments your customer will make to their credit card. -- One of \`month\`. , paymentMethodOptionsCardInstallmentsPlan'Interval :: (GHC.Maybe.Maybe PaymentMethodOptionsCardInstallmentsPlan'Interval') -- | type: Type of installment plan, one of \`fixed_count\`. , paymentMethodOptionsCardInstallmentsPlan'Type :: (GHC.Maybe.Maybe PaymentMethodOptionsCardInstallmentsPlan'Type') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodOptionsCardInstallmentsPlan' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "count" (paymentMethodOptionsCardInstallmentsPlan'Count obj) : (Data.Aeson..=) "interval" (paymentMethodOptionsCardInstallmentsPlan'Interval obj) : (Data.Aeson..=) "type" (paymentMethodOptionsCardInstallmentsPlan'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "count" (paymentMethodOptionsCardInstallmentsPlan'Count obj) GHC.Base.<> ((Data.Aeson..=) "interval" (paymentMethodOptionsCardInstallmentsPlan'Interval obj) GHC.Base.<> (Data.Aeson..=) "type" (paymentMethodOptionsCardInstallmentsPlan'Type obj))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentMethodOptionsCardInstallmentsPlan' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentMethodOptionsCardInstallmentsPlan'" (\obj -> ((GHC.Base.pure PaymentMethodOptionsCardInstallmentsPlan' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the enum schema payment_method_options_card_installmentsPlan\'Interval\' -- -- For \`fixed_count\` installment plans, this is the interval between installment payments your customer will make to their credit card. -- One of \`month\`. data PaymentMethodOptionsCardInstallmentsPlan'Interval' = PaymentMethodOptionsCardInstallmentsPlan'Interval'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodOptionsCardInstallmentsPlan'Interval'EnumTyped GHC.Base.String | PaymentMethodOptionsCardInstallmentsPlan'Interval'EnumStringMonth deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodOptionsCardInstallmentsPlan'Interval' where toJSON (PaymentMethodOptionsCardInstallmentsPlan'Interval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodOptionsCardInstallmentsPlan'Interval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodOptionsCardInstallmentsPlan'Interval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" instance Data.Aeson.FromJSON PaymentMethodOptionsCardInstallmentsPlan'Interval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then PaymentMethodOptionsCardInstallmentsPlan'Interval'EnumStringMonth else PaymentMethodOptionsCardInstallmentsPlan'Interval'EnumOther val) -- | Defines the enum schema payment_method_options_card_installmentsPlan\'Type\' -- -- Type of installment plan, one of \`fixed_count\`. data PaymentMethodOptionsCardInstallmentsPlan'Type' = PaymentMethodOptionsCardInstallmentsPlan'Type'EnumOther Data.Aeson.Types.Internal.Value | PaymentMethodOptionsCardInstallmentsPlan'Type'EnumTyped GHC.Base.String | PaymentMethodOptionsCardInstallmentsPlan'Type'EnumStringFixedCount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentMethodOptionsCardInstallmentsPlan'Type' where toJSON (PaymentMethodOptionsCardInstallmentsPlan'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodOptionsCardInstallmentsPlan'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentMethodOptionsCardInstallmentsPlan'Type'EnumStringFixedCount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fixed_count" instance Data.Aeson.FromJSON PaymentMethodOptionsCardInstallmentsPlan'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "fixed_count") then PaymentMethodOptionsCardInstallmentsPlan'Type'EnumStringFixedCount else PaymentMethodOptionsCardInstallmentsPlan'Type'EnumOther val) -- | Defines the data type for the schema payment_source -- -- data PaymentSource = PaymentSource { -- | account: The ID of the account that the bank account is associated with. paymentSourceAccount :: (GHC.Maybe.Maybe PaymentSourceAccount'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | ach_credit_transfer , paymentSourceAchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer) -- | ach_debit , paymentSourceAchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit) -- | active: True when this bitcoin receiver has received a non-zero amount of bitcoin. , paymentSourceActive :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceAddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | alipay , paymentSourceAlipay :: (GHC.Maybe.Maybe SourceTypeAlipay) -- | amount: The amount of \`currency\` that you are collecting as payment. , paymentSourceAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | amount_received: The amount of \`currency\` to which \`bitcoin_amount_received\` has been converted. , paymentSourceAmountReceived :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , paymentSourceAvailablePayoutMethods :: (GHC.Maybe.Maybe ([] PaymentSourceAvailablePayoutMethods')) -- | bancontact , paymentSourceBancontact :: (GHC.Maybe.Maybe SourceTypeBancontact) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | bitcoin_amount: The amount of bitcoin that the customer should send to fill the receiver. The \`bitcoin_amount\` is denominated in Satoshi: there are 10^8 Satoshi in one bitcoin. , paymentSourceBitcoinAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | bitcoin_amount_received: The amount of bitcoin that has been sent by the customer to this receiver. , paymentSourceBitcoinAmountReceived :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | bitcoin_uri: This URI can be displayed to the customer as a clickable link (to activate their bitcoin client) or as a QR code (for mobile wallets). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBitcoinUri :: (GHC.Maybe.Maybe GHC.Base.String) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBrand :: (GHC.Maybe.Maybe GHC.Base.String) -- | business_profile: Business information about the account. , paymentSourceBusinessProfile :: (GHC.Maybe.Maybe PaymentSourceBusinessProfile') -- | business_type: The business type. , paymentSourceBusinessType :: (GHC.Maybe.Maybe PaymentSourceBusinessType') -- | capabilities: , paymentSourceCapabilities :: (GHC.Maybe.Maybe AccountCapabilities) -- | card , paymentSourceCard :: (GHC.Maybe.Maybe SourceTypeCard) -- | card_present , paymentSourceCardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent) -- | charges_enabled: Whether the account can create live charges. , paymentSourceChargesEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceClientSecret :: (GHC.Maybe.Maybe GHC.Base.String) -- | code_verification: , paymentSourceCodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow) -- | company: , paymentSourceCompany :: (GHC.Maybe.Maybe LegalEntityCompany) -- | country: The account\'s country. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , paymentSourceCreated :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , paymentSourceCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer associated with this Alipay Account. , paymentSourceCustomer :: (GHC.Maybe.Maybe PaymentSourceCustomer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceCvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_currency: Three-letter ISO currency code representing the default currency for the account. This must be a currency that [Stripe supports in the account\'s country](https:\/\/stripe.com\/docs\/payouts). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceDefaultCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this bank account is the default external account for its currency. , paymentSourceDefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | details_submitted: Whether account details have been submitted. Standard accounts cannot receive payouts before this is true. , paymentSourceDetailsSubmitted :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceDynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | email: The primary user\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | eps , paymentSourceEps :: (GHC.Maybe.Maybe SourceTypeEps) -- | exp_month: Two-digit number representing the card\'s expiration month. , paymentSourceExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , paymentSourceExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | external_accounts: External accounts (bank accounts and debit cards) currently attached to this account , paymentSourceExternalAccounts :: (GHC.Maybe.Maybe PaymentSourceExternalAccounts') -- | filled: This flag is initially false and updates to true when the customer sends the \`bitcoin_amount\` to this receiver. , paymentSourceFilled :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | fingerprint: Uniquely identifies the account and will be the same across all Alipay account objects that are linked to the same Alipay account. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceFingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceFlow :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceFunding :: (GHC.Maybe.Maybe GHC.Base.String) -- | giropay , paymentSourceGiropay :: (GHC.Maybe.Maybe SourceTypeGiropay) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceId :: (GHC.Maybe.Maybe GHC.Base.String) -- | ideal , paymentSourceIdeal :: (GHC.Maybe.Maybe SourceTypeIdeal) -- | inbound_address: A bitcoin address that is specific to this receiver. The customer can send bitcoin to this address to fill the receiver. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceInboundAddress :: (GHC.Maybe.Maybe GHC.Base.String) -- | individual: This is an object representing a person associated with a Stripe account. -- -- Related guide: [Handling Identity Verification with the API](https:\/\/stripe.com\/docs\/connect\/identity-verification-api\#person-information). , paymentSourceIndividual :: (GHC.Maybe.Maybe Person) -- | klarna , paymentSourceKlarna :: (GHC.Maybe.Maybe SourceTypeKlarna) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , paymentSourceLivemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , paymentSourceMetadata :: (GHC.Maybe.Maybe PaymentSourceMetadata') -- | multibanco , paymentSourceMultibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco) -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceName :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , paymentSourceObject :: (GHC.Maybe.Maybe PaymentSourceObject') -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types. , paymentSourceOwner :: (GHC.Maybe.Maybe PaymentSourceOwner') -- | p24 , paymentSourceP24 :: (GHC.Maybe.Maybe SourceTypeP24) -- | payment: The ID of the payment created from the receiver, if any. Hidden when viewing the receiver with a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourcePayment :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_amount: If the Alipay account object is not reusable, the exact amount that you can create a charge for. , paymentSourcePaymentAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | payment_currency: If the Alipay account object is not reusable, the exact currency that you can create a charge for. , paymentSourcePaymentCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | payouts_enabled: Whether Stripe can send payouts to this account. , paymentSourcePayoutsEnabled :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | receiver: , paymentSourceReceiver :: (GHC.Maybe.Maybe SourceReceiverFlow) -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , paymentSourceRecipient :: (GHC.Maybe.Maybe PaymentSourceRecipient'Variants) -- | redirect: , paymentSourceRedirect :: (GHC.Maybe.Maybe SourceRedirectFlow) -- | refund_address: The refund address of this bitcoin receiver. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceRefundAddress :: (GHC.Maybe.Maybe GHC.Base.String) -- | requirements: , paymentSourceRequirements :: (GHC.Maybe.Maybe AccountRequirements) -- | reusable: True if you can create multiple payments using this account. If the account is reusable, then you can freely choose the amount of each payment. , paymentSourceReusable :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceRoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | sepa_debit , paymentSourceSepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit) -- | settings: Options for customizing how the account functions within Stripe. , paymentSourceSettings :: (GHC.Maybe.Maybe PaymentSourceSettings') -- | sofort , paymentSourceSofort :: (GHC.Maybe.Maybe SourceTypeSofort) -- | source_order: , paymentSourceSourceOrder :: (GHC.Maybe.Maybe SourceOrder) -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceStatus :: (GHC.Maybe.Maybe GHC.Base.String) -- | three_d_secure , paymentSourceThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceTokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | tos_acceptance: , paymentSourceTosAcceptance :: (GHC.Maybe.Maybe AccountTosAcceptance) -- | transactions: A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key. , paymentSourceTransactions :: (GHC.Maybe.Maybe PaymentSourceTransactions') -- | type: The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`. , paymentSourceType :: (GHC.Maybe.Maybe PaymentSourceType') -- | uncaptured_funds: This receiver contains uncaptured funds that can be used for a payment or refunded. , paymentSourceUncapturedFunds :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceUsage :: (GHC.Maybe.Maybe GHC.Base.String) -- | used: Whether this Alipay account object has ever been used for a payment. , paymentSourceUsed :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | used_for_payment: Indicate if this source is used for payment. , paymentSourceUsedForPayment :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | username: The username for the Alipay account. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceUsername :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat , paymentSourceWechat :: (GHC.Maybe.Maybe SourceTypeWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSource where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (paymentSourceAccount obj) : (Data.Aeson..=) "account_holder_name" (paymentSourceAccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (paymentSourceAccountHolderType obj) : (Data.Aeson..=) "ach_credit_transfer" (paymentSourceAchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (paymentSourceAchDebit obj) : (Data.Aeson..=) "active" (paymentSourceActive obj) : (Data.Aeson..=) "address_city" (paymentSourceAddressCity obj) : (Data.Aeson..=) "address_country" (paymentSourceAddressCountry obj) : (Data.Aeson..=) "address_line1" (paymentSourceAddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (paymentSourceAddressLine1Check obj) : (Data.Aeson..=) "address_line2" (paymentSourceAddressLine2 obj) : (Data.Aeson..=) "address_state" (paymentSourceAddressState obj) : (Data.Aeson..=) "address_zip" (paymentSourceAddressZip obj) : (Data.Aeson..=) "address_zip_check" (paymentSourceAddressZipCheck obj) : (Data.Aeson..=) "alipay" (paymentSourceAlipay obj) : (Data.Aeson..=) "amount" (paymentSourceAmount obj) : (Data.Aeson..=) "amount_received" (paymentSourceAmountReceived obj) : (Data.Aeson..=) "available_payout_methods" (paymentSourceAvailablePayoutMethods obj) : (Data.Aeson..=) "bancontact" (paymentSourceBancontact obj) : (Data.Aeson..=) "bank_name" (paymentSourceBankName obj) : (Data.Aeson..=) "bitcoin_amount" (paymentSourceBitcoinAmount obj) : (Data.Aeson..=) "bitcoin_amount_received" (paymentSourceBitcoinAmountReceived obj) : (Data.Aeson..=) "bitcoin_uri" (paymentSourceBitcoinUri obj) : (Data.Aeson..=) "brand" (paymentSourceBrand obj) : (Data.Aeson..=) "business_profile" (paymentSourceBusinessProfile obj) : (Data.Aeson..=) "business_type" (paymentSourceBusinessType obj) : (Data.Aeson..=) "capabilities" (paymentSourceCapabilities obj) : (Data.Aeson..=) "card" (paymentSourceCard obj) : (Data.Aeson..=) "card_present" (paymentSourceCardPresent obj) : (Data.Aeson..=) "charges_enabled" (paymentSourceChargesEnabled obj) : (Data.Aeson..=) "client_secret" (paymentSourceClientSecret obj) : (Data.Aeson..=) "code_verification" (paymentSourceCodeVerification obj) : (Data.Aeson..=) "company" (paymentSourceCompany obj) : (Data.Aeson..=) "country" (paymentSourceCountry obj) : (Data.Aeson..=) "created" (paymentSourceCreated obj) : (Data.Aeson..=) "currency" (paymentSourceCurrency obj) : (Data.Aeson..=) "customer" (paymentSourceCustomer obj) : (Data.Aeson..=) "cvc_check" (paymentSourceCvcCheck obj) : (Data.Aeson..=) "default_currency" (paymentSourceDefaultCurrency obj) : (Data.Aeson..=) "default_for_currency" (paymentSourceDefaultForCurrency obj) : (Data.Aeson..=) "description" (paymentSourceDescription obj) : (Data.Aeson..=) "details_submitted" (paymentSourceDetailsSubmitted obj) : (Data.Aeson..=) "dynamic_last4" (paymentSourceDynamicLast4 obj) : (Data.Aeson..=) "email" (paymentSourceEmail obj) : (Data.Aeson..=) "eps" (paymentSourceEps obj) : (Data.Aeson..=) "exp_month" (paymentSourceExpMonth obj) : (Data.Aeson..=) "exp_year" (paymentSourceExpYear obj) : (Data.Aeson..=) "external_accounts" (paymentSourceExternalAccounts obj) : (Data.Aeson..=) "filled" (paymentSourceFilled obj) : (Data.Aeson..=) "fingerprint" (paymentSourceFingerprint obj) : (Data.Aeson..=) "flow" (paymentSourceFlow obj) : (Data.Aeson..=) "funding" (paymentSourceFunding obj) : (Data.Aeson..=) "giropay" (paymentSourceGiropay obj) : (Data.Aeson..=) "id" (paymentSourceId obj) : (Data.Aeson..=) "ideal" (paymentSourceIdeal obj) : (Data.Aeson..=) "inbound_address" (paymentSourceInboundAddress obj) : (Data.Aeson..=) "individual" (paymentSourceIndividual obj) : (Data.Aeson..=) "klarna" (paymentSourceKlarna obj) : (Data.Aeson..=) "last4" (paymentSourceLast4 obj) : (Data.Aeson..=) "livemode" (paymentSourceLivemode obj) : (Data.Aeson..=) "metadata" (paymentSourceMetadata obj) : (Data.Aeson..=) "multibanco" (paymentSourceMultibanco obj) : (Data.Aeson..=) "name" (paymentSourceName obj) : (Data.Aeson..=) "object" (paymentSourceObject obj) : (Data.Aeson..=) "owner" (paymentSourceOwner obj) : (Data.Aeson..=) "p24" (paymentSourceP24 obj) : (Data.Aeson..=) "payment" (paymentSourcePayment obj) : (Data.Aeson..=) "payment_amount" (paymentSourcePaymentAmount obj) : (Data.Aeson..=) "payment_currency" (paymentSourcePaymentCurrency obj) : (Data.Aeson..=) "payouts_enabled" (paymentSourcePayoutsEnabled obj) : (Data.Aeson..=) "receiver" (paymentSourceReceiver obj) : (Data.Aeson..=) "recipient" (paymentSourceRecipient obj) : (Data.Aeson..=) "redirect" (paymentSourceRedirect obj) : (Data.Aeson..=) "refund_address" (paymentSourceRefundAddress obj) : (Data.Aeson..=) "requirements" (paymentSourceRequirements obj) : (Data.Aeson..=) "reusable" (paymentSourceReusable obj) : (Data.Aeson..=) "routing_number" (paymentSourceRoutingNumber obj) : (Data.Aeson..=) "sepa_debit" (paymentSourceSepaDebit obj) : (Data.Aeson..=) "settings" (paymentSourceSettings obj) : (Data.Aeson..=) "sofort" (paymentSourceSofort obj) : (Data.Aeson..=) "source_order" (paymentSourceSourceOrder obj) : (Data.Aeson..=) "statement_descriptor" (paymentSourceStatementDescriptor obj) : (Data.Aeson..=) "status" (paymentSourceStatus obj) : (Data.Aeson..=) "three_d_secure" (paymentSourceThreeDSecure obj) : (Data.Aeson..=) "tokenization_method" (paymentSourceTokenizationMethod obj) : (Data.Aeson..=) "tos_acceptance" (paymentSourceTosAcceptance obj) : (Data.Aeson..=) "transactions" (paymentSourceTransactions obj) : (Data.Aeson..=) "type" (paymentSourceType obj) : (Data.Aeson..=) "uncaptured_funds" (paymentSourceUncapturedFunds obj) : (Data.Aeson..=) "usage" (paymentSourceUsage obj) : (Data.Aeson..=) "used" (paymentSourceUsed obj) : (Data.Aeson..=) "used_for_payment" (paymentSourceUsedForPayment obj) : (Data.Aeson..=) "username" (paymentSourceUsername obj) : (Data.Aeson..=) "wechat" (paymentSourceWechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (paymentSourceAccount obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (paymentSourceAccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (paymentSourceAccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "ach_credit_transfer" (paymentSourceAchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (paymentSourceAchDebit obj) GHC.Base.<> ((Data.Aeson..=) "active" (paymentSourceActive obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (paymentSourceAddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (paymentSourceAddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (paymentSourceAddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (paymentSourceAddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (paymentSourceAddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (paymentSourceAddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (paymentSourceAddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (paymentSourceAddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (paymentSourceAlipay obj) GHC.Base.<> ((Data.Aeson..=) "amount" (paymentSourceAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_received" (paymentSourceAmountReceived obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (paymentSourceAvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (paymentSourceBancontact obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (paymentSourceBankName obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_amount" (paymentSourceBitcoinAmount obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_amount_received" (paymentSourceBitcoinAmountReceived obj) GHC.Base.<> ((Data.Aeson..=) "bitcoin_uri" (paymentSourceBitcoinUri obj) GHC.Base.<> ((Data.Aeson..=) "brand" (paymentSourceBrand obj) GHC.Base.<> ((Data.Aeson..=) "business_profile" (paymentSourceBusinessProfile obj) GHC.Base.<> ((Data.Aeson..=) "business_type" (paymentSourceBusinessType obj) GHC.Base.<> ((Data.Aeson..=) "capabilities" (paymentSourceCapabilities obj) GHC.Base.<> ((Data.Aeson..=) "card" (paymentSourceCard obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (paymentSourceCardPresent obj) GHC.Base.<> ((Data.Aeson..=) "charges_enabled" (paymentSourceChargesEnabled obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (paymentSourceClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "code_verification" (paymentSourceCodeVerification obj) GHC.Base.<> ((Data.Aeson..=) "company" (paymentSourceCompany obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentSourceCountry obj) GHC.Base.<> ((Data.Aeson..=) "created" (paymentSourceCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (paymentSourceCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (paymentSourceCustomer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (paymentSourceCvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_currency" (paymentSourceDefaultCurrency obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (paymentSourceDefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (paymentSourceDescription obj) GHC.Base.<> ((Data.Aeson..=) "details_submitted" (paymentSourceDetailsSubmitted obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (paymentSourceDynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "email" (paymentSourceEmail obj) GHC.Base.<> ((Data.Aeson..=) "eps" (paymentSourceEps obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (paymentSourceExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (paymentSourceExpYear obj) GHC.Base.<> ((Data.Aeson..=) "external_accounts" (paymentSourceExternalAccounts obj) GHC.Base.<> ((Data.Aeson..=) "filled" (paymentSourceFilled obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (paymentSourceFingerprint obj) GHC.Base.<> ((Data.Aeson..=) "flow" (paymentSourceFlow obj) GHC.Base.<> ((Data.Aeson..=) "funding" (paymentSourceFunding obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (paymentSourceGiropay obj) GHC.Base.<> ((Data.Aeson..=) "id" (paymentSourceId obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (paymentSourceIdeal obj) GHC.Base.<> ((Data.Aeson..=) "inbound_address" (paymentSourceInboundAddress obj) GHC.Base.<> ((Data.Aeson..=) "individual" (paymentSourceIndividual obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (paymentSourceKlarna obj) GHC.Base.<> ((Data.Aeson..=) "last4" (paymentSourceLast4 obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (paymentSourceLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (paymentSourceMetadata obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (paymentSourceMultibanco obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentSourceName obj) GHC.Base.<> ((Data.Aeson..=) "object" (paymentSourceObject obj) GHC.Base.<> ((Data.Aeson..=) "owner" (paymentSourceOwner obj) GHC.Base.<> ((Data.Aeson..=) "p24" (paymentSourceP24 obj) GHC.Base.<> ((Data.Aeson..=) "payment" (paymentSourcePayment obj) GHC.Base.<> ((Data.Aeson..=) "payment_amount" (paymentSourcePaymentAmount obj) GHC.Base.<> ((Data.Aeson..=) "payment_currency" (paymentSourcePaymentCurrency obj) GHC.Base.<> ((Data.Aeson..=) "payouts_enabled" (paymentSourcePayoutsEnabled obj) GHC.Base.<> ((Data.Aeson..=) "receiver" (paymentSourceReceiver obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (paymentSourceRecipient obj) GHC.Base.<> ((Data.Aeson..=) "redirect" (paymentSourceRedirect obj) GHC.Base.<> ((Data.Aeson..=) "refund_address" (paymentSourceRefundAddress obj) GHC.Base.<> ((Data.Aeson..=) "requirements" (paymentSourceRequirements obj) GHC.Base.<> ((Data.Aeson..=) "reusable" (paymentSourceReusable obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (paymentSourceRoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (paymentSourceSepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "settings" (paymentSourceSettings obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (paymentSourceSofort obj) GHC.Base.<> ((Data.Aeson..=) "source_order" (paymentSourceSourceOrder obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (paymentSourceStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (paymentSourceStatus obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (paymentSourceThreeDSecure obj) GHC.Base.<> ((Data.Aeson..=) "tokenization_method" (paymentSourceTokenizationMethod obj) GHC.Base.<> ((Data.Aeson..=) "tos_acceptance" (paymentSourceTosAcceptance obj) GHC.Base.<> ((Data.Aeson..=) "transactions" (paymentSourceTransactions obj) GHC.Base.<> ((Data.Aeson..=) "type" (paymentSourceType obj) GHC.Base.<> ((Data.Aeson..=) "uncaptured_funds" (paymentSourceUncapturedFunds obj) GHC.Base.<> ((Data.Aeson..=) "usage" (paymentSourceUsage obj) GHC.Base.<> ((Data.Aeson..=) "used" (paymentSourceUsed obj) GHC.Base.<> ((Data.Aeson..=) "used_for_payment" (paymentSourceUsedForPayment obj) GHC.Base.<> ((Data.Aeson..=) "username" (paymentSourceUsername obj) GHC.Base.<> (Data.Aeson..=) "wechat" (paymentSourceWechat obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSource where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSource" (\obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure PaymentSource GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_received")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_amount_received")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bitcoin_uri")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "business_profile")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "business_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "capabilities")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charges_enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "company")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "details_submitted")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) 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..:? "external_accounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "filled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "inbound_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "individual")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) 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..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payouts_enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "refund_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requirements")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reusable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "settings")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tos_acceptance")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transactions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "uncaptured_funds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "used")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "used_for_payment")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "username")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Define the one-of schema payment_sourceAccount\' -- -- The ID of the account that the bank account is associated with. data PaymentSourceAccount'Variants = PaymentSourceAccount'Account Account | PaymentSourceAccount'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentSourceAccount'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentSourceAccount'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema payment_sourceAvailable_payout_methods\' -- -- data PaymentSourceAvailablePayoutMethods' = PaymentSourceAvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | PaymentSourceAvailablePayoutMethods'EnumTyped GHC.Base.String | PaymentSourceAvailablePayoutMethods'EnumStringInstant | PaymentSourceAvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceAvailablePayoutMethods' where toJSON (PaymentSourceAvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceAvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceAvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (PaymentSourceAvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON PaymentSourceAvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then PaymentSourceAvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then PaymentSourceAvailablePayoutMethods'EnumStringStandard else PaymentSourceAvailablePayoutMethods'EnumOther val) -- | Defines the data type for the schema payment_sourceBusiness_profile\' -- -- Business information about the account. data PaymentSourceBusinessProfile' = PaymentSourceBusinessProfile' { -- | mcc: [The merchant category code for the account](https:\/\/stripe.com\/docs\/connect\/setting-mcc). MCCs are used to classify businesses based on the goods or services they provide. -- -- Constraints: -- -- * Maximum length of 5000 paymentSourceBusinessProfile'Mcc :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: The customer-facing business name. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | product_description: Internal-only description of the product sold or service provided by the business. It\'s used by Stripe for risk and underwriting purposes. -- -- Constraints: -- -- * Maximum length of 40000 , paymentSourceBusinessProfile'ProductDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_address: A publicly available mailing address for sending support issues to. , paymentSourceBusinessProfile'SupportAddress :: (GHC.Maybe.Maybe PaymentSourceBusinessProfile'SupportAddress') -- | support_email: A publicly available email address for sending support issues to. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'SupportEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_phone: A publicly available phone number to call with support issues. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'SupportPhone :: (GHC.Maybe.Maybe GHC.Base.String) -- | support_url: A publicly available website for handling support issues. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'SupportUrl :: (GHC.Maybe.Maybe GHC.Base.String) -- | url: The business\'s publicly available website. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'Url :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceBusinessProfile' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "mcc" (paymentSourceBusinessProfile'Mcc obj) : (Data.Aeson..=) "name" (paymentSourceBusinessProfile'Name obj) : (Data.Aeson..=) "product_description" (paymentSourceBusinessProfile'ProductDescription obj) : (Data.Aeson..=) "support_address" (paymentSourceBusinessProfile'SupportAddress obj) : (Data.Aeson..=) "support_email" (paymentSourceBusinessProfile'SupportEmail obj) : (Data.Aeson..=) "support_phone" (paymentSourceBusinessProfile'SupportPhone obj) : (Data.Aeson..=) "support_url" (paymentSourceBusinessProfile'SupportUrl obj) : (Data.Aeson..=) "url" (paymentSourceBusinessProfile'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "mcc" (paymentSourceBusinessProfile'Mcc obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentSourceBusinessProfile'Name obj) GHC.Base.<> ((Data.Aeson..=) "product_description" (paymentSourceBusinessProfile'ProductDescription obj) GHC.Base.<> ((Data.Aeson..=) "support_address" (paymentSourceBusinessProfile'SupportAddress obj) GHC.Base.<> ((Data.Aeson..=) "support_email" (paymentSourceBusinessProfile'SupportEmail obj) GHC.Base.<> ((Data.Aeson..=) "support_phone" (paymentSourceBusinessProfile'SupportPhone obj) GHC.Base.<> ((Data.Aeson..=) "support_url" (paymentSourceBusinessProfile'SupportUrl obj) GHC.Base.<> (Data.Aeson..=) "url" (paymentSourceBusinessProfile'Url obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceBusinessProfile' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceBusinessProfile'" (\obj -> (((((((GHC.Base.pure PaymentSourceBusinessProfile' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mcc")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "support_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url")) -- | Defines the data type for the schema payment_sourceBusiness_profile\'Support_address\' -- -- A publicly available mailing address for sending support issues to. data PaymentSourceBusinessProfile'SupportAddress' = PaymentSourceBusinessProfile'SupportAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentSourceBusinessProfile'SupportAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'SupportAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'SupportAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'SupportAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'SupportAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceBusinessProfile'SupportAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceBusinessProfile'SupportAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentSourceBusinessProfile'SupportAddress'City obj) : (Data.Aeson..=) "country" (paymentSourceBusinessProfile'SupportAddress'Country obj) : (Data.Aeson..=) "line1" (paymentSourceBusinessProfile'SupportAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentSourceBusinessProfile'SupportAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentSourceBusinessProfile'SupportAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentSourceBusinessProfile'SupportAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentSourceBusinessProfile'SupportAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentSourceBusinessProfile'SupportAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentSourceBusinessProfile'SupportAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentSourceBusinessProfile'SupportAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentSourceBusinessProfile'SupportAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentSourceBusinessProfile'SupportAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceBusinessProfile'SupportAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceBusinessProfile'SupportAddress'" (\obj -> (((((GHC.Base.pure PaymentSourceBusinessProfile'SupportAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the enum schema payment_sourceBusiness_type\' -- -- The business type. data PaymentSourceBusinessType' = PaymentSourceBusinessType'EnumOther Data.Aeson.Types.Internal.Value | PaymentSourceBusinessType'EnumTyped GHC.Base.String | PaymentSourceBusinessType'EnumStringCompany | PaymentSourceBusinessType'EnumStringGovernmentEntity | PaymentSourceBusinessType'EnumStringIndividual | PaymentSourceBusinessType'EnumStringNonProfit deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceBusinessType' where toJSON (PaymentSourceBusinessType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceBusinessType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceBusinessType'EnumStringCompany) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "company" toJSON (PaymentSourceBusinessType'EnumStringGovernmentEntity) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_entity" toJSON (PaymentSourceBusinessType'EnumStringIndividual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual" toJSON (PaymentSourceBusinessType'EnumStringNonProfit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_profit" instance Data.Aeson.FromJSON PaymentSourceBusinessType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "company") then PaymentSourceBusinessType'EnumStringCompany else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "government_entity") then PaymentSourceBusinessType'EnumStringGovernmentEntity else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "individual") then PaymentSourceBusinessType'EnumStringIndividual else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "non_profit") then PaymentSourceBusinessType'EnumStringNonProfit else PaymentSourceBusinessType'EnumOther val) -- | Define the one-of schema payment_sourceCustomer\' -- -- The ID of the customer associated with this Alipay Account. data PaymentSourceCustomer'Variants = PaymentSourceCustomer'Customer Customer | PaymentSourceCustomer'DeletedCustomer DeletedCustomer | PaymentSourceCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentSourceCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentSourceCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_sourceExternal_accounts\' -- -- External accounts (bank accounts and debit cards) currently attached to this account data PaymentSourceExternalAccounts' = PaymentSourceExternalAccounts' { -- | data: The list contains all external accounts that have been attached to the Stripe account. These may be bank accounts or cards. paymentSourceExternalAccounts'Data :: ([] PaymentSourceExternalAccounts'Data') -- | has_more: True if this list has another page of items after this one that can be fetched. , paymentSourceExternalAccounts'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , paymentSourceExternalAccounts'Object :: PaymentSourceExternalAccounts'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (paymentSourceExternalAccounts'Data obj) : (Data.Aeson..=) "has_more" (paymentSourceExternalAccounts'HasMore obj) : (Data.Aeson..=) "object" (paymentSourceExternalAccounts'Object obj) : (Data.Aeson..=) "url" (paymentSourceExternalAccounts'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (paymentSourceExternalAccounts'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (paymentSourceExternalAccounts'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (paymentSourceExternalAccounts'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (paymentSourceExternalAccounts'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceExternalAccounts' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceExternalAccounts'" (\obj -> (((GHC.Base.pure PaymentSourceExternalAccounts' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the data type for the schema payment_sourceExternal_accounts\'Data\' -- -- data PaymentSourceExternalAccounts'Data' = PaymentSourceExternalAccounts'Data' { -- | account: The ID of the account that the bank account is associated with. paymentSourceExternalAccounts'Data'Account :: (GHC.Maybe.Maybe PaymentSourceExternalAccounts'Data'Account'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , paymentSourceExternalAccounts'Data'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] PaymentSourceExternalAccounts'Data'AvailablePayoutMethods')) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'BankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'Brand :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , paymentSourceExternalAccounts'Data'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer that the bank account is associated with. , paymentSourceExternalAccounts'Data'Customer :: (GHC.Maybe.Maybe PaymentSourceExternalAccounts'Data'Customer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this bank account is the default external account for its currency. , paymentSourceExternalAccounts'Data'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | exp_month: Two-digit number representing the card\'s expiration month. , paymentSourceExternalAccounts'Data'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , paymentSourceExternalAccounts'Data'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'Funding :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'Last4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , paymentSourceExternalAccounts'Data'Metadata :: (GHC.Maybe.Maybe PaymentSourceExternalAccounts'Data'Metadata') -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , paymentSourceExternalAccounts'Data'Object :: (GHC.Maybe.Maybe PaymentSourceExternalAccounts'Data'Object') -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , paymentSourceExternalAccounts'Data'Recipient :: (GHC.Maybe.Maybe PaymentSourceExternalAccounts'Data'Recipient'Variants) -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'Status :: (GHC.Maybe.Maybe GHC.Base.String) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceExternalAccounts'Data'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts'Data' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (paymentSourceExternalAccounts'Data'Account obj) : (Data.Aeson..=) "account_holder_name" (paymentSourceExternalAccounts'Data'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (paymentSourceExternalAccounts'Data'AccountHolderType obj) : (Data.Aeson..=) "address_city" (paymentSourceExternalAccounts'Data'AddressCity obj) : (Data.Aeson..=) "address_country" (paymentSourceExternalAccounts'Data'AddressCountry obj) : (Data.Aeson..=) "address_line1" (paymentSourceExternalAccounts'Data'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (paymentSourceExternalAccounts'Data'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (paymentSourceExternalAccounts'Data'AddressLine2 obj) : (Data.Aeson..=) "address_state" (paymentSourceExternalAccounts'Data'AddressState obj) : (Data.Aeson..=) "address_zip" (paymentSourceExternalAccounts'Data'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (paymentSourceExternalAccounts'Data'AddressZipCheck obj) : (Data.Aeson..=) "available_payout_methods" (paymentSourceExternalAccounts'Data'AvailablePayoutMethods obj) : (Data.Aeson..=) "bank_name" (paymentSourceExternalAccounts'Data'BankName obj) : (Data.Aeson..=) "brand" (paymentSourceExternalAccounts'Data'Brand obj) : (Data.Aeson..=) "country" (paymentSourceExternalAccounts'Data'Country obj) : (Data.Aeson..=) "currency" (paymentSourceExternalAccounts'Data'Currency obj) : (Data.Aeson..=) "customer" (paymentSourceExternalAccounts'Data'Customer obj) : (Data.Aeson..=) "cvc_check" (paymentSourceExternalAccounts'Data'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (paymentSourceExternalAccounts'Data'DefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (paymentSourceExternalAccounts'Data'DynamicLast4 obj) : (Data.Aeson..=) "exp_month" (paymentSourceExternalAccounts'Data'ExpMonth obj) : (Data.Aeson..=) "exp_year" (paymentSourceExternalAccounts'Data'ExpYear obj) : (Data.Aeson..=) "fingerprint" (paymentSourceExternalAccounts'Data'Fingerprint obj) : (Data.Aeson..=) "funding" (paymentSourceExternalAccounts'Data'Funding obj) : (Data.Aeson..=) "id" (paymentSourceExternalAccounts'Data'Id obj) : (Data.Aeson..=) "last4" (paymentSourceExternalAccounts'Data'Last4 obj) : (Data.Aeson..=) "metadata" (paymentSourceExternalAccounts'Data'Metadata obj) : (Data.Aeson..=) "name" (paymentSourceExternalAccounts'Data'Name obj) : (Data.Aeson..=) "object" (paymentSourceExternalAccounts'Data'Object obj) : (Data.Aeson..=) "recipient" (paymentSourceExternalAccounts'Data'Recipient obj) : (Data.Aeson..=) "routing_number" (paymentSourceExternalAccounts'Data'RoutingNumber obj) : (Data.Aeson..=) "status" (paymentSourceExternalAccounts'Data'Status obj) : (Data.Aeson..=) "tokenization_method" (paymentSourceExternalAccounts'Data'TokenizationMethod obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (paymentSourceExternalAccounts'Data'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (paymentSourceExternalAccounts'Data'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (paymentSourceExternalAccounts'Data'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (paymentSourceExternalAccounts'Data'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (paymentSourceExternalAccounts'Data'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (paymentSourceExternalAccounts'Data'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (paymentSourceExternalAccounts'Data'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (paymentSourceExternalAccounts'Data'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (paymentSourceExternalAccounts'Data'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (paymentSourceExternalAccounts'Data'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (paymentSourceExternalAccounts'Data'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (paymentSourceExternalAccounts'Data'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (paymentSourceExternalAccounts'Data'BankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (paymentSourceExternalAccounts'Data'Brand obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentSourceExternalAccounts'Data'Country obj) GHC.Base.<> ((Data.Aeson..=) "currency" (paymentSourceExternalAccounts'Data'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (paymentSourceExternalAccounts'Data'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (paymentSourceExternalAccounts'Data'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (paymentSourceExternalAccounts'Data'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (paymentSourceExternalAccounts'Data'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (paymentSourceExternalAccounts'Data'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (paymentSourceExternalAccounts'Data'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (paymentSourceExternalAccounts'Data'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "funding" (paymentSourceExternalAccounts'Data'Funding obj) GHC.Base.<> ((Data.Aeson..=) "id" (paymentSourceExternalAccounts'Data'Id obj) GHC.Base.<> ((Data.Aeson..=) "last4" (paymentSourceExternalAccounts'Data'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (paymentSourceExternalAccounts'Data'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentSourceExternalAccounts'Data'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (paymentSourceExternalAccounts'Data'Object obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (paymentSourceExternalAccounts'Data'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (paymentSourceExternalAccounts'Data'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "status" (paymentSourceExternalAccounts'Data'Status obj) GHC.Base.<> (Data.Aeson..=) "tokenization_method" (paymentSourceExternalAccounts'Data'TokenizationMethod obj))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceExternalAccounts'Data' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceExternalAccounts'Data'" (\obj -> ((((((((((((((((((((((((((((((((GHC.Base.pure PaymentSourceExternalAccounts'Data' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) -- | Define the one-of schema payment_sourceExternal_accounts\'Data\'Account\' -- -- The ID of the account that the bank account is associated with. data PaymentSourceExternalAccounts'Data'Account'Variants = PaymentSourceExternalAccounts'Data'Account'Account Account | PaymentSourceExternalAccounts'Data'Account'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts'Data'Account'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentSourceExternalAccounts'Data'Account'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema payment_sourceExternal_accounts\'Data\'Available_payout_methods\' -- -- data PaymentSourceExternalAccounts'Data'AvailablePayoutMethods' = PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumTyped GHC.Base.String | PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant | PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts'Data'AvailablePayoutMethods' where toJSON (PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON PaymentSourceExternalAccounts'Data'AvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumStringStandard else PaymentSourceExternalAccounts'Data'AvailablePayoutMethods'EnumOther val) -- | Define the one-of schema payment_sourceExternal_accounts\'Data\'Customer\' -- -- The ID of the customer that the bank account is associated with. data PaymentSourceExternalAccounts'Data'Customer'Variants = PaymentSourceExternalAccounts'Data'Customer'Customer Customer | PaymentSourceExternalAccounts'Data'Customer'DeletedCustomer DeletedCustomer | PaymentSourceExternalAccounts'Data'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts'Data'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentSourceExternalAccounts'Data'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_sourceExternal_accounts\'Data\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data PaymentSourceExternalAccounts'Data'Metadata' = PaymentSourceExternalAccounts'Data'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts'Data'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceExternalAccounts'Data'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceExternalAccounts'Data'Metadata'" (\obj -> GHC.Base.pure PaymentSourceExternalAccounts'Data'Metadata') -- | Defines the enum schema payment_sourceExternal_accounts\'Data\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data PaymentSourceExternalAccounts'Data'Object' = PaymentSourceExternalAccounts'Data'Object'EnumOther Data.Aeson.Types.Internal.Value | PaymentSourceExternalAccounts'Data'Object'EnumTyped GHC.Base.String | PaymentSourceExternalAccounts'Data'Object'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts'Data'Object' where toJSON (PaymentSourceExternalAccounts'Data'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceExternalAccounts'Data'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceExternalAccounts'Data'Object'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON PaymentSourceExternalAccounts'Data'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then PaymentSourceExternalAccounts'Data'Object'EnumStringBankAccount else PaymentSourceExternalAccounts'Data'Object'EnumOther val) -- | Define the one-of schema payment_sourceExternal_accounts\'Data\'Recipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data PaymentSourceExternalAccounts'Data'Recipient'Variants = PaymentSourceExternalAccounts'Data'Recipient'Recipient Recipient | PaymentSourceExternalAccounts'Data'Recipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts'Data'Recipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentSourceExternalAccounts'Data'Recipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema payment_sourceExternal_accounts\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data PaymentSourceExternalAccounts'Object' = PaymentSourceExternalAccounts'Object'EnumOther Data.Aeson.Types.Internal.Value | PaymentSourceExternalAccounts'Object'EnumTyped GHC.Base.String | PaymentSourceExternalAccounts'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceExternalAccounts'Object' where toJSON (PaymentSourceExternalAccounts'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceExternalAccounts'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceExternalAccounts'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON PaymentSourceExternalAccounts'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then PaymentSourceExternalAccounts'Object'EnumStringList else PaymentSourceExternalAccounts'Object'EnumOther val) -- | Defines the data type for the schema payment_sourceMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data PaymentSourceMetadata' = PaymentSourceMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceMetadata'" (\obj -> GHC.Base.pure PaymentSourceMetadata') -- | Defines the enum schema payment_sourceObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data PaymentSourceObject' = PaymentSourceObject'EnumOther Data.Aeson.Types.Internal.Value | PaymentSourceObject'EnumTyped GHC.Base.String | PaymentSourceObject'EnumStringAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceObject' where toJSON (PaymentSourceObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceObject'EnumStringAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "account" instance Data.Aeson.FromJSON PaymentSourceObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "account") then PaymentSourceObject'EnumStringAccount else PaymentSourceObject'EnumOther val) -- | Defines the data type for the schema payment_sourceOwner\' -- -- Information about the owner of the payment instrument that may be used or required by particular source types. data PaymentSourceOwner' = PaymentSourceOwner' { -- | address: Owner\'s address. paymentSourceOwner'Address :: (GHC.Maybe.Maybe PaymentSourceOwner'Address') -- | email: Owner\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'Email :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s full name. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Owner\'s phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. , paymentSourceOwner'VerifiedAddress :: (GHC.Maybe.Maybe PaymentSourceOwner'VerifiedAddress') -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'VerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'VerifiedName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'VerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceOwner' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (paymentSourceOwner'Address obj) : (Data.Aeson..=) "email" (paymentSourceOwner'Email obj) : (Data.Aeson..=) "name" (paymentSourceOwner'Name obj) : (Data.Aeson..=) "phone" (paymentSourceOwner'Phone obj) : (Data.Aeson..=) "verified_address" (paymentSourceOwner'VerifiedAddress obj) : (Data.Aeson..=) "verified_email" (paymentSourceOwner'VerifiedEmail obj) : (Data.Aeson..=) "verified_name" (paymentSourceOwner'VerifiedName obj) : (Data.Aeson..=) "verified_phone" (paymentSourceOwner'VerifiedPhone obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (paymentSourceOwner'Address obj) GHC.Base.<> ((Data.Aeson..=) "email" (paymentSourceOwner'Email obj) GHC.Base.<> ((Data.Aeson..=) "name" (paymentSourceOwner'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (paymentSourceOwner'Phone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (paymentSourceOwner'VerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (paymentSourceOwner'VerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (paymentSourceOwner'VerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (paymentSourceOwner'VerifiedPhone obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceOwner' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceOwner'" (\obj -> (((((((GHC.Base.pure PaymentSourceOwner' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone")) -- | Defines the data type for the schema payment_sourceOwner\'Address\' -- -- Owner\\\'s address. data PaymentSourceOwner'Address' = PaymentSourceOwner'Address' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentSourceOwner'Address'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'Address'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'Address'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'Address'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'Address'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'Address'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceOwner'Address' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentSourceOwner'Address'City obj) : (Data.Aeson..=) "country" (paymentSourceOwner'Address'Country obj) : (Data.Aeson..=) "line1" (paymentSourceOwner'Address'Line1 obj) : (Data.Aeson..=) "line2" (paymentSourceOwner'Address'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentSourceOwner'Address'PostalCode obj) : (Data.Aeson..=) "state" (paymentSourceOwner'Address'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentSourceOwner'Address'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentSourceOwner'Address'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentSourceOwner'Address'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentSourceOwner'Address'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentSourceOwner'Address'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentSourceOwner'Address'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceOwner'Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceOwner'Address'" (\obj -> (((((GHC.Base.pure PaymentSourceOwner'Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema payment_sourceOwner\'Verified_address\' -- -- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. data PaymentSourceOwner'VerifiedAddress' = PaymentSourceOwner'VerifiedAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 paymentSourceOwner'VerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'VerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceOwner'VerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceOwner'VerifiedAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (paymentSourceOwner'VerifiedAddress'City obj) : (Data.Aeson..=) "country" (paymentSourceOwner'VerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (paymentSourceOwner'VerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (paymentSourceOwner'VerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (paymentSourceOwner'VerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (paymentSourceOwner'VerifiedAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (paymentSourceOwner'VerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (paymentSourceOwner'VerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (paymentSourceOwner'VerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (paymentSourceOwner'VerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (paymentSourceOwner'VerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (paymentSourceOwner'VerifiedAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceOwner'VerifiedAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceOwner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure PaymentSourceOwner'VerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Define the one-of schema payment_sourceRecipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data PaymentSourceRecipient'Variants = PaymentSourceRecipient'Recipient Recipient | PaymentSourceRecipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PaymentSourceRecipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PaymentSourceRecipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payment_sourceSettings\' -- -- Options for customizing how the account functions within Stripe. data PaymentSourceSettings' = PaymentSourceSettings' { -- | branding: paymentSourceSettings'Branding :: (GHC.Maybe.Maybe AccountBrandingSettings) -- | card_payments: , paymentSourceSettings'CardPayments :: (GHC.Maybe.Maybe AccountCardPaymentsSettings) -- | dashboard: , paymentSourceSettings'Dashboard :: (GHC.Maybe.Maybe AccountDashboardSettings) -- | payments: , paymentSourceSettings'Payments :: (GHC.Maybe.Maybe AccountPaymentsSettings) -- | payouts: , paymentSourceSettings'Payouts :: (GHC.Maybe.Maybe AccountPayoutSettings) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceSettings' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "branding" (paymentSourceSettings'Branding obj) : (Data.Aeson..=) "card_payments" (paymentSourceSettings'CardPayments obj) : (Data.Aeson..=) "dashboard" (paymentSourceSettings'Dashboard obj) : (Data.Aeson..=) "payments" (paymentSourceSettings'Payments obj) : (Data.Aeson..=) "payouts" (paymentSourceSettings'Payouts obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "branding" (paymentSourceSettings'Branding obj) GHC.Base.<> ((Data.Aeson..=) "card_payments" (paymentSourceSettings'CardPayments obj) GHC.Base.<> ((Data.Aeson..=) "dashboard" (paymentSourceSettings'Dashboard obj) GHC.Base.<> ((Data.Aeson..=) "payments" (paymentSourceSettings'Payments obj) GHC.Base.<> (Data.Aeson..=) "payouts" (paymentSourceSettings'Payouts obj))))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceSettings' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceSettings'" (\obj -> ((((GHC.Base.pure PaymentSourceSettings' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "branding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dashboard")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payments")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payouts")) -- | Defines the data type for the schema payment_sourceTransactions\' -- -- A list with one entry for each time that the customer sent bitcoin to the receiver. Hidden when viewing the receiver with a publishable key. data PaymentSourceTransactions' = PaymentSourceTransactions' { -- | data: Details about each object. paymentSourceTransactions'Data :: ([] BitcoinTransaction) -- | has_more: True if this list has another page of items after this one that can be fetched. , paymentSourceTransactions'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , paymentSourceTransactions'Object :: PaymentSourceTransactions'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , paymentSourceTransactions'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceTransactions' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (paymentSourceTransactions'Data obj) : (Data.Aeson..=) "has_more" (paymentSourceTransactions'HasMore obj) : (Data.Aeson..=) "object" (paymentSourceTransactions'Object obj) : (Data.Aeson..=) "url" (paymentSourceTransactions'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (paymentSourceTransactions'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (paymentSourceTransactions'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (paymentSourceTransactions'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (paymentSourceTransactions'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON PaymentSourceTransactions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PaymentSourceTransactions'" (\obj -> (((GHC.Base.pure PaymentSourceTransactions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema payment_sourceTransactions\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data PaymentSourceTransactions'Object' = PaymentSourceTransactions'Object'EnumOther Data.Aeson.Types.Internal.Value | PaymentSourceTransactions'Object'EnumTyped GHC.Base.String | PaymentSourceTransactions'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceTransactions'Object' where toJSON (PaymentSourceTransactions'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceTransactions'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceTransactions'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON PaymentSourceTransactions'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then PaymentSourceTransactions'Object'EnumStringList else PaymentSourceTransactions'Object'EnumOther val) -- | Defines the enum schema payment_sourceType\' -- -- The Stripe account type. Can be \`standard\`, \`express\`, or \`custom\`. data PaymentSourceType' = PaymentSourceType'EnumOther Data.Aeson.Types.Internal.Value | PaymentSourceType'EnumTyped GHC.Base.String | PaymentSourceType'EnumStringCustom | PaymentSourceType'EnumStringExpress | PaymentSourceType'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PaymentSourceType' where toJSON (PaymentSourceType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PaymentSourceType'EnumStringCustom) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "custom" toJSON (PaymentSourceType'EnumStringExpress) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "express" toJSON (PaymentSourceType'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON PaymentSourceType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "custom") then PaymentSourceType'EnumStringCustom else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "express") then PaymentSourceType'EnumStringExpress else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then PaymentSourceType'EnumStringStandard else PaymentSourceType'EnumOther val) -- | Defines the data type for the schema payout -- -- A \`Payout\` object is created when you receive funds from Stripe, or when you -- initiate a payout to either a bank account or debit card of a [connected -- Stripe account](\/docs\/connect\/payouts). You can retrieve individual payouts, -- as well as list all payouts. Payouts are made on [varying -- schedules](\/docs\/payouts\#payout-schedule), depending on your country and -- industry. -- -- Related guide: [Receiving Payouts](https:\/\/stripe.com\/docs\/payouts). data Payout = Payout { -- | amount: Amount (in %s) to be transferred to your bank account or debit card. payoutAmount :: GHC.Integer.Type.Integer -- | arrival_date: Date the payout is expected to arrive in the bank. This factors in delays like weekends or bank holidays. , payoutArrivalDate :: GHC.Integer.Type.Integer -- | automatic: Returns \`true\` if the payout was created by an [automated payout schedule](https:\/\/stripe.com\/docs\/payouts\#payout-schedule), and \`false\` if it was [requested manually](https:\/\/stripe.com\/docs\/payouts\#manual-payouts). , payoutAutomatic :: GHC.Types.Bool -- | balance_transaction: ID of the balance transaction that describes the impact of this payout on your account balance. , payoutBalanceTransaction :: (GHC.Maybe.Maybe PayoutBalanceTransaction'Variants) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , payoutCreated :: GHC.Integer.Type.Integer -- | 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). , payoutCurrency :: GHC.Base.String -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , payoutDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | destination: ID of the bank account or card the payout was sent to. , payoutDestination :: (GHC.Maybe.Maybe PayoutDestination'Variants) -- | failure_balance_transaction: If the payout failed or was canceled, this will be the ID of the balance transaction that reversed the initial balance transaction, and puts the funds from the failed payout back in your balance. , payoutFailureBalanceTransaction :: (GHC.Maybe.Maybe PayoutFailureBalanceTransaction'Variants) -- | failure_code: Error code explaining reason for payout failure if available. See [Types of payout failures](https:\/\/stripe.com\/docs\/api\#payout_failures) for a list of failure codes. -- -- Constraints: -- -- * Maximum length of 5000 , payoutFailureCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | failure_message: Message to user further explaining reason for payout failure if available. -- -- Constraints: -- -- * Maximum length of 5000 , payoutFailureMessage :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , payoutId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , payoutLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , payoutMetadata :: PayoutMetadata' -- | method: The method used to send this payout, which can be \`standard\` or \`instant\`. \`instant\` is only supported for payouts to debit cards. (See [Instant payouts for marketplaces](https:\/\/stripe.com\/blog\/instant-payouts-for-marketplaces) for more information.) -- -- Constraints: -- -- * Maximum length of 5000 , payoutMethod :: GHC.Base.String -- | object: String representing the object\'s type. Objects of the same type share the same value. , payoutObject :: PayoutObject' -- | source_type: The source balance this payout came from. One of \`card\`, \`fpx\`, or \`bank_account\`. -- -- Constraints: -- -- * Maximum length of 5000 , payoutSourceType :: GHC.Base.String -- | statement_descriptor: Extra information about a payout to be displayed on the user\'s bank statement. -- -- Constraints: -- -- * Maximum length of 5000 , payoutStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: Current status of the payout (\`paid\`, \`pending\`, \`in_transit\`, \`canceled\` or \`failed\`). A payout will be \`pending\` until it is submitted to the bank, at which point it becomes \`in_transit\`. It will then change to \`paid\` if the transaction goes through. If it does not go through successfully, its status will change to \`failed\` or \`canceled\`. -- -- Constraints: -- -- * Maximum length of 5000 , payoutStatus :: GHC.Base.String -- | type: Can be \`bank_account\` or \`card\`. , payoutType :: PayoutType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Payout where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (payoutAmount obj) : (Data.Aeson..=) "arrival_date" (payoutArrivalDate obj) : (Data.Aeson..=) "automatic" (payoutAutomatic obj) : (Data.Aeson..=) "balance_transaction" (payoutBalanceTransaction obj) : (Data.Aeson..=) "created" (payoutCreated obj) : (Data.Aeson..=) "currency" (payoutCurrency obj) : (Data.Aeson..=) "description" (payoutDescription obj) : (Data.Aeson..=) "destination" (payoutDestination obj) : (Data.Aeson..=) "failure_balance_transaction" (payoutFailureBalanceTransaction obj) : (Data.Aeson..=) "failure_code" (payoutFailureCode obj) : (Data.Aeson..=) "failure_message" (payoutFailureMessage obj) : (Data.Aeson..=) "id" (payoutId obj) : (Data.Aeson..=) "livemode" (payoutLivemode obj) : (Data.Aeson..=) "metadata" (payoutMetadata obj) : (Data.Aeson..=) "method" (payoutMethod obj) : (Data.Aeson..=) "object" (payoutObject obj) : (Data.Aeson..=) "source_type" (payoutSourceType obj) : (Data.Aeson..=) "statement_descriptor" (payoutStatementDescriptor obj) : (Data.Aeson..=) "status" (payoutStatus obj) : (Data.Aeson..=) "type" (payoutType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (payoutAmount obj) GHC.Base.<> ((Data.Aeson..=) "arrival_date" (payoutArrivalDate obj) GHC.Base.<> ((Data.Aeson..=) "automatic" (payoutAutomatic obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (payoutBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "created" (payoutCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (payoutCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (payoutDescription obj) GHC.Base.<> ((Data.Aeson..=) "destination" (payoutDestination obj) GHC.Base.<> ((Data.Aeson..=) "failure_balance_transaction" (payoutFailureBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "failure_code" (payoutFailureCode obj) GHC.Base.<> ((Data.Aeson..=) "failure_message" (payoutFailureMessage obj) GHC.Base.<> ((Data.Aeson..=) "id" (payoutId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (payoutLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (payoutMetadata obj) GHC.Base.<> ((Data.Aeson..=) "method" (payoutMethod obj) GHC.Base.<> ((Data.Aeson..=) "object" (payoutObject obj) GHC.Base.<> ((Data.Aeson..=) "source_type" (payoutSourceType obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (payoutStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (payoutStatus obj) GHC.Base.<> (Data.Aeson..=) "type" (payoutType obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Payout where parseJSON = Data.Aeson.Types.FromJSON.withObject "Payout" (\obj -> (((((((((((((((((((GHC.Base.pure Payout GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "arrival_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "automatic")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "destination")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "source_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Define the one-of schema payoutBalance_transaction\' -- -- ID of the balance transaction that describes the impact of this payout on your account balance. data PayoutBalanceTransaction'Variants = PayoutBalanceTransaction'BalanceTransaction BalanceTransaction | PayoutBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PayoutBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PayoutBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema payoutDestination\' -- -- ID of the bank account or card the payout was sent to. data PayoutDestination'Variants = PayoutDestination'BankAccount BankAccount | PayoutDestination'Card Card | PayoutDestination'DeletedBankAccount DeletedBankAccount | PayoutDestination'DeletedCard DeletedCard | PayoutDestination'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PayoutDestination'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PayoutDestination'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema payoutFailure_balance_transaction\' -- -- If the payout failed or was canceled, this will be the ID of the balance transaction that reversed the initial balance transaction, and puts the funds from the failed payout back in your balance. data PayoutFailureBalanceTransaction'Variants = PayoutFailureBalanceTransaction'BalanceTransaction BalanceTransaction | PayoutFailureBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PayoutFailureBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PayoutFailureBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema payoutMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data PayoutMetadata' = PayoutMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PayoutMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PayoutMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PayoutMetadata'" (\obj -> GHC.Base.pure PayoutMetadata') -- | Defines the enum schema payoutObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data PayoutObject' = PayoutObject'EnumOther Data.Aeson.Types.Internal.Value | PayoutObject'EnumTyped GHC.Base.String | PayoutObject'EnumStringPayout deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PayoutObject' where toJSON (PayoutObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PayoutObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PayoutObject'EnumStringPayout) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout" instance Data.Aeson.FromJSON PayoutObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "payout") then PayoutObject'EnumStringPayout else PayoutObject'EnumOther val) -- | Defines the enum schema payoutType\' -- -- Can be \`bank_account\` or \`card\`. data PayoutType' = PayoutType'EnumOther Data.Aeson.Types.Internal.Value | PayoutType'EnumTyped GHC.Base.String | PayoutType'EnumStringBankAccount | PayoutType'EnumStringCard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PayoutType' where toJSON (PayoutType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PayoutType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PayoutType'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" toJSON (PayoutType'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card" instance Data.Aeson.FromJSON PayoutType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then PayoutType'EnumStringBankAccount else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card") then PayoutType'EnumStringCard else PayoutType'EnumOther val) -- | Defines the data type for the schema person -- -- This is an object representing a person associated with a Stripe account. -- -- Related guide: [Handling Identity Verification with the API](https:\/\/stripe.com\/docs\/connect\/identity-verification-api\#person-information). data Person = Person { -- | account -- -- Constraints: -- -- * Maximum length of 5000 personAccount :: GHC.Base.String -- | address: , personAddress :: (GHC.Maybe.Maybe Address) -- | address_kana , personAddressKana :: (GHC.Maybe.Maybe PersonAddressKana') -- | address_kanji , personAddressKanji :: (GHC.Maybe.Maybe PersonAddressKanji') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , personCreated :: GHC.Integer.Type.Integer -- | dob: , personDob :: (GHC.Maybe.Maybe LegalEntityDob) -- | email -- -- Constraints: -- -- * Maximum length of 5000 , personEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | first_name -- -- Constraints: -- -- * Maximum length of 5000 , personFirstName :: (GHC.Maybe.Maybe GHC.Base.String) -- | first_name_kana -- -- Constraints: -- -- * Maximum length of 5000 , personFirstNameKana :: (GHC.Maybe.Maybe GHC.Base.String) -- | first_name_kanji -- -- Constraints: -- -- * Maximum length of 5000 , personFirstNameKanji :: (GHC.Maybe.Maybe GHC.Base.String) -- | gender -- -- Constraints: -- -- * Maximum length of 5000 , personGender :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , personId :: GHC.Base.String -- | id_number_provided , personIdNumberProvided :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | last_name -- -- Constraints: -- -- * Maximum length of 5000 , personLastName :: (GHC.Maybe.Maybe GHC.Base.String) -- | last_name_kana -- -- Constraints: -- -- * Maximum length of 5000 , personLastNameKana :: (GHC.Maybe.Maybe GHC.Base.String) -- | last_name_kanji -- -- Constraints: -- -- * Maximum length of 5000 , personLastNameKanji :: (GHC.Maybe.Maybe GHC.Base.String) -- | maiden_name -- -- Constraints: -- -- * Maximum length of 5000 , personMaidenName :: (GHC.Maybe.Maybe GHC.Base.String) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , personMetadata :: (GHC.Maybe.Maybe PersonMetadata') -- | object: String representing the object\'s type. Objects of the same type share the same value. , personObject :: PersonObject' -- | phone -- -- Constraints: -- -- * Maximum length of 5000 , personPhone :: (GHC.Maybe.Maybe GHC.Base.String) -- | relationship: , personRelationship :: (GHC.Maybe.Maybe PersonRelationship) -- | requirements , personRequirements :: (GHC.Maybe.Maybe PersonRequirements') -- | ssn_last_4_provided , personSsnLast_4Provided :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | verification: , personVerification :: (GHC.Maybe.Maybe LegalEntityPersonVerification) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Person where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (personAccount obj) : (Data.Aeson..=) "address" (personAddress obj) : (Data.Aeson..=) "address_kana" (personAddressKana obj) : (Data.Aeson..=) "address_kanji" (personAddressKanji obj) : (Data.Aeson..=) "created" (personCreated obj) : (Data.Aeson..=) "dob" (personDob obj) : (Data.Aeson..=) "email" (personEmail obj) : (Data.Aeson..=) "first_name" (personFirstName obj) : (Data.Aeson..=) "first_name_kana" (personFirstNameKana obj) : (Data.Aeson..=) "first_name_kanji" (personFirstNameKanji obj) : (Data.Aeson..=) "gender" (personGender obj) : (Data.Aeson..=) "id" (personId obj) : (Data.Aeson..=) "id_number_provided" (personIdNumberProvided obj) : (Data.Aeson..=) "last_name" (personLastName obj) : (Data.Aeson..=) "last_name_kana" (personLastNameKana obj) : (Data.Aeson..=) "last_name_kanji" (personLastNameKanji obj) : (Data.Aeson..=) "maiden_name" (personMaidenName obj) : (Data.Aeson..=) "metadata" (personMetadata obj) : (Data.Aeson..=) "object" (personObject obj) : (Data.Aeson..=) "phone" (personPhone obj) : (Data.Aeson..=) "relationship" (personRelationship obj) : (Data.Aeson..=) "requirements" (personRequirements obj) : (Data.Aeson..=) "ssn_last_4_provided" (personSsnLast_4Provided obj) : (Data.Aeson..=) "verification" (personVerification obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (personAccount obj) GHC.Base.<> ((Data.Aeson..=) "address" (personAddress obj) GHC.Base.<> ((Data.Aeson..=) "address_kana" (personAddressKana obj) GHC.Base.<> ((Data.Aeson..=) "address_kanji" (personAddressKanji obj) GHC.Base.<> ((Data.Aeson..=) "created" (personCreated obj) GHC.Base.<> ((Data.Aeson..=) "dob" (personDob obj) GHC.Base.<> ((Data.Aeson..=) "email" (personEmail obj) GHC.Base.<> ((Data.Aeson..=) "first_name" (personFirstName obj) GHC.Base.<> ((Data.Aeson..=) "first_name_kana" (personFirstNameKana obj) GHC.Base.<> ((Data.Aeson..=) "first_name_kanji" (personFirstNameKanji obj) GHC.Base.<> ((Data.Aeson..=) "gender" (personGender obj) GHC.Base.<> ((Data.Aeson..=) "id" (personId obj) GHC.Base.<> ((Data.Aeson..=) "id_number_provided" (personIdNumberProvided obj) GHC.Base.<> ((Data.Aeson..=) "last_name" (personLastName obj) GHC.Base.<> ((Data.Aeson..=) "last_name_kana" (personLastNameKana obj) GHC.Base.<> ((Data.Aeson..=) "last_name_kanji" (personLastNameKanji obj) GHC.Base.<> ((Data.Aeson..=) "maiden_name" (personMaidenName obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (personMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (personObject obj) GHC.Base.<> ((Data.Aeson..=) "phone" (personPhone obj) GHC.Base.<> ((Data.Aeson..=) "relationship" (personRelationship obj) GHC.Base.<> ((Data.Aeson..=) "requirements" (personRequirements obj) GHC.Base.<> ((Data.Aeson..=) "ssn_last_4_provided" (personSsnLast_4Provided obj) GHC.Base.<> (Data.Aeson..=) "verification" (personVerification obj)))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Person where parseJSON = Data.Aeson.Types.FromJSON.withObject "Person" (\obj -> (((((((((((((((((((((((GHC.Base.pure Person GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dob")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "first_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "first_name_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "first_name_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "gender")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id_number_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_name_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_name_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "maiden_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "relationship")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "requirements")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ssn_last_4_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verification")) -- | Defines the data type for the schema personAddress_kana\' -- -- data PersonAddressKana' = PersonAddressKana' { -- | city: City\/Ward. -- -- Constraints: -- -- * Maximum length of 5000 personAddressKana'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKana'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Block\/Building number. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKana'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Building details. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKana'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKana'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: Prefecture. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKana'State :: (GHC.Maybe.Maybe GHC.Base.String) -- | town: Town\/cho-me. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKana'Town :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PersonAddressKana' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (personAddressKana'City obj) : (Data.Aeson..=) "country" (personAddressKana'Country obj) : (Data.Aeson..=) "line1" (personAddressKana'Line1 obj) : (Data.Aeson..=) "line2" (personAddressKana'Line2 obj) : (Data.Aeson..=) "postal_code" (personAddressKana'PostalCode obj) : (Data.Aeson..=) "state" (personAddressKana'State obj) : (Data.Aeson..=) "town" (personAddressKana'Town obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (personAddressKana'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (personAddressKana'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (personAddressKana'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (personAddressKana'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (personAddressKana'PostalCode obj) GHC.Base.<> ((Data.Aeson..=) "state" (personAddressKana'State obj) GHC.Base.<> (Data.Aeson..=) "town" (personAddressKana'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PersonAddressKana' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PersonAddressKana'" (\obj -> ((((((GHC.Base.pure PersonAddressKana' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "town")) -- | Defines the data type for the schema personAddress_kanji\' -- -- data PersonAddressKanji' = PersonAddressKanji' { -- | city: City\/Ward. -- -- Constraints: -- -- * Maximum length of 5000 personAddressKanji'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKanji'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Block\/Building number. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKanji'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Building details. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKanji'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKanji'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: Prefecture. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKanji'State :: (GHC.Maybe.Maybe GHC.Base.String) -- | town: Town\/cho-me. -- -- Constraints: -- -- * Maximum length of 5000 , personAddressKanji'Town :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PersonAddressKanji' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (personAddressKanji'City obj) : (Data.Aeson..=) "country" (personAddressKanji'Country obj) : (Data.Aeson..=) "line1" (personAddressKanji'Line1 obj) : (Data.Aeson..=) "line2" (personAddressKanji'Line2 obj) : (Data.Aeson..=) "postal_code" (personAddressKanji'PostalCode obj) : (Data.Aeson..=) "state" (personAddressKanji'State obj) : (Data.Aeson..=) "town" (personAddressKanji'Town obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (personAddressKanji'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (personAddressKanji'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (personAddressKanji'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (personAddressKanji'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (personAddressKanji'PostalCode obj) GHC.Base.<> ((Data.Aeson..=) "state" (personAddressKanji'State obj) GHC.Base.<> (Data.Aeson..=) "town" (personAddressKanji'Town obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON PersonAddressKanji' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PersonAddressKanji'" (\obj -> ((((((GHC.Base.pure PersonAddressKanji' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "town")) -- | Defines the data type for the schema personMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data PersonMetadata' = PersonMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PersonMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PersonMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PersonMetadata'" (\obj -> GHC.Base.pure PersonMetadata') -- | Defines the enum schema personObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data PersonObject' = PersonObject'EnumOther Data.Aeson.Types.Internal.Value | PersonObject'EnumTyped GHC.Base.String | PersonObject'EnumStringPerson deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PersonObject' where toJSON (PersonObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PersonObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PersonObject'EnumStringPerson) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "person" instance Data.Aeson.FromJSON PersonObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "person") then PersonObject'EnumStringPerson else PersonObject'EnumOther val) -- | Defines the data type for the schema personRequirements\' -- -- data PersonRequirements' = PersonRequirements' { -- | currently_due: Fields that need to be collected to keep the person\'s account enabled. If not collected by the account\'s \`current_deadline\`, these fields appear in \`past_due\` as well, and the account is disabled. personRequirements'CurrentlyDue :: (GHC.Maybe.Maybe ([] GHC.Base.String)) -- | errors: The fields that need to be collected again because validation or verification failed for some reason. , personRequirements'Errors :: (GHC.Maybe.Maybe ([] AccountRequirementsError)) -- | eventually_due: Fields that need to be collected assuming all volume thresholds are reached. As fields are needed, they are moved to \`currently_due\` and the account\'s \`current_deadline\` is set. , personRequirements'EventuallyDue :: (GHC.Maybe.Maybe ([] GHC.Base.String)) -- | past_due: Fields that weren\'t collected by the account\'s \`current_deadline\`. These fields need to be collected to enable payouts for the person\'s account. , personRequirements'PastDue :: (GHC.Maybe.Maybe ([] GHC.Base.String)) -- | pending_verification: Fields that may become required depending on the results of verification or review. An empty array unless an asynchronous verification is pending. If verification fails, the fields in this array become required and move to \`currently_due\` or \`past_due\`. , personRequirements'PendingVerification :: (GHC.Maybe.Maybe ([] GHC.Base.String)) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PersonRequirements' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "currently_due" (personRequirements'CurrentlyDue obj) : (Data.Aeson..=) "errors" (personRequirements'Errors obj) : (Data.Aeson..=) "eventually_due" (personRequirements'EventuallyDue obj) : (Data.Aeson..=) "past_due" (personRequirements'PastDue obj) : (Data.Aeson..=) "pending_verification" (personRequirements'PendingVerification obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "currently_due" (personRequirements'CurrentlyDue obj) GHC.Base.<> ((Data.Aeson..=) "errors" (personRequirements'Errors obj) GHC.Base.<> ((Data.Aeson..=) "eventually_due" (personRequirements'EventuallyDue obj) GHC.Base.<> ((Data.Aeson..=) "past_due" (personRequirements'PastDue obj) GHC.Base.<> (Data.Aeson..=) "pending_verification" (personRequirements'PendingVerification obj))))) instance Data.Aeson.Types.FromJSON.FromJSON PersonRequirements' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PersonRequirements'" (\obj -> ((((GHC.Base.pure PersonRequirements' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currently_due")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "errors")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eventually_due")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "past_due")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "pending_verification")) -- | Defines the data type for the schema plan -- -- Plans define the base price, currency, and billing cycle for subscriptions. -- For example, you might have a \5\<\/currency>\/month plan -- that provides limited access to your products, and a -- \15\<\/currency>\/month plan that allows full access. -- -- Related guide: [Managing Products and Plans](https:\/\/stripe.com\/docs\/billing\/subscriptions\/products-and-plans). data Plan = Plan { -- | active: Whether the plan is currently available for new subscriptions. planActive :: GHC.Types.Bool -- | aggregate_usage: Specifies a usage aggregation strategy for plans of \`usage_type=metered\`. Allowed values are \`sum\` for summing up all usage during a period, \`last_during_period\` for using the last usage record reported within a period, \`last_ever\` for using the last usage record ever (across period bounds) or \`max\` which uses the usage record with the maximum reported usage during a period. Defaults to \`sum\`. , planAggregateUsage :: (GHC.Maybe.Maybe PlanAggregateUsage') -- | amount: The amount in %s to be charged on the interval specified. , planAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | amount_decimal: Same as \`amount\`, but contains a decimal value with at most 12 decimal places. , planAmountDecimal :: (GHC.Maybe.Maybe GHC.Base.String) -- | billing_scheme: Describes how to compute the price per period. Either \`per_unit\` or \`tiered\`. \`per_unit\` indicates that the fixed amount (specified in \`amount\`) will be charged per unit in \`quantity\` (for plans with \`usage_type=licensed\`), or per unit of total usage (for plans with \`usage_type=metered\`). \`tiered\` indicates that the unit pricing will be computed using a tiering strategy as defined using the \`tiers\` and \`tiers_mode\` attributes. , planBillingScheme :: (GHC.Maybe.Maybe PlanBillingScheme') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , planCreated :: GHC.Integer.Type.Integer -- | 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). , planCurrency :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , planId :: GHC.Base.String -- | interval: The frequency at which a subscription is billed. One of \`day\`, \`week\`, \`month\` or \`year\`. , planInterval :: PlanInterval' -- | interval_count: The number of intervals (specified in the \`interval\` attribute) between subscription billings. For example, \`interval=month\` and \`interval_count=3\` bills every 3 months. , planIntervalCount :: GHC.Integer.Type.Integer -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , planLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , planMetadata :: PlanMetadata' -- | nickname: A brief description of the plan, hidden from customers. -- -- Constraints: -- -- * Maximum length of 5000 , planNickname :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , planObject :: PlanObject' -- | product: The product whose pricing this plan determines. , planProduct :: (GHC.Maybe.Maybe PlanProduct'Variants) -- | tiers: Each element represents a pricing tier. This parameter requires \`billing_scheme\` to be set to \`tiered\`. See also the documentation for \`billing_scheme\`. , planTiers :: (GHC.Maybe.Maybe ([] PlanTier)) -- | tiers_mode: Defines if the tiering price should be \`graduated\` or \`volume\` based. In \`volume\`-based tiering, the maximum quantity within a period determines the per unit price. In \`graduated\` tiering, pricing can change as the quantity grows. , planTiersMode :: (GHC.Maybe.Maybe PlanTiersMode') -- | transform_usage: Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with \`tiers\`. , planTransformUsage :: (GHC.Maybe.Maybe PlanTransformUsage') -- | trial_period_days: Default number of trial days when subscribing a customer to this plan using [\`trial_from_plan=true\`](https:\/\/stripe.com\/docs\/api\#create_subscription-trial_from_plan). , planTrialPeriodDays :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | usage_type: Configures how the quantity per period should be determined. Can be either \`metered\` or \`licensed\`. \`licensed\` automatically bills the \`quantity\` set when adding it to a subscription. \`metered\` aggregates the total usage based on usage records. Defaults to \`licensed\`. , planUsageType :: PlanUsageType' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Plan where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "active" (planActive obj) : (Data.Aeson..=) "aggregate_usage" (planAggregateUsage obj) : (Data.Aeson..=) "amount" (planAmount obj) : (Data.Aeson..=) "amount_decimal" (planAmountDecimal obj) : (Data.Aeson..=) "billing_scheme" (planBillingScheme obj) : (Data.Aeson..=) "created" (planCreated obj) : (Data.Aeson..=) "currency" (planCurrency obj) : (Data.Aeson..=) "id" (planId obj) : (Data.Aeson..=) "interval" (planInterval obj) : (Data.Aeson..=) "interval_count" (planIntervalCount obj) : (Data.Aeson..=) "livemode" (planLivemode obj) : (Data.Aeson..=) "metadata" (planMetadata obj) : (Data.Aeson..=) "nickname" (planNickname obj) : (Data.Aeson..=) "object" (planObject obj) : (Data.Aeson..=) "product" (planProduct obj) : (Data.Aeson..=) "tiers" (planTiers obj) : (Data.Aeson..=) "tiers_mode" (planTiersMode obj) : (Data.Aeson..=) "transform_usage" (planTransformUsage obj) : (Data.Aeson..=) "trial_period_days" (planTrialPeriodDays obj) : (Data.Aeson..=) "usage_type" (planUsageType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "active" (planActive obj) GHC.Base.<> ((Data.Aeson..=) "aggregate_usage" (planAggregateUsage obj) GHC.Base.<> ((Data.Aeson..=) "amount" (planAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_decimal" (planAmountDecimal obj) GHC.Base.<> ((Data.Aeson..=) "billing_scheme" (planBillingScheme obj) GHC.Base.<> ((Data.Aeson..=) "created" (planCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (planCurrency obj) GHC.Base.<> ((Data.Aeson..=) "id" (planId obj) GHC.Base.<> ((Data.Aeson..=) "interval" (planInterval obj) GHC.Base.<> ((Data.Aeson..=) "interval_count" (planIntervalCount obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (planLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (planMetadata obj) GHC.Base.<> ((Data.Aeson..=) "nickname" (planNickname obj) GHC.Base.<> ((Data.Aeson..=) "object" (planObject obj) GHC.Base.<> ((Data.Aeson..=) "product" (planProduct obj) GHC.Base.<> ((Data.Aeson..=) "tiers" (planTiers obj) GHC.Base.<> ((Data.Aeson..=) "tiers_mode" (planTiersMode obj) GHC.Base.<> ((Data.Aeson..=) "transform_usage" (planTransformUsage obj) GHC.Base.<> ((Data.Aeson..=) "trial_period_days" (planTrialPeriodDays obj) GHC.Base.<> (Data.Aeson..=) "usage_type" (planUsageType obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Plan where parseJSON = Data.Aeson.Types.FromJSON.withObject "Plan" (\obj -> (((((((((((((((((((GHC.Base.pure Plan GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "aggregate_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_decimal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_scheme")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "interval_count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "nickname")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tiers")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tiers_mode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transform_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_period_days")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "usage_type")) -- | Defines the enum schema planAggregate_usage\' -- -- Specifies a usage aggregation strategy for plans of \`usage_type=metered\`. Allowed values are \`sum\` for summing up all usage during a period, \`last_during_period\` for using the last usage record reported within a period, \`last_ever\` for using the last usage record ever (across period bounds) or \`max\` which uses the usage record with the maximum reported usage during a period. Defaults to \`sum\`. data PlanAggregateUsage' = PlanAggregateUsage'EnumOther Data.Aeson.Types.Internal.Value | PlanAggregateUsage'EnumTyped GHC.Base.String | PlanAggregateUsage'EnumStringLastDuringPeriod | PlanAggregateUsage'EnumStringLastEver | PlanAggregateUsage'EnumStringMax | PlanAggregateUsage'EnumStringSum deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanAggregateUsage' where toJSON (PlanAggregateUsage'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanAggregateUsage'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanAggregateUsage'EnumStringLastDuringPeriod) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_during_period" toJSON (PlanAggregateUsage'EnumStringLastEver) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_ever" toJSON (PlanAggregateUsage'EnumStringMax) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "max" toJSON (PlanAggregateUsage'EnumStringSum) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sum" instance Data.Aeson.FromJSON PlanAggregateUsage' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_during_period") then PlanAggregateUsage'EnumStringLastDuringPeriod else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_ever") then PlanAggregateUsage'EnumStringLastEver else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "max") then PlanAggregateUsage'EnumStringMax else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sum") then PlanAggregateUsage'EnumStringSum else PlanAggregateUsage'EnumOther val) -- | Defines the enum schema planBilling_scheme\' -- -- Describes how to compute the price per period. Either \`per_unit\` or \`tiered\`. \`per_unit\` indicates that the fixed amount (specified in \`amount\`) will be charged per unit in \`quantity\` (for plans with \`usage_type=licensed\`), or per unit of total usage (for plans with \`usage_type=metered\`). \`tiered\` indicates that the unit pricing will be computed using a tiering strategy as defined using the \`tiers\` and \`tiers_mode\` attributes. data PlanBillingScheme' = PlanBillingScheme'EnumOther Data.Aeson.Types.Internal.Value | PlanBillingScheme'EnumTyped GHC.Base.String | PlanBillingScheme'EnumStringPerUnit | PlanBillingScheme'EnumStringTiered deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanBillingScheme' where toJSON (PlanBillingScheme'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanBillingScheme'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanBillingScheme'EnumStringPerUnit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "per_unit" toJSON (PlanBillingScheme'EnumStringTiered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tiered" instance Data.Aeson.FromJSON PlanBillingScheme' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "per_unit") then PlanBillingScheme'EnumStringPerUnit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tiered") then PlanBillingScheme'EnumStringTiered else PlanBillingScheme'EnumOther val) -- | Defines the enum schema planInterval\' -- -- The frequency at which a subscription is billed. One of \`day\`, \`week\`, \`month\` or \`year\`. data PlanInterval' = PlanInterval'EnumOther Data.Aeson.Types.Internal.Value | PlanInterval'EnumTyped GHC.Base.String | PlanInterval'EnumStringDay | PlanInterval'EnumStringMonth | PlanInterval'EnumStringWeek | PlanInterval'EnumStringYear deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanInterval' where toJSON (PlanInterval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanInterval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanInterval'EnumStringDay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day" toJSON (PlanInterval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" toJSON (PlanInterval'EnumStringWeek) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week" toJSON (PlanInterval'EnumStringYear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year" instance Data.Aeson.FromJSON PlanInterval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day") then PlanInterval'EnumStringDay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then PlanInterval'EnumStringMonth else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week") then PlanInterval'EnumStringWeek else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year") then PlanInterval'EnumStringYear else PlanInterval'EnumOther val) -- | Defines the data type for the schema planMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data PlanMetadata' = PlanMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON PlanMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PlanMetadata'" (\obj -> GHC.Base.pure PlanMetadata') -- | Defines the enum schema planObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data PlanObject' = PlanObject'EnumOther Data.Aeson.Types.Internal.Value | PlanObject'EnumTyped GHC.Base.String | PlanObject'EnumStringPlan deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanObject' where toJSON (PlanObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanObject'EnumStringPlan) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plan" instance Data.Aeson.FromJSON PlanObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plan") then PlanObject'EnumStringPlan else PlanObject'EnumOther val) -- | Define the one-of schema planProduct\' -- -- The product whose pricing this plan determines. data PlanProduct'Variants = PlanProduct'DeletedProduct DeletedProduct | PlanProduct'Product Product | PlanProduct'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON PlanProduct'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON PlanProduct'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema planTiers_mode\' -- -- Defines if the tiering price should be \`graduated\` or \`volume\` based. In \`volume\`-based tiering, the maximum quantity within a period determines the per unit price. In \`graduated\` tiering, pricing can change as the quantity grows. data PlanTiersMode' = PlanTiersMode'EnumOther Data.Aeson.Types.Internal.Value | PlanTiersMode'EnumTyped GHC.Base.String | PlanTiersMode'EnumStringGraduated | PlanTiersMode'EnumStringVolume deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanTiersMode' where toJSON (PlanTiersMode'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanTiersMode'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanTiersMode'EnumStringGraduated) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "graduated" toJSON (PlanTiersMode'EnumStringVolume) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "volume" instance Data.Aeson.FromJSON PlanTiersMode' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "graduated") then PlanTiersMode'EnumStringGraduated else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "volume") then PlanTiersMode'EnumStringVolume else PlanTiersMode'EnumOther val) -- | Defines the data type for the schema planTransform_usage\' -- -- Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with \\\`tiers\\\`. data PlanTransformUsage' = PlanTransformUsage' { -- | divide_by: Divide usage by this number. planTransformUsage'DivideBy :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | round: After division, either round the result \`up\` or \`down\`. , planTransformUsage'Round :: (GHC.Maybe.Maybe PlanTransformUsage'Round') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanTransformUsage' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "divide_by" (planTransformUsage'DivideBy obj) : (Data.Aeson..=) "round" (planTransformUsage'Round obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "divide_by" (planTransformUsage'DivideBy obj) GHC.Base.<> (Data.Aeson..=) "round" (planTransformUsage'Round obj)) instance Data.Aeson.Types.FromJSON.FromJSON PlanTransformUsage' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PlanTransformUsage'" (\obj -> (GHC.Base.pure PlanTransformUsage' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "divide_by")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "round")) -- | Defines the enum schema planTransform_usage\'Round\' -- -- After division, either round the result \`up\` or \`down\`. data PlanTransformUsage'Round' = PlanTransformUsage'Round'EnumOther Data.Aeson.Types.Internal.Value | PlanTransformUsage'Round'EnumTyped GHC.Base.String | PlanTransformUsage'Round'EnumStringDown | PlanTransformUsage'Round'EnumStringUp deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanTransformUsage'Round' where toJSON (PlanTransformUsage'Round'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanTransformUsage'Round'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanTransformUsage'Round'EnumStringDown) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "down" toJSON (PlanTransformUsage'Round'EnumStringUp) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "up" instance Data.Aeson.FromJSON PlanTransformUsage'Round' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "down") then PlanTransformUsage'Round'EnumStringDown else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "up") then PlanTransformUsage'Round'EnumStringUp else PlanTransformUsage'Round'EnumOther val) -- | Defines the enum schema planUsage_type\' -- -- Configures how the quantity per period should be determined. Can be either \`metered\` or \`licensed\`. \`licensed\` automatically bills the \`quantity\` set when adding it to a subscription. \`metered\` aggregates the total usage based on usage records. Defaults to \`licensed\`. data PlanUsageType' = PlanUsageType'EnumOther Data.Aeson.Types.Internal.Value | PlanUsageType'EnumTyped GHC.Base.String | PlanUsageType'EnumStringLicensed | PlanUsageType'EnumStringMetered deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON PlanUsageType' where toJSON (PlanUsageType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanUsageType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (PlanUsageType'EnumStringLicensed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "licensed" toJSON (PlanUsageType'EnumStringMetered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metered" instance Data.Aeson.FromJSON PlanUsageType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "licensed") then PlanUsageType'EnumStringLicensed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metered") then PlanUsageType'EnumStringMetered else PlanUsageType'EnumOther val) -- | Defines the data type for the schema product -- -- Store representations of products you sell in \`Product\` objects, used in -- conjunction with [SKUs](https:\/\/stripe.com\/docs\/api\#skus). Products may be physical goods, to be shipped, or -- digital. -- -- Documentation on \`Product\`s for use with \`Subscription\`s can be found at -- [Subscription Products](https:\/\/stripe.com\/docs\/api\#service_products). -- -- Related guide: [Define products and SKUs](https:\/\/stripe.com\/docs\/orders\#define-products-skus) data Product = Product { -- | active: Whether the product is currently available for purchase. productActive :: GHC.Types.Bool -- | attributes: A list of up to 5 attributes that each SKU can provide values for (e.g., \`[\"color\", \"size\"]\`). , productAttributes :: (GHC.Maybe.Maybe ([] GHC.Base.String)) -- | caption: A short one-line description of the product, meant to be displayable to the customer. Only applicable to products of \`type=good\`. -- -- Constraints: -- -- * Maximum length of 5000 , productCaption :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , productCreated :: GHC.Integer.Type.Integer -- | deactivate_on: An array of connect application identifiers that cannot purchase this product. Only applicable to products of \`type=good\`. , productDeactivateOn :: (GHC.Maybe.Maybe ([] GHC.Base.String)) -- | description: The product\'s description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes. -- -- Constraints: -- -- * Maximum length of 5000 , productDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , productId :: GHC.Base.String -- | images: A list of up to 8 URLs of images for this product, meant to be displayable to the customer. Only applicable to products of \`type=good\`. , productImages :: ([] GHC.Base.String) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , productLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , productMetadata :: ProductMetadata' -- | name: The product\'s name, meant to be displayable to the customer. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions. -- -- Constraints: -- -- * Maximum length of 5000 , productName :: GHC.Base.String -- | object: String representing the object\'s type. Objects of the same type share the same value. , productObject :: ProductObject' -- | package_dimensions: The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own \`package_dimensions\`. Only applicable to products of \`type=good\`. , productPackageDimensions :: (GHC.Maybe.Maybe ProductPackageDimensions') -- | shippable: Whether this product is a shipped good. Only applicable to products of \`type=good\`. , productShippable :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | statement_descriptor: Extra information about a product which will appear on your customer\'s credit card statement. In the case that multiple products are billed at once, the first statement descriptor will be used. -- -- Constraints: -- -- * Maximum length of 5000 , productStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: The type of the product. The product is either of type \`good\`, which is eligible for use with Orders and SKUs, or \`service\`, which is eligible for use with Subscriptions and Plans. , productType :: ProductType' -- | unit_label: A label that represents units of this product in Stripe and on customers’ receipts and invoices. When set, this will be included in associated invoice line item descriptions. -- -- Constraints: -- -- * Maximum length of 5000 , productUnitLabel :: (GHC.Maybe.Maybe GHC.Base.String) -- | updated: Time at which the object was last updated. Measured in seconds since the Unix epoch. , productUpdated :: GHC.Integer.Type.Integer -- | url: A URL of a publicly-accessible webpage for this product. Only applicable to products of \`type=good\`. -- -- Constraints: -- -- * Maximum length of 2048 , productUrl :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Product where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "active" (productActive obj) : (Data.Aeson..=) "attributes" (productAttributes obj) : (Data.Aeson..=) "caption" (productCaption obj) : (Data.Aeson..=) "created" (productCreated obj) : (Data.Aeson..=) "deactivate_on" (productDeactivateOn obj) : (Data.Aeson..=) "description" (productDescription obj) : (Data.Aeson..=) "id" (productId obj) : (Data.Aeson..=) "images" (productImages obj) : (Data.Aeson..=) "livemode" (productLivemode obj) : (Data.Aeson..=) "metadata" (productMetadata obj) : (Data.Aeson..=) "name" (productName obj) : (Data.Aeson..=) "object" (productObject obj) : (Data.Aeson..=) "package_dimensions" (productPackageDimensions obj) : (Data.Aeson..=) "shippable" (productShippable obj) : (Data.Aeson..=) "statement_descriptor" (productStatementDescriptor obj) : (Data.Aeson..=) "type" (productType obj) : (Data.Aeson..=) "unit_label" (productUnitLabel obj) : (Data.Aeson..=) "updated" (productUpdated obj) : (Data.Aeson..=) "url" (productUrl obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "active" (productActive obj) GHC.Base.<> ((Data.Aeson..=) "attributes" (productAttributes obj) GHC.Base.<> ((Data.Aeson..=) "caption" (productCaption obj) GHC.Base.<> ((Data.Aeson..=) "created" (productCreated obj) GHC.Base.<> ((Data.Aeson..=) "deactivate_on" (productDeactivateOn obj) GHC.Base.<> ((Data.Aeson..=) "description" (productDescription obj) GHC.Base.<> ((Data.Aeson..=) "id" (productId obj) GHC.Base.<> ((Data.Aeson..=) "images" (productImages obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (productLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (productMetadata obj) GHC.Base.<> ((Data.Aeson..=) "name" (productName obj) GHC.Base.<> ((Data.Aeson..=) "object" (productObject obj) GHC.Base.<> ((Data.Aeson..=) "package_dimensions" (productPackageDimensions obj) GHC.Base.<> ((Data.Aeson..=) "shippable" (productShippable obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (productStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "type" (productType obj) GHC.Base.<> ((Data.Aeson..=) "unit_label" (productUnitLabel obj) GHC.Base.<> ((Data.Aeson..=) "updated" (productUpdated obj) GHC.Base.<> (Data.Aeson..=) "url" (productUrl obj))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Product where parseJSON = Data.Aeson.Types.FromJSON.withObject "Product" (\obj -> ((((((((((((((((((GHC.Base.pure Product GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "attributes")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "caption")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "deactivate_on")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "images")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "package_dimensions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "shippable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "unit_label")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "updated")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url")) -- | Defines the data type for the schema productMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data ProductMetadata' = ProductMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ProductMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON ProductMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ProductMetadata'" (\obj -> GHC.Base.pure ProductMetadata') -- | Defines the enum schema productObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ProductObject' = ProductObject'EnumOther Data.Aeson.Types.Internal.Value | ProductObject'EnumTyped GHC.Base.String | ProductObject'EnumStringProduct deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ProductObject' where toJSON (ProductObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ProductObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ProductObject'EnumStringProduct) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "product" instance Data.Aeson.FromJSON ProductObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "product") then ProductObject'EnumStringProduct else ProductObject'EnumOther val) -- | Defines the data type for the schema productPackage_dimensions\' -- -- The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own \\\`package_dimensions\\\`. Only applicable to products of \\\`type=good\\\`. data ProductPackageDimensions' = ProductPackageDimensions' { -- | height: Height, in inches. productPackageDimensions'Height :: (GHC.Maybe.Maybe GHC.Types.Double) -- | length: Length, in inches. , productPackageDimensions'Length :: (GHC.Maybe.Maybe GHC.Types.Double) -- | weight: Weight, in ounces. , productPackageDimensions'Weight :: (GHC.Maybe.Maybe GHC.Types.Double) -- | width: Width, in inches. , productPackageDimensions'Width :: (GHC.Maybe.Maybe GHC.Types.Double) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ProductPackageDimensions' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "height" (productPackageDimensions'Height obj) : (Data.Aeson..=) "length" (productPackageDimensions'Length obj) : (Data.Aeson..=) "weight" (productPackageDimensions'Weight obj) : (Data.Aeson..=) "width" (productPackageDimensions'Width obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "height" (productPackageDimensions'Height obj) GHC.Base.<> ((Data.Aeson..=) "length" (productPackageDimensions'Length obj) GHC.Base.<> ((Data.Aeson..=) "weight" (productPackageDimensions'Weight obj) GHC.Base.<> (Data.Aeson..=) "width" (productPackageDimensions'Width obj)))) instance Data.Aeson.Types.FromJSON.FromJSON ProductPackageDimensions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ProductPackageDimensions'" (\obj -> (((GHC.Base.pure ProductPackageDimensions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "height")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "length")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "weight")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "width")) -- | Defines the enum schema productType\' -- -- The type of the product. The product is either of type \`good\`, which is eligible for use with Orders and SKUs, or \`service\`, which is eligible for use with Subscriptions and Plans. data ProductType' = ProductType'EnumOther Data.Aeson.Types.Internal.Value | ProductType'EnumTyped GHC.Base.String | ProductType'EnumStringGood | ProductType'EnumStringService deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ProductType' where toJSON (ProductType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ProductType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ProductType'EnumStringGood) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "good" toJSON (ProductType'EnumStringService) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service" instance Data.Aeson.FromJSON ProductType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "good") then ProductType'EnumStringGood else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "service") then ProductType'EnumStringService else ProductType'EnumOther val) -- | Defines the data type for the schema radar.early_fraud_warning -- -- An early fraud warning indicates that the card issuer has notified us that a -- charge may be fraudulent. -- -- Related guide: [Early Fraud Warnings](https:\/\/stripe.com\/docs\/disputes\/measuring\#early-fraud-warnings). data Radar'earlyFraudWarning = Radar'earlyFraudWarning { -- | actionable: An EFW is actionable if it has not received a dispute and has not been fully refunded. You may wish to proactively refund a charge that receives an EFW, in order to avoid receiving a dispute later. radar'earlyFraudWarningActionable :: GHC.Types.Bool -- | charge: ID of the charge this early fraud warning is for, optionally expanded. , radar'earlyFraudWarningCharge :: Radar'earlyFraudWarningCharge'Variants -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , radar'earlyFraudWarningCreated :: GHC.Integer.Type.Integer -- | fraud_type: The type of fraud labelled by the issuer. One of \`card_never_received\`, \`fraudulent_card_application\`, \`made_with_counterfeit_card\`, \`made_with_lost_card\`, \`made_with_stolen_card\`, \`misc\`, \`unauthorized_use_of_card\`. -- -- Constraints: -- -- * Maximum length of 5000 , radar'earlyFraudWarningFraudType :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , radar'earlyFraudWarningId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , radar'earlyFraudWarningLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , radar'earlyFraudWarningObject :: Radar'earlyFraudWarningObject' } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Radar'earlyFraudWarning where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "actionable" (radar'earlyFraudWarningActionable obj) : (Data.Aeson..=) "charge" (radar'earlyFraudWarningCharge obj) : (Data.Aeson..=) "created" (radar'earlyFraudWarningCreated obj) : (Data.Aeson..=) "fraud_type" (radar'earlyFraudWarningFraudType obj) : (Data.Aeson..=) "id" (radar'earlyFraudWarningId obj) : (Data.Aeson..=) "livemode" (radar'earlyFraudWarningLivemode obj) : (Data.Aeson..=) "object" (radar'earlyFraudWarningObject obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "actionable" (radar'earlyFraudWarningActionable obj) GHC.Base.<> ((Data.Aeson..=) "charge" (radar'earlyFraudWarningCharge obj) GHC.Base.<> ((Data.Aeson..=) "created" (radar'earlyFraudWarningCreated obj) GHC.Base.<> ((Data.Aeson..=) "fraud_type" (radar'earlyFraudWarningFraudType obj) GHC.Base.<> ((Data.Aeson..=) "id" (radar'earlyFraudWarningId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (radar'earlyFraudWarningLivemode obj) GHC.Base.<> (Data.Aeson..=) "object" (radar'earlyFraudWarningObject obj))))))) instance Data.Aeson.Types.FromJSON.FromJSON Radar'earlyFraudWarning where parseJSON = Data.Aeson.Types.FromJSON.withObject "Radar'earlyFraudWarning" (\obj -> ((((((GHC.Base.pure Radar'earlyFraudWarning GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "actionable")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "fraud_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) -- | Define the one-of schema radar.early_fraud_warningCharge\' -- -- ID of the charge this early fraud warning is for, optionally expanded. data Radar'earlyFraudWarningCharge'Variants = Radar'earlyFraudWarningCharge'Charge Charge | Radar'earlyFraudWarningCharge'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON Radar'earlyFraudWarningCharge'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON Radar'earlyFraudWarningCharge'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema radar.early_fraud_warningObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Radar'earlyFraudWarningObject' = Radar'earlyFraudWarningObject'EnumOther Data.Aeson.Types.Internal.Value | Radar'earlyFraudWarningObject'EnumTyped GHC.Base.String | Radar'earlyFraudWarningObject'EnumStringRadar'earlyFraudWarning deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Radar'earlyFraudWarningObject' where toJSON (Radar'earlyFraudWarningObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Radar'earlyFraudWarningObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Radar'earlyFraudWarningObject'EnumStringRadar'earlyFraudWarning) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "radar.early_fraud_warning" instance Data.Aeson.FromJSON Radar'earlyFraudWarningObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "radar.early_fraud_warning") then Radar'earlyFraudWarningObject'EnumStringRadar'earlyFraudWarning else Radar'earlyFraudWarningObject'EnumOther val) -- | Defines the data type for the schema recipient -- -- With \`Recipient\` objects, you can transfer money from your Stripe account to a -- third-party bank account or debit card. The API allows you to create, delete, -- and update your recipients. You can retrieve individual recipients as well as -- a list of all your recipients. -- -- **\`Recipient\` objects have been deprecated in favor of -- [Connect](https:\/\/stripe.com\/docs\/connect), specifically Connect\'s much more powerful -- [Account objects](https:\/\/stripe.com\/docs\/api\#account). Stripe accounts that don\'t already use -- recipients can no longer begin doing so. Please use \`Account\` objects -- instead. If you are already using recipients, please see our -- [migration guide](https:\/\/stripe.com\/docs\/connect\/recipient-account-migrations) for more information.** data Recipient = Recipient { -- | active_account: Hash describing the current account on the recipient, if there is one. recipientActiveAccount :: (GHC.Maybe.Maybe RecipientActiveAccount') -- | cards: , recipientCards :: (GHC.Maybe.Maybe RecipientCards') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , recipientCreated :: GHC.Integer.Type.Integer -- | default_card: The default card to use for creating transfers to this recipient. , recipientDefaultCard :: (GHC.Maybe.Maybe RecipientDefaultCard'Variants) -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , recipientDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | email -- -- Constraints: -- -- * Maximum length of 5000 , recipientEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , recipientId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , recipientLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , recipientMetadata :: RecipientMetadata' -- | migrated_to: The ID of the [Custom account](https:\/\/stripe.com\/docs\/connect\/custom-accounts) this recipient was migrated to. If set, the recipient can no longer be updated, nor can transfers be made to it: use the Custom account instead. , recipientMigratedTo :: (GHC.Maybe.Maybe RecipientMigratedTo'Variants) -- | name: Full, legal name of the recipient. -- -- Constraints: -- -- * Maximum length of 5000 , recipientName :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , recipientObject :: RecipientObject' -- | rolled_back_from , recipientRolledBackFrom :: (GHC.Maybe.Maybe RecipientRolledBackFrom'Variants) -- | type: Type of the recipient, one of \`individual\` or \`corporation\`. -- -- Constraints: -- -- * Maximum length of 5000 , recipientType :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Recipient where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "active_account" (recipientActiveAccount obj) : (Data.Aeson..=) "cards" (recipientCards obj) : (Data.Aeson..=) "created" (recipientCreated obj) : (Data.Aeson..=) "default_card" (recipientDefaultCard obj) : (Data.Aeson..=) "description" (recipientDescription obj) : (Data.Aeson..=) "email" (recipientEmail obj) : (Data.Aeson..=) "id" (recipientId obj) : (Data.Aeson..=) "livemode" (recipientLivemode obj) : (Data.Aeson..=) "metadata" (recipientMetadata obj) : (Data.Aeson..=) "migrated_to" (recipientMigratedTo obj) : (Data.Aeson..=) "name" (recipientName obj) : (Data.Aeson..=) "object" (recipientObject obj) : (Data.Aeson..=) "rolled_back_from" (recipientRolledBackFrom obj) : (Data.Aeson..=) "type" (recipientType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "active_account" (recipientActiveAccount obj) GHC.Base.<> ((Data.Aeson..=) "cards" (recipientCards obj) GHC.Base.<> ((Data.Aeson..=) "created" (recipientCreated obj) GHC.Base.<> ((Data.Aeson..=) "default_card" (recipientDefaultCard obj) GHC.Base.<> ((Data.Aeson..=) "description" (recipientDescription obj) GHC.Base.<> ((Data.Aeson..=) "email" (recipientEmail obj) GHC.Base.<> ((Data.Aeson..=) "id" (recipientId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (recipientLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (recipientMetadata obj) GHC.Base.<> ((Data.Aeson..=) "migrated_to" (recipientMigratedTo obj) GHC.Base.<> ((Data.Aeson..=) "name" (recipientName obj) GHC.Base.<> ((Data.Aeson..=) "object" (recipientObject obj) GHC.Base.<> ((Data.Aeson..=) "rolled_back_from" (recipientRolledBackFrom obj) GHC.Base.<> (Data.Aeson..=) "type" (recipientType obj)))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Recipient where parseJSON = Data.Aeson.Types.FromJSON.withObject "Recipient" (\obj -> (((((((((((((GHC.Base.pure Recipient GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "active_account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cards")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "migrated_to")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "rolled_back_from")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the data type for the schema recipientActive_account\' -- -- Hash describing the current account on the recipient, if there is one. data RecipientActiveAccount' = RecipientActiveAccount' { -- | account: The ID of the account that the bank account is associated with. recipientActiveAccount'Account :: (GHC.Maybe.Maybe RecipientActiveAccount'Account'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'BankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , recipientActiveAccount'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer that the bank account is associated with. , recipientActiveAccount'Customer :: (GHC.Maybe.Maybe RecipientActiveAccount'Customer'Variants) -- | default_for_currency: Whether this bank account is the default external account for its currency. , recipientActiveAccount'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'Last4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , recipientActiveAccount'Metadata :: (GHC.Maybe.Maybe RecipientActiveAccount'Metadata') -- | object: String representing the object\'s type. Objects of the same type share the same value. , recipientActiveAccount'Object :: (GHC.Maybe.Maybe RecipientActiveAccount'Object') -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , recipientActiveAccount'Status :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON RecipientActiveAccount' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (recipientActiveAccount'Account obj) : (Data.Aeson..=) "account_holder_name" (recipientActiveAccount'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (recipientActiveAccount'AccountHolderType obj) : (Data.Aeson..=) "bank_name" (recipientActiveAccount'BankName obj) : (Data.Aeson..=) "country" (recipientActiveAccount'Country obj) : (Data.Aeson..=) "currency" (recipientActiveAccount'Currency obj) : (Data.Aeson..=) "customer" (recipientActiveAccount'Customer obj) : (Data.Aeson..=) "default_for_currency" (recipientActiveAccount'DefaultForCurrency obj) : (Data.Aeson..=) "fingerprint" (recipientActiveAccount'Fingerprint obj) : (Data.Aeson..=) "id" (recipientActiveAccount'Id obj) : (Data.Aeson..=) "last4" (recipientActiveAccount'Last4 obj) : (Data.Aeson..=) "metadata" (recipientActiveAccount'Metadata obj) : (Data.Aeson..=) "object" (recipientActiveAccount'Object obj) : (Data.Aeson..=) "routing_number" (recipientActiveAccount'RoutingNumber obj) : (Data.Aeson..=) "status" (recipientActiveAccount'Status obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (recipientActiveAccount'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (recipientActiveAccount'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (recipientActiveAccount'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (recipientActiveAccount'BankName obj) GHC.Base.<> ((Data.Aeson..=) "country" (recipientActiveAccount'Country obj) GHC.Base.<> ((Data.Aeson..=) "currency" (recipientActiveAccount'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (recipientActiveAccount'Customer obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (recipientActiveAccount'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (recipientActiveAccount'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "id" (recipientActiveAccount'Id obj) GHC.Base.<> ((Data.Aeson..=) "last4" (recipientActiveAccount'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (recipientActiveAccount'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (recipientActiveAccount'Object obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (recipientActiveAccount'RoutingNumber obj) GHC.Base.<> (Data.Aeson..=) "status" (recipientActiveAccount'Status obj))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON RecipientActiveAccount' where parseJSON = Data.Aeson.Types.FromJSON.withObject "RecipientActiveAccount'" (\obj -> ((((((((((((((GHC.Base.pure RecipientActiveAccount' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) -- | Define the one-of schema recipientActive_account\'Account\' -- -- The ID of the account that the bank account is associated with. data RecipientActiveAccount'Account'Variants = RecipientActiveAccount'Account'Account Account | RecipientActiveAccount'Account'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RecipientActiveAccount'Account'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RecipientActiveAccount'Account'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema recipientActive_account\'Customer\' -- -- The ID of the customer that the bank account is associated with. data RecipientActiveAccount'Customer'Variants = RecipientActiveAccount'Customer'Customer Customer | RecipientActiveAccount'Customer'DeletedCustomer DeletedCustomer | RecipientActiveAccount'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RecipientActiveAccount'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RecipientActiveAccount'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema recipientActive_account\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data RecipientActiveAccount'Metadata' = RecipientActiveAccount'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON RecipientActiveAccount'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON RecipientActiveAccount'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "RecipientActiveAccount'Metadata'" (\obj -> GHC.Base.pure RecipientActiveAccount'Metadata') -- | Defines the enum schema recipientActive_account\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data RecipientActiveAccount'Object' = RecipientActiveAccount'Object'EnumOther Data.Aeson.Types.Internal.Value | RecipientActiveAccount'Object'EnumTyped GHC.Base.String | RecipientActiveAccount'Object'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON RecipientActiveAccount'Object' where toJSON (RecipientActiveAccount'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (RecipientActiveAccount'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (RecipientActiveAccount'Object'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON RecipientActiveAccount'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then RecipientActiveAccount'Object'EnumStringBankAccount else RecipientActiveAccount'Object'EnumOther val) -- | Defines the data type for the schema recipientCards\' -- -- data RecipientCards' = RecipientCards' { -- | data recipientCards'Data :: ([] Card) -- | has_more: True if this list has another page of items after this one that can be fetched. , recipientCards'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , recipientCards'Object :: RecipientCards'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , recipientCards'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON RecipientCards' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (recipientCards'Data obj) : (Data.Aeson..=) "has_more" (recipientCards'HasMore obj) : (Data.Aeson..=) "object" (recipientCards'Object obj) : (Data.Aeson..=) "url" (recipientCards'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (recipientCards'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (recipientCards'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (recipientCards'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (recipientCards'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON RecipientCards' where parseJSON = Data.Aeson.Types.FromJSON.withObject "RecipientCards'" (\obj -> (((GHC.Base.pure RecipientCards' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema recipientCards\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data RecipientCards'Object' = RecipientCards'Object'EnumOther Data.Aeson.Types.Internal.Value | RecipientCards'Object'EnumTyped GHC.Base.String | RecipientCards'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON RecipientCards'Object' where toJSON (RecipientCards'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (RecipientCards'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (RecipientCards'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON RecipientCards'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then RecipientCards'Object'EnumStringList else RecipientCards'Object'EnumOther val) -- | Define the one-of schema recipientDefault_card\' -- -- The default card to use for creating transfers to this recipient. data RecipientDefaultCard'Variants = RecipientDefaultCard'Card Card | RecipientDefaultCard'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RecipientDefaultCard'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RecipientDefaultCard'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema recipientMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data RecipientMetadata' = RecipientMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON RecipientMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON RecipientMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "RecipientMetadata'" (\obj -> GHC.Base.pure RecipientMetadata') -- | Define the one-of schema recipientMigrated_to\' -- -- The ID of the [Custom account](https:\/\/stripe.com\/docs\/connect\/custom-accounts) this recipient was migrated to. If set, the recipient can no longer be updated, nor can transfers be made to it: use the Custom account instead. data RecipientMigratedTo'Variants = RecipientMigratedTo'Account Account | RecipientMigratedTo'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RecipientMigratedTo'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RecipientMigratedTo'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema recipientObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data RecipientObject' = RecipientObject'EnumOther Data.Aeson.Types.Internal.Value | RecipientObject'EnumTyped GHC.Base.String | RecipientObject'EnumStringRecipient deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON RecipientObject' where toJSON (RecipientObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (RecipientObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (RecipientObject'EnumStringRecipient) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recipient" instance Data.Aeson.FromJSON RecipientObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "recipient") then RecipientObject'EnumStringRecipient else RecipientObject'EnumOther val) -- | Define the one-of schema recipientRolled_back_from\' -- -- data RecipientRolledBackFrom'Variants = RecipientRolledBackFrom'Account Account | RecipientRolledBackFrom'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RecipientRolledBackFrom'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RecipientRolledBackFrom'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema refund -- -- \`Refund\` objects allow you to refund a charge that has previously been created -- but not yet refunded. Funds will be refunded to the credit or debit card that -- was originally charged. -- -- Related guide: [Refunds](https:\/\/stripe.com\/docs\/refunds). data Refund = Refund { -- | amount: Amount, in %s. refundAmount :: GHC.Integer.Type.Integer -- | balance_transaction: Balance transaction that describes the impact on your account balance. , refundBalanceTransaction :: (GHC.Maybe.Maybe RefundBalanceTransaction'Variants) -- | charge: ID of the charge that was refunded. , refundCharge :: (GHC.Maybe.Maybe RefundCharge'Variants) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , refundCreated :: GHC.Integer.Type.Integer -- | 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). , refundCurrency :: GHC.Base.String -- | description: An arbitrary string attached to the object. Often useful for displaying to users. (Available on non-card refunds only) -- -- Constraints: -- -- * Maximum length of 5000 , refundDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | failure_balance_transaction: If the refund failed, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction. , refundFailureBalanceTransaction :: (GHC.Maybe.Maybe RefundFailureBalanceTransaction'Variants) -- | failure_reason: If the refund failed, the reason for refund failure if known. Possible values are \`lost_or_stolen_card\`, \`expired_or_canceled_card\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , refundFailureReason :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , refundId :: GHC.Base.String -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , refundMetadata :: RefundMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , refundObject :: RefundObject' -- | payment_intent: ID of the PaymentIntent that was refunded. , refundPaymentIntent :: (GHC.Maybe.Maybe RefundPaymentIntent'Variants) -- | reason: Reason for the refund, either user-provided (\`duplicate\`, \`fraudulent\`, or \`requested_by_customer\`) or generated by Stripe internally (\`expired_uncaptured_charge\`). -- -- Constraints: -- -- * Maximum length of 5000 , refundReason :: (GHC.Maybe.Maybe GHC.Base.String) -- | receipt_number: This is the transaction number that appears on email receipts sent for this refund. -- -- Constraints: -- -- * Maximum length of 5000 , refundReceiptNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | source_transfer_reversal: The transfer reversal that is associated with the refund. Only present if the charge came from another Stripe account. See the Connect documentation for details. , refundSourceTransferReversal :: (GHC.Maybe.Maybe RefundSourceTransferReversal'Variants) -- | status: Status of the refund. For credit card refunds, this can be \`pending\`, \`succeeded\`, or \`failed\`. For other types of refunds, it can be \`pending\`, \`succeeded\`, \`failed\`, or \`canceled\`. Refer to our [refunds](https:\/\/stripe.com\/docs\/refunds\#failed-refunds) documentation for more details. -- -- Constraints: -- -- * Maximum length of 5000 , refundStatus :: (GHC.Maybe.Maybe GHC.Base.String) -- | transfer_reversal: If the accompanying transfer was reversed, the transfer reversal object. Only applicable if the charge was created using the destination parameter. , refundTransferReversal :: (GHC.Maybe.Maybe RefundTransferReversal'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Refund where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (refundAmount obj) : (Data.Aeson..=) "balance_transaction" (refundBalanceTransaction obj) : (Data.Aeson..=) "charge" (refundCharge obj) : (Data.Aeson..=) "created" (refundCreated obj) : (Data.Aeson..=) "currency" (refundCurrency obj) : (Data.Aeson..=) "description" (refundDescription obj) : (Data.Aeson..=) "failure_balance_transaction" (refundFailureBalanceTransaction obj) : (Data.Aeson..=) "failure_reason" (refundFailureReason obj) : (Data.Aeson..=) "id" (refundId obj) : (Data.Aeson..=) "metadata" (refundMetadata obj) : (Data.Aeson..=) "object" (refundObject obj) : (Data.Aeson..=) "payment_intent" (refundPaymentIntent obj) : (Data.Aeson..=) "reason" (refundReason obj) : (Data.Aeson..=) "receipt_number" (refundReceiptNumber obj) : (Data.Aeson..=) "source_transfer_reversal" (refundSourceTransferReversal obj) : (Data.Aeson..=) "status" (refundStatus obj) : (Data.Aeson..=) "transfer_reversal" (refundTransferReversal obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (refundAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (refundBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "charge" (refundCharge obj) GHC.Base.<> ((Data.Aeson..=) "created" (refundCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (refundCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (refundDescription obj) GHC.Base.<> ((Data.Aeson..=) "failure_balance_transaction" (refundFailureBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "failure_reason" (refundFailureReason obj) GHC.Base.<> ((Data.Aeson..=) "id" (refundId obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (refundMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (refundObject obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (refundPaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "reason" (refundReason obj) GHC.Base.<> ((Data.Aeson..=) "receipt_number" (refundReceiptNumber obj) GHC.Base.<> ((Data.Aeson..=) "source_transfer_reversal" (refundSourceTransferReversal obj) GHC.Base.<> ((Data.Aeson..=) "status" (refundStatus obj) GHC.Base.<> (Data.Aeson..=) "transfer_reversal" (refundTransferReversal obj))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Refund where parseJSON = Data.Aeson.Types.FromJSON.withObject "Refund" (\obj -> ((((((((((((((((GHC.Base.pure Refund GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receipt_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_transfer_reversal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_reversal")) -- | Define the one-of schema refundBalance_transaction\' -- -- Balance transaction that describes the impact on your account balance. data RefundBalanceTransaction'Variants = RefundBalanceTransaction'BalanceTransaction BalanceTransaction | RefundBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RefundBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RefundBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema refundCharge\' -- -- ID of the charge that was refunded. data RefundCharge'Variants = RefundCharge'Charge Charge | RefundCharge'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RefundCharge'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RefundCharge'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema refundFailure_balance_transaction\' -- -- If the refund failed, this balance transaction describes the adjustment made on your account balance that reverses the initial balance transaction. data RefundFailureBalanceTransaction'Variants = RefundFailureBalanceTransaction'BalanceTransaction BalanceTransaction | RefundFailureBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RefundFailureBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RefundFailureBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema refundMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data RefundMetadata' = RefundMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON RefundMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON RefundMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "RefundMetadata'" (\obj -> GHC.Base.pure RefundMetadata') -- | Defines the enum schema refundObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data RefundObject' = RefundObject'EnumOther Data.Aeson.Types.Internal.Value | RefundObject'EnumTyped GHC.Base.String | RefundObject'EnumStringRefund deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON RefundObject' where toJSON (RefundObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (RefundObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (RefundObject'EnumStringRefund) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund" instance Data.Aeson.FromJSON RefundObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refund") then RefundObject'EnumStringRefund else RefundObject'EnumOther val) -- | Define the one-of schema refundPayment_intent\' -- -- ID of the PaymentIntent that was refunded. data RefundPaymentIntent'Variants = RefundPaymentIntent'PaymentIntent PaymentIntent | RefundPaymentIntent'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RefundPaymentIntent'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RefundPaymentIntent'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema refundSource_transfer_reversal\' -- -- The transfer reversal that is associated with the refund. Only present if the charge came from another Stripe account. See the Connect documentation for details. data RefundSourceTransferReversal'Variants = RefundSourceTransferReversal'TransferReversal TransferReversal | RefundSourceTransferReversal'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RefundSourceTransferReversal'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RefundSourceTransferReversal'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema refundTransfer_reversal\' -- -- If the accompanying transfer was reversed, the transfer reversal object. Only applicable if the charge was created using the destination parameter. data RefundTransferReversal'Variants = RefundTransferReversal'TransferReversal TransferReversal | RefundTransferReversal'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON RefundTransferReversal'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON RefundTransferReversal'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema reporting.report_run -- -- The Report Run object represents an instance of a report type generated with -- specific run parameters. Once the object is created, Stripe begins processing the report. -- When the report has finished running, it will give you a reference to a file -- where you can retrieve your results. For an overview, see -- [API Access to Reports](https:\/\/stripe.com\/docs\/reporting\/statements\/api). -- -- Note that reports can only be run based on your live-mode data (not test-mode -- data), and thus related requests must be made with a -- [live-mode API key](https:\/\/stripe.com\/docs\/keys\#test-live-modes). data Reporting'reportRun = Reporting'reportRun { -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. reporting'reportRunCreated :: GHC.Integer.Type.Integer -- | error: If something should go wrong during the run, a message about the failure (populated when -- \`status=failed\`). -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunError :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunId :: GHC.Base.String -- | livemode: Always \`true\`: reports can only be run on live-mode data. , reporting'reportRunLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , reporting'reportRunObject :: Reporting'reportRunObject' -- | parameters: , reporting'reportRunParameters :: FinancialReportingFinanceReportRunRunParameters -- | report_type: The ID of the [report type](https:\/\/stripe.com\/docs\/reporting\/statements\/api\#report-types) to run, such as \`\"balance.summary.1\"\`. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunReportType :: GHC.Base.String -- | result: The file object representing the result of the report run (populated when -- \`status=succeeded\`). , reporting'reportRunResult :: (GHC.Maybe.Maybe Reporting'reportRunResult') -- | status: Status of this report run. This will be \`pending\` when the run is initially created. -- When the run finishes, this will be set to \`succeeded\` and the \`result\` field will be populated. -- Rarely, we may encounter an error, at which point this will be set to \`failed\` and the \`error\` field will be populated. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunStatus :: GHC.Base.String -- | succeeded_at: Timestamp at which this run successfully finished (populated when -- \`status=succeeded\`). Measured in seconds since the Unix epoch. , reporting'reportRunSucceededAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Reporting'reportRun where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "created" (reporting'reportRunCreated obj) : (Data.Aeson..=) "error" (reporting'reportRunError obj) : (Data.Aeson..=) "id" (reporting'reportRunId obj) : (Data.Aeson..=) "livemode" (reporting'reportRunLivemode obj) : (Data.Aeson..=) "object" (reporting'reportRunObject obj) : (Data.Aeson..=) "parameters" (reporting'reportRunParameters obj) : (Data.Aeson..=) "report_type" (reporting'reportRunReportType obj) : (Data.Aeson..=) "result" (reporting'reportRunResult obj) : (Data.Aeson..=) "status" (reporting'reportRunStatus obj) : (Data.Aeson..=) "succeeded_at" (reporting'reportRunSucceededAt obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "created" (reporting'reportRunCreated obj) GHC.Base.<> ((Data.Aeson..=) "error" (reporting'reportRunError obj) GHC.Base.<> ((Data.Aeson..=) "id" (reporting'reportRunId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (reporting'reportRunLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (reporting'reportRunObject obj) GHC.Base.<> ((Data.Aeson..=) "parameters" (reporting'reportRunParameters obj) GHC.Base.<> ((Data.Aeson..=) "report_type" (reporting'reportRunReportType obj) GHC.Base.<> ((Data.Aeson..=) "result" (reporting'reportRunResult obj) GHC.Base.<> ((Data.Aeson..=) "status" (reporting'reportRunStatus obj) GHC.Base.<> (Data.Aeson..=) "succeeded_at" (reporting'reportRunSucceededAt obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Reporting'reportRun where parseJSON = Data.Aeson.Types.FromJSON.withObject "Reporting'reportRun" (\obj -> (((((((((GHC.Base.pure Reporting'reportRun GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "error")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "parameters")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "report_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "result")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "succeeded_at")) -- | Defines the enum schema reporting.report_runObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Reporting'reportRunObject' = Reporting'reportRunObject'EnumOther Data.Aeson.Types.Internal.Value | Reporting'reportRunObject'EnumTyped GHC.Base.String | Reporting'reportRunObject'EnumStringReporting'reportRun deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Reporting'reportRunObject' where toJSON (Reporting'reportRunObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Reporting'reportRunObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Reporting'reportRunObject'EnumStringReporting'reportRun) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reporting.report_run" instance Data.Aeson.FromJSON Reporting'reportRunObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reporting.report_run") then Reporting'reportRunObject'EnumStringReporting'reportRun else Reporting'reportRunObject'EnumOther val) -- | Defines the data type for the schema reporting.report_runResult\' -- -- The file object representing the result of the report run (populated when -- \\\`status=succeeded\\\`). data Reporting'reportRunResult' = Reporting'reportRunResult' { -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. reporting'reportRunResult'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | filename: A filename for the file, suitable for saving to a filesystem. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunResult'Filename :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunResult'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | links: A list of [file links](https:\/\/stripe.com\/docs\/api\#file_links) that point at this file. , reporting'reportRunResult'Links :: (GHC.Maybe.Maybe Reporting'reportRunResult'Links') -- | object: String representing the object\'s type. Objects of the same type share the same value. , reporting'reportRunResult'Object :: (GHC.Maybe.Maybe Reporting'reportRunResult'Object') -- | purpose: The purpose of the file. Possible values are \`additional_verification\`, \`business_icon\`, \`business_logo\`, \`customer_signature\`, \`dispute_evidence\`, \`finance_report_run\`, \`identity_document\`, \`pci_document\`, \`sigma_scheduled_query\`, or \`tax_document_user_upload\`. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunResult'Purpose :: (GHC.Maybe.Maybe GHC.Base.String) -- | size: The size in bytes of the file object. , reporting'reportRunResult'Size :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | title: A user friendly title for the document. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunResult'Title :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: The type of the file returned (e.g., \`csv\`, \`pdf\`, \`jpg\`, or \`png\`). -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunResult'Type :: (GHC.Maybe.Maybe GHC.Base.String) -- | url: The URL from which the file can be downloaded using your live secret API key. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunResult'Url :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Reporting'reportRunResult' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "created" (reporting'reportRunResult'Created obj) : (Data.Aeson..=) "filename" (reporting'reportRunResult'Filename obj) : (Data.Aeson..=) "id" (reporting'reportRunResult'Id obj) : (Data.Aeson..=) "links" (reporting'reportRunResult'Links obj) : (Data.Aeson..=) "object" (reporting'reportRunResult'Object obj) : (Data.Aeson..=) "purpose" (reporting'reportRunResult'Purpose obj) : (Data.Aeson..=) "size" (reporting'reportRunResult'Size obj) : (Data.Aeson..=) "title" (reporting'reportRunResult'Title obj) : (Data.Aeson..=) "type" (reporting'reportRunResult'Type obj) : (Data.Aeson..=) "url" (reporting'reportRunResult'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "created" (reporting'reportRunResult'Created obj) GHC.Base.<> ((Data.Aeson..=) "filename" (reporting'reportRunResult'Filename obj) GHC.Base.<> ((Data.Aeson..=) "id" (reporting'reportRunResult'Id obj) GHC.Base.<> ((Data.Aeson..=) "links" (reporting'reportRunResult'Links obj) GHC.Base.<> ((Data.Aeson..=) "object" (reporting'reportRunResult'Object obj) GHC.Base.<> ((Data.Aeson..=) "purpose" (reporting'reportRunResult'Purpose obj) GHC.Base.<> ((Data.Aeson..=) "size" (reporting'reportRunResult'Size obj) GHC.Base.<> ((Data.Aeson..=) "title" (reporting'reportRunResult'Title obj) GHC.Base.<> ((Data.Aeson..=) "type" (reporting'reportRunResult'Type obj) GHC.Base.<> (Data.Aeson..=) "url" (reporting'reportRunResult'Url obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Reporting'reportRunResult' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Reporting'reportRunResult'" (\obj -> (((((((((GHC.Base.pure Reporting'reportRunResult' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "filename")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "links")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "purpose")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "size")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "title")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url")) -- | Defines the data type for the schema reporting.report_runResult\'Links\' -- -- A list of [file links](https:\/\/stripe.com\/docs\/api\#file_links) that point at this file. data Reporting'reportRunResult'Links' = Reporting'reportRunResult'Links' { -- | data: Details about each object. reporting'reportRunResult'Links'Data :: ([] FileLink) -- | has_more: True if this list has another page of items after this one that can be fetched. , reporting'reportRunResult'Links'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , reporting'reportRunResult'Links'Object :: Reporting'reportRunResult'Links'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , reporting'reportRunResult'Links'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Reporting'reportRunResult'Links' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (reporting'reportRunResult'Links'Data obj) : (Data.Aeson..=) "has_more" (reporting'reportRunResult'Links'HasMore obj) : (Data.Aeson..=) "object" (reporting'reportRunResult'Links'Object obj) : (Data.Aeson..=) "url" (reporting'reportRunResult'Links'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (reporting'reportRunResult'Links'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (reporting'reportRunResult'Links'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (reporting'reportRunResult'Links'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (reporting'reportRunResult'Links'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON Reporting'reportRunResult'Links' where parseJSON = Data.Aeson.Types.FromJSON.withObject "Reporting'reportRunResult'Links'" (\obj -> (((GHC.Base.pure Reporting'reportRunResult'Links' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema reporting.report_runResult\'Links\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data Reporting'reportRunResult'Links'Object' = Reporting'reportRunResult'Links'Object'EnumOther Data.Aeson.Types.Internal.Value | Reporting'reportRunResult'Links'Object'EnumTyped GHC.Base.String | Reporting'reportRunResult'Links'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Reporting'reportRunResult'Links'Object' where toJSON (Reporting'reportRunResult'Links'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Reporting'reportRunResult'Links'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Reporting'reportRunResult'Links'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON Reporting'reportRunResult'Links'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then Reporting'reportRunResult'Links'Object'EnumStringList else Reporting'reportRunResult'Links'Object'EnumOther val) -- | Defines the enum schema reporting.report_runResult\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data Reporting'reportRunResult'Object' = Reporting'reportRunResult'Object'EnumOther Data.Aeson.Types.Internal.Value | Reporting'reportRunResult'Object'EnumTyped GHC.Base.String | Reporting'reportRunResult'Object'EnumStringFile deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON Reporting'reportRunResult'Object' where toJSON (Reporting'reportRunResult'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Reporting'reportRunResult'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (Reporting'reportRunResult'Object'EnumStringFile) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "file" instance Data.Aeson.FromJSON Reporting'reportRunResult'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "file") then Reporting'reportRunResult'Object'EnumStringFile else Reporting'reportRunResult'Object'EnumOther val) -- | Defines the data type for the schema review -- -- Reviews can be used to supplement automated fraud detection with human expertise. -- -- Learn more about [Radar](\/radar) and reviewing payments -- [here](https:\/\/stripe.com\/docs\/radar\/reviews). data Review = Review { -- | billing_zip: The ZIP or postal code of the card used, if applicable. -- -- Constraints: -- -- * Maximum length of 5000 reviewBillingZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | charge: The charge associated with this review. , reviewCharge :: (GHC.Maybe.Maybe ReviewCharge'Variants) -- | closed_reason: The reason the review was closed, or null if it has not yet been closed. One of \`approved\`, \`refunded\`, \`refunded_as_fraud\`, or \`disputed\`. , reviewClosedReason :: (GHC.Maybe.Maybe ReviewClosedReason') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , reviewCreated :: GHC.Integer.Type.Integer -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , reviewId :: GHC.Base.String -- | ip_address: The IP address where the payment originated. -- -- Constraints: -- -- * Maximum length of 5000 , reviewIpAddress :: (GHC.Maybe.Maybe GHC.Base.String) -- | ip_address_location: Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address. , reviewIpAddressLocation :: (GHC.Maybe.Maybe ReviewIpAddressLocation') -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , reviewLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , reviewObject :: ReviewObject' -- | open: If \`true\`, the review needs action. , reviewOpen :: GHC.Types.Bool -- | opened_reason: The reason the review was opened. One of \`rule\` or \`manual\`. , reviewOpenedReason :: ReviewOpenedReason' -- | payment_intent: The PaymentIntent ID associated with this review, if one exists. , reviewPaymentIntent :: (GHC.Maybe.Maybe ReviewPaymentIntent'Variants) -- | reason: The reason the review is currently open or closed. One of \`rule\`, \`manual\`, \`approved\`, \`refunded\`, \`refunded_as_fraud\`, or \`disputed\`. -- -- Constraints: -- -- * Maximum length of 5000 , reviewReason :: GHC.Base.String -- | session: Information related to the browsing session of the user who initiated the payment. , reviewSession :: (GHC.Maybe.Maybe ReviewSession') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Review where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_zip" (reviewBillingZip obj) : (Data.Aeson..=) "charge" (reviewCharge obj) : (Data.Aeson..=) "closed_reason" (reviewClosedReason obj) : (Data.Aeson..=) "created" (reviewCreated obj) : (Data.Aeson..=) "id" (reviewId obj) : (Data.Aeson..=) "ip_address" (reviewIpAddress obj) : (Data.Aeson..=) "ip_address_location" (reviewIpAddressLocation obj) : (Data.Aeson..=) "livemode" (reviewLivemode obj) : (Data.Aeson..=) "object" (reviewObject obj) : (Data.Aeson..=) "open" (reviewOpen obj) : (Data.Aeson..=) "opened_reason" (reviewOpenedReason obj) : (Data.Aeson..=) "payment_intent" (reviewPaymentIntent obj) : (Data.Aeson..=) "reason" (reviewReason obj) : (Data.Aeson..=) "session" (reviewSession obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_zip" (reviewBillingZip obj) GHC.Base.<> ((Data.Aeson..=) "charge" (reviewCharge obj) GHC.Base.<> ((Data.Aeson..=) "closed_reason" (reviewClosedReason obj) GHC.Base.<> ((Data.Aeson..=) "created" (reviewCreated obj) GHC.Base.<> ((Data.Aeson..=) "id" (reviewId obj) GHC.Base.<> ((Data.Aeson..=) "ip_address" (reviewIpAddress obj) GHC.Base.<> ((Data.Aeson..=) "ip_address_location" (reviewIpAddressLocation obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (reviewLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (reviewObject obj) GHC.Base.<> ((Data.Aeson..=) "open" (reviewOpen obj) GHC.Base.<> ((Data.Aeson..=) "opened_reason" (reviewOpenedReason obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (reviewPaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "reason" (reviewReason obj) GHC.Base.<> (Data.Aeson..=) "session" (reviewSession obj)))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Review where parseJSON = Data.Aeson.Types.FromJSON.withObject "Review" (\obj -> (((((((((((((GHC.Base.pure Review GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "closed_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ip_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ip_address_location")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "open")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "opened_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "session")) -- | Define the one-of schema reviewCharge\' -- -- The charge associated with this review. data ReviewCharge'Variants = ReviewCharge'Charge Charge | ReviewCharge'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ReviewCharge'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ReviewCharge'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema reviewClosed_reason\' -- -- The reason the review was closed, or null if it has not yet been closed. One of \`approved\`, \`refunded\`, \`refunded_as_fraud\`, or \`disputed\`. data ReviewClosedReason' = ReviewClosedReason'EnumOther Data.Aeson.Types.Internal.Value | ReviewClosedReason'EnumTyped GHC.Base.String | ReviewClosedReason'EnumStringApproved | ReviewClosedReason'EnumStringDisputed | ReviewClosedReason'EnumStringRefunded | ReviewClosedReason'EnumStringRefundedAsFraud deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ReviewClosedReason' where toJSON (ReviewClosedReason'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ReviewClosedReason'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ReviewClosedReason'EnumStringApproved) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "approved" toJSON (ReviewClosedReason'EnumStringDisputed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "disputed" toJSON (ReviewClosedReason'EnumStringRefunded) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refunded" toJSON (ReviewClosedReason'EnumStringRefundedAsFraud) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refunded_as_fraud" instance Data.Aeson.FromJSON ReviewClosedReason' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "approved") then ReviewClosedReason'EnumStringApproved else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "disputed") then ReviewClosedReason'EnumStringDisputed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refunded") then ReviewClosedReason'EnumStringRefunded else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "refunded_as_fraud") then ReviewClosedReason'EnumStringRefundedAsFraud else ReviewClosedReason'EnumOther val) -- | Defines the data type for the schema reviewIp_address_location\' -- -- Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address. data ReviewIpAddressLocation' = ReviewIpAddressLocation' { -- | city: The city where the payment originated. -- -- Constraints: -- -- * Maximum length of 5000 reviewIpAddressLocation'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter ISO code representing the country where the payment originated. -- -- Constraints: -- -- * Maximum length of 5000 , reviewIpAddressLocation'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | latitude: The geographic latitude where the payment originated. , reviewIpAddressLocation'Latitude :: (GHC.Maybe.Maybe GHC.Types.Double) -- | longitude: The geographic longitude where the payment originated. , reviewIpAddressLocation'Longitude :: (GHC.Maybe.Maybe GHC.Types.Double) -- | region: The state\/county\/province\/region where the payment originated. -- -- Constraints: -- -- * Maximum length of 5000 , reviewIpAddressLocation'Region :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ReviewIpAddressLocation' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (reviewIpAddressLocation'City obj) : (Data.Aeson..=) "country" (reviewIpAddressLocation'Country obj) : (Data.Aeson..=) "latitude" (reviewIpAddressLocation'Latitude obj) : (Data.Aeson..=) "longitude" (reviewIpAddressLocation'Longitude obj) : (Data.Aeson..=) "region" (reviewIpAddressLocation'Region obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (reviewIpAddressLocation'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (reviewIpAddressLocation'Country obj) GHC.Base.<> ((Data.Aeson..=) "latitude" (reviewIpAddressLocation'Latitude obj) GHC.Base.<> ((Data.Aeson..=) "longitude" (reviewIpAddressLocation'Longitude obj) GHC.Base.<> (Data.Aeson..=) "region" (reviewIpAddressLocation'Region obj))))) instance Data.Aeson.Types.FromJSON.FromJSON ReviewIpAddressLocation' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ReviewIpAddressLocation'" (\obj -> ((((GHC.Base.pure ReviewIpAddressLocation' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "latitude")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "longitude")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "region")) -- | Defines the enum schema reviewObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ReviewObject' = ReviewObject'EnumOther Data.Aeson.Types.Internal.Value | ReviewObject'EnumTyped GHC.Base.String | ReviewObject'EnumStringReview deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ReviewObject' where toJSON (ReviewObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ReviewObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ReviewObject'EnumStringReview) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "review" instance Data.Aeson.FromJSON ReviewObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "review") then ReviewObject'EnumStringReview else ReviewObject'EnumOther val) -- | Defines the enum schema reviewOpened_reason\' -- -- The reason the review was opened. One of \`rule\` or \`manual\`. data ReviewOpenedReason' = ReviewOpenedReason'EnumOther Data.Aeson.Types.Internal.Value | ReviewOpenedReason'EnumTyped GHC.Base.String | ReviewOpenedReason'EnumStringManual | ReviewOpenedReason'EnumStringRule deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ReviewOpenedReason' where toJSON (ReviewOpenedReason'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ReviewOpenedReason'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ReviewOpenedReason'EnumStringManual) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual" toJSON (ReviewOpenedReason'EnumStringRule) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rule" instance Data.Aeson.FromJSON ReviewOpenedReason' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "manual") then ReviewOpenedReason'EnumStringManual else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rule") then ReviewOpenedReason'EnumStringRule else ReviewOpenedReason'EnumOther val) -- | Define the one-of schema reviewPayment_intent\' -- -- The PaymentIntent ID associated with this review, if one exists. data ReviewPaymentIntent'Variants = ReviewPaymentIntent'PaymentIntent PaymentIntent | ReviewPaymentIntent'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON ReviewPaymentIntent'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON ReviewPaymentIntent'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema reviewSession\' -- -- Information related to the browsing session of the user who initiated the payment. data ReviewSession' = ReviewSession' { -- | browser: The browser used in this browser session (e.g., \`Chrome\`). -- -- Constraints: -- -- * Maximum length of 5000 reviewSession'Browser :: (GHC.Maybe.Maybe GHC.Base.String) -- | device: Information about the device used for the browser session (e.g., \`Samsung SM-G930T\`). -- -- Constraints: -- -- * Maximum length of 5000 , reviewSession'Device :: (GHC.Maybe.Maybe GHC.Base.String) -- | platform: The platform for the browser session (e.g., \`Macintosh\`). -- -- Constraints: -- -- * Maximum length of 5000 , reviewSession'Platform :: (GHC.Maybe.Maybe GHC.Base.String) -- | version: The version for the browser session (e.g., \`61.0.3163.100\`). -- -- Constraints: -- -- * Maximum length of 5000 , reviewSession'Version :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ReviewSession' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "browser" (reviewSession'Browser obj) : (Data.Aeson..=) "device" (reviewSession'Device obj) : (Data.Aeson..=) "platform" (reviewSession'Platform obj) : (Data.Aeson..=) "version" (reviewSession'Version obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "browser" (reviewSession'Browser obj) GHC.Base.<> ((Data.Aeson..=) "device" (reviewSession'Device obj) GHC.Base.<> ((Data.Aeson..=) "platform" (reviewSession'Platform obj) GHC.Base.<> (Data.Aeson..=) "version" (reviewSession'Version obj)))) instance Data.Aeson.Types.FromJSON.FromJSON ReviewSession' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ReviewSession'" (\obj -> (((GHC.Base.pure ReviewSession' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "browser")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "device")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "platform")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "version")) -- | Defines the data type for the schema scheduled_query_run -- -- If you have [scheduled a Sigma query](https:\/\/stripe.com\/docs\/sigma\/scheduled-queries), you\'ll -- receive a \`sigma.scheduled_query_run.created\` webhook each time the query -- runs. The webhook contains a \`ScheduledQueryRun\` object, which you can use to -- retrieve the query results. data ScheduledQueryRun = ScheduledQueryRun { -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. scheduledQueryRunCreated :: GHC.Integer.Type.Integer -- | data_load_time: When the query was run, Sigma contained a snapshot of your Stripe data at this time. , scheduledQueryRunDataLoadTime :: GHC.Integer.Type.Integer -- | error: , scheduledQueryRunError :: (GHC.Maybe.Maybe SigmaScheduledQueryRunError) -- | file: The file object representing the results of the query. , scheduledQueryRunFile :: (GHC.Maybe.Maybe ScheduledQueryRunFile') -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , scheduledQueryRunLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , scheduledQueryRunObject :: ScheduledQueryRunObject' -- | result_available_until: Time at which the result expires and is no longer available for download. , scheduledQueryRunResultAvailableUntil :: GHC.Integer.Type.Integer -- | sql: SQL for the query. -- -- Constraints: -- -- * Maximum length of 100000 , scheduledQueryRunSql :: GHC.Base.String -- | status: The query\'s execution status, which will be \`completed\` for successful runs, and \`canceled\`, \`failed\`, or \`timed_out\` otherwise. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunStatus :: GHC.Base.String -- | title: Title of the query. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunTitle :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ScheduledQueryRun where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "created" (scheduledQueryRunCreated obj) : (Data.Aeson..=) "data_load_time" (scheduledQueryRunDataLoadTime obj) : (Data.Aeson..=) "error" (scheduledQueryRunError obj) : (Data.Aeson..=) "file" (scheduledQueryRunFile obj) : (Data.Aeson..=) "id" (scheduledQueryRunId obj) : (Data.Aeson..=) "livemode" (scheduledQueryRunLivemode obj) : (Data.Aeson..=) "object" (scheduledQueryRunObject obj) : (Data.Aeson..=) "result_available_until" (scheduledQueryRunResultAvailableUntil obj) : (Data.Aeson..=) "sql" (scheduledQueryRunSql obj) : (Data.Aeson..=) "status" (scheduledQueryRunStatus obj) : (Data.Aeson..=) "title" (scheduledQueryRunTitle obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "created" (scheduledQueryRunCreated obj) GHC.Base.<> ((Data.Aeson..=) "data_load_time" (scheduledQueryRunDataLoadTime obj) GHC.Base.<> ((Data.Aeson..=) "error" (scheduledQueryRunError obj) GHC.Base.<> ((Data.Aeson..=) "file" (scheduledQueryRunFile obj) GHC.Base.<> ((Data.Aeson..=) "id" (scheduledQueryRunId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (scheduledQueryRunLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (scheduledQueryRunObject obj) GHC.Base.<> ((Data.Aeson..=) "result_available_until" (scheduledQueryRunResultAvailableUntil obj) GHC.Base.<> ((Data.Aeson..=) "sql" (scheduledQueryRunSql obj) GHC.Base.<> ((Data.Aeson..=) "status" (scheduledQueryRunStatus obj) GHC.Base.<> (Data.Aeson..=) "title" (scheduledQueryRunTitle obj))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ScheduledQueryRun where parseJSON = Data.Aeson.Types.FromJSON.withObject "ScheduledQueryRun" (\obj -> ((((((((((GHC.Base.pure ScheduledQueryRun GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data_load_time")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "error")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "file")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "result_available_until")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "sql")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "title")) -- | Defines the data type for the schema scheduled_query_runFile\' -- -- The file object representing the results of the query. data ScheduledQueryRunFile' = ScheduledQueryRunFile' { -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. scheduledQueryRunFile'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | filename: A filename for the file, suitable for saving to a filesystem. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunFile'Filename :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunFile'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | links: A list of [file links](https:\/\/stripe.com\/docs\/api\#file_links) that point at this file. , scheduledQueryRunFile'Links :: (GHC.Maybe.Maybe ScheduledQueryRunFile'Links') -- | object: String representing the object\'s type. Objects of the same type share the same value. , scheduledQueryRunFile'Object :: (GHC.Maybe.Maybe ScheduledQueryRunFile'Object') -- | purpose: The purpose of the file. Possible values are \`additional_verification\`, \`business_icon\`, \`business_logo\`, \`customer_signature\`, \`dispute_evidence\`, \`finance_report_run\`, \`identity_document\`, \`pci_document\`, \`sigma_scheduled_query\`, or \`tax_document_user_upload\`. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunFile'Purpose :: (GHC.Maybe.Maybe GHC.Base.String) -- | size: The size in bytes of the file object. , scheduledQueryRunFile'Size :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | title: A user friendly title for the document. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunFile'Title :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: The type of the file returned (e.g., \`csv\`, \`pdf\`, \`jpg\`, or \`png\`). -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunFile'Type :: (GHC.Maybe.Maybe GHC.Base.String) -- | url: The URL from which the file can be downloaded using your live secret API key. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunFile'Url :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ScheduledQueryRunFile' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "created" (scheduledQueryRunFile'Created obj) : (Data.Aeson..=) "filename" (scheduledQueryRunFile'Filename obj) : (Data.Aeson..=) "id" (scheduledQueryRunFile'Id obj) : (Data.Aeson..=) "links" (scheduledQueryRunFile'Links obj) : (Data.Aeson..=) "object" (scheduledQueryRunFile'Object obj) : (Data.Aeson..=) "purpose" (scheduledQueryRunFile'Purpose obj) : (Data.Aeson..=) "size" (scheduledQueryRunFile'Size obj) : (Data.Aeson..=) "title" (scheduledQueryRunFile'Title obj) : (Data.Aeson..=) "type" (scheduledQueryRunFile'Type obj) : (Data.Aeson..=) "url" (scheduledQueryRunFile'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "created" (scheduledQueryRunFile'Created obj) GHC.Base.<> ((Data.Aeson..=) "filename" (scheduledQueryRunFile'Filename obj) GHC.Base.<> ((Data.Aeson..=) "id" (scheduledQueryRunFile'Id obj) GHC.Base.<> ((Data.Aeson..=) "links" (scheduledQueryRunFile'Links obj) GHC.Base.<> ((Data.Aeson..=) "object" (scheduledQueryRunFile'Object obj) GHC.Base.<> ((Data.Aeson..=) "purpose" (scheduledQueryRunFile'Purpose obj) GHC.Base.<> ((Data.Aeson..=) "size" (scheduledQueryRunFile'Size obj) GHC.Base.<> ((Data.Aeson..=) "title" (scheduledQueryRunFile'Title obj) GHC.Base.<> ((Data.Aeson..=) "type" (scheduledQueryRunFile'Type obj) GHC.Base.<> (Data.Aeson..=) "url" (scheduledQueryRunFile'Url obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ScheduledQueryRunFile' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ScheduledQueryRunFile'" (\obj -> (((((((((GHC.Base.pure ScheduledQueryRunFile' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "filename")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "links")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "purpose")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "size")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "title")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "url")) -- | Defines the data type for the schema scheduled_query_runFile\'Links\' -- -- A list of [file links](https:\/\/stripe.com\/docs\/api\#file_links) that point at this file. data ScheduledQueryRunFile'Links' = ScheduledQueryRunFile'Links' { -- | data: Details about each object. scheduledQueryRunFile'Links'Data :: ([] FileLink) -- | has_more: True if this list has another page of items after this one that can be fetched. , scheduledQueryRunFile'Links'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , scheduledQueryRunFile'Links'Object :: ScheduledQueryRunFile'Links'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , scheduledQueryRunFile'Links'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ScheduledQueryRunFile'Links' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (scheduledQueryRunFile'Links'Data obj) : (Data.Aeson..=) "has_more" (scheduledQueryRunFile'Links'HasMore obj) : (Data.Aeson..=) "object" (scheduledQueryRunFile'Links'Object obj) : (Data.Aeson..=) "url" (scheduledQueryRunFile'Links'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (scheduledQueryRunFile'Links'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (scheduledQueryRunFile'Links'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (scheduledQueryRunFile'Links'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (scheduledQueryRunFile'Links'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON ScheduledQueryRunFile'Links' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ScheduledQueryRunFile'Links'" (\obj -> (((GHC.Base.pure ScheduledQueryRunFile'Links' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema scheduled_query_runFile\'Links\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data ScheduledQueryRunFile'Links'Object' = ScheduledQueryRunFile'Links'Object'EnumOther Data.Aeson.Types.Internal.Value | ScheduledQueryRunFile'Links'Object'EnumTyped GHC.Base.String | ScheduledQueryRunFile'Links'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ScheduledQueryRunFile'Links'Object' where toJSON (ScheduledQueryRunFile'Links'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ScheduledQueryRunFile'Links'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ScheduledQueryRunFile'Links'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON ScheduledQueryRunFile'Links'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then ScheduledQueryRunFile'Links'Object'EnumStringList else ScheduledQueryRunFile'Links'Object'EnumOther val) -- | Defines the enum schema scheduled_query_runFile\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ScheduledQueryRunFile'Object' = ScheduledQueryRunFile'Object'EnumOther Data.Aeson.Types.Internal.Value | ScheduledQueryRunFile'Object'EnumTyped GHC.Base.String | ScheduledQueryRunFile'Object'EnumStringFile deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ScheduledQueryRunFile'Object' where toJSON (ScheduledQueryRunFile'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ScheduledQueryRunFile'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ScheduledQueryRunFile'Object'EnumStringFile) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "file" instance Data.Aeson.FromJSON ScheduledQueryRunFile'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "file") then ScheduledQueryRunFile'Object'EnumStringFile else ScheduledQueryRunFile'Object'EnumOther val) -- | Defines the enum schema scheduled_query_runObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ScheduledQueryRunObject' = ScheduledQueryRunObject'EnumOther Data.Aeson.Types.Internal.Value | ScheduledQueryRunObject'EnumTyped GHC.Base.String | ScheduledQueryRunObject'EnumStringScheduledQueryRun deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ScheduledQueryRunObject' where toJSON (ScheduledQueryRunObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ScheduledQueryRunObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ScheduledQueryRunObject'EnumStringScheduledQueryRun) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "scheduled_query_run" instance Data.Aeson.FromJSON ScheduledQueryRunObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "scheduled_query_run") then ScheduledQueryRunObject'EnumStringScheduledQueryRun else ScheduledQueryRunObject'EnumOther val) -- | Defines the data type for the schema setup_intent -- -- A SetupIntent guides you through the process of setting up a customer\'s payment credentials for future payments. -- For example, you could use a SetupIntent to set up your customer\'s card without immediately collecting a payment. -- Later, you can use [PaymentIntents](https:\/\/stripe.com\/docs\/api\#payment_intents) to drive the payment flow. -- -- Create a SetupIntent as soon as you\'re ready to collect your customer\'s payment credentials. -- Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid. -- The SetupIntent then transitions through multiple [statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) as it guides -- you through the setup process. -- -- Successful SetupIntents result in payment credentials that are optimized for future payments. -- For example, cardholders in [certain regions](\/guides\/strong-customer-authentication) may need to be run through -- [Strong Customer Authentication](https:\/\/stripe.com\/docs\/strong-customer-authentication) at the time of payment method collection -- in order to streamline later [off-session payments](https:\/\/stripe.com\/docs\/payments\/setup-intents). -- -- By using SetupIntents, you ensure that your customers experience the minimum set of required friction, -- even as regulations change over time. data SetupIntent = SetupIntent { -- | application: ID of the Connect application that created the SetupIntent. setupIntentApplication :: (GHC.Maybe.Maybe SetupIntentApplication'Variants) -- | cancellation_reason: Reason for cancellation of this SetupIntent, one of \`abandoned\`, \`requested_by_customer\`, or \`duplicate\`. , setupIntentCancellationReason :: (GHC.Maybe.Maybe SetupIntentCancellationReason') -- | client_secret: The client secret of this SetupIntent. Used for client-side retrieval using a publishable key. -- -- The client secret can be used to complete payment setup from your frontend. It should not be stored, logged, embedded in URLs, or exposed to anyone other than the customer. Make sure that you have TLS enabled on any page that includes the client secret. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentClientSecret :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , setupIntentCreated :: GHC.Integer.Type.Integer -- | customer: ID of the Customer this SetupIntent belongs to, if one exists. -- -- If present, payment methods used with this SetupIntent can only be attached to this Customer, and payment methods attached to other Customers cannot be used with this SetupIntent. , setupIntentCustomer :: (GHC.Maybe.Maybe SetupIntentCustomer'Variants) -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentId :: GHC.Base.String -- | last_setup_error: The error encountered in the previous SetupIntent confirmation. , setupIntentLastSetupError :: (GHC.Maybe.Maybe SetupIntentLastSetupError') -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , setupIntentLivemode :: GHC.Types.Bool -- | mandate: ID of the multi use Mandate generated by the SetupIntent. , setupIntentMandate :: (GHC.Maybe.Maybe SetupIntentMandate'Variants) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , setupIntentMetadata :: (GHC.Maybe.Maybe SetupIntentMetadata') -- | next_action: If present, this property tells you what actions you need to take in order for your customer to continue payment setup. , setupIntentNextAction :: (GHC.Maybe.Maybe SetupIntentNextAction') -- | object: String representing the object\'s type. Objects of the same type share the same value. , setupIntentObject :: SetupIntentObject' -- | on_behalf_of: The account (if any) for which the setup is intended. , setupIntentOnBehalfOf :: (GHC.Maybe.Maybe SetupIntentOnBehalfOf'Variants) -- | payment_method: ID of the payment method used with this SetupIntent. , setupIntentPaymentMethod :: (GHC.Maybe.Maybe SetupIntentPaymentMethod'Variants) -- | payment_method_options: Payment-method-specific configuration for this SetupIntent. , setupIntentPaymentMethodOptions :: (GHC.Maybe.Maybe SetupIntentPaymentMethodOptions') -- | payment_method_types: The list of payment method types (e.g. card) that this SetupIntent is allowed to set up. , setupIntentPaymentMethodTypes :: ([] GHC.Base.String) -- | single_use_mandate: ID of the single_use Mandate generated by the SetupIntent. , setupIntentSingleUseMandate :: (GHC.Maybe.Maybe SetupIntentSingleUseMandate'Variants) -- | status: [Status](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) of this SetupIntent, one of \`requires_payment_method\`, \`requires_confirmation\`, \`requires_action\`, \`processing\`, \`canceled\`, or \`succeeded\`. , setupIntentStatus :: SetupIntentStatus' -- | usage: Indicates how the payment method is intended to be used in the future. -- -- Use \`on_session\` if you intend to only reuse the payment method when the customer is in your checkout flow. Use \`off_session\` if your customer may or may not be in your checkout flow. If not provided, this value defaults to \`off_session\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentUsage :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntent where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "application" (setupIntentApplication obj) : (Data.Aeson..=) "cancellation_reason" (setupIntentCancellationReason obj) : (Data.Aeson..=) "client_secret" (setupIntentClientSecret obj) : (Data.Aeson..=) "created" (setupIntentCreated obj) : (Data.Aeson..=) "customer" (setupIntentCustomer obj) : (Data.Aeson..=) "description" (setupIntentDescription obj) : (Data.Aeson..=) "id" (setupIntentId obj) : (Data.Aeson..=) "last_setup_error" (setupIntentLastSetupError obj) : (Data.Aeson..=) "livemode" (setupIntentLivemode obj) : (Data.Aeson..=) "mandate" (setupIntentMandate obj) : (Data.Aeson..=) "metadata" (setupIntentMetadata obj) : (Data.Aeson..=) "next_action" (setupIntentNextAction obj) : (Data.Aeson..=) "object" (setupIntentObject obj) : (Data.Aeson..=) "on_behalf_of" (setupIntentOnBehalfOf obj) : (Data.Aeson..=) "payment_method" (setupIntentPaymentMethod obj) : (Data.Aeson..=) "payment_method_options" (setupIntentPaymentMethodOptions obj) : (Data.Aeson..=) "payment_method_types" (setupIntentPaymentMethodTypes obj) : (Data.Aeson..=) "single_use_mandate" (setupIntentSingleUseMandate obj) : (Data.Aeson..=) "status" (setupIntentStatus obj) : (Data.Aeson..=) "usage" (setupIntentUsage obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "application" (setupIntentApplication obj) GHC.Base.<> ((Data.Aeson..=) "cancellation_reason" (setupIntentCancellationReason obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (setupIntentClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "created" (setupIntentCreated obj) GHC.Base.<> ((Data.Aeson..=) "customer" (setupIntentCustomer obj) GHC.Base.<> ((Data.Aeson..=) "description" (setupIntentDescription obj) GHC.Base.<> ((Data.Aeson..=) "id" (setupIntentId obj) GHC.Base.<> ((Data.Aeson..=) "last_setup_error" (setupIntentLastSetupError obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (setupIntentLivemode obj) GHC.Base.<> ((Data.Aeson..=) "mandate" (setupIntentMandate obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (setupIntentMetadata obj) GHC.Base.<> ((Data.Aeson..=) "next_action" (setupIntentNextAction obj) GHC.Base.<> ((Data.Aeson..=) "object" (setupIntentObject obj) GHC.Base.<> ((Data.Aeson..=) "on_behalf_of" (setupIntentOnBehalfOf obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (setupIntentPaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_options" (setupIntentPaymentMethodOptions obj) GHC.Base.<> ((Data.Aeson..=) "payment_method_types" (setupIntentPaymentMethodTypes obj) GHC.Base.<> ((Data.Aeson..=) "single_use_mandate" (setupIntentSingleUseMandate obj) GHC.Base.<> ((Data.Aeson..=) "status" (setupIntentStatus obj) GHC.Base.<> (Data.Aeson..=) "usage" (setupIntentUsage obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntent where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntent" (\obj -> (((((((((((((((((((GHC.Base.pure SetupIntent GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancellation_reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "last_setup_error")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "mandate")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "next_action")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "on_behalf_of")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method_options")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "payment_method_types")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "single_use_mandate")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "usage")) -- | Define the one-of schema setup_intentApplication\' -- -- ID of the Connect application that created the SetupIntent. data SetupIntentApplication'Variants = SetupIntentApplication'Application Application | SetupIntentApplication'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentApplication'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentApplication'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema setup_intentCancellation_reason\' -- -- Reason for cancellation of this SetupIntent, one of \`abandoned\`, \`requested_by_customer\`, or \`duplicate\`. data SetupIntentCancellationReason' = SetupIntentCancellationReason'EnumOther Data.Aeson.Types.Internal.Value | SetupIntentCancellationReason'EnumTyped GHC.Base.String | SetupIntentCancellationReason'EnumStringAbandoned | SetupIntentCancellationReason'EnumStringDuplicate | SetupIntentCancellationReason'EnumStringRequestedByCustomer deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentCancellationReason' where toJSON (SetupIntentCancellationReason'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentCancellationReason'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentCancellationReason'EnumStringAbandoned) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "abandoned" toJSON (SetupIntentCancellationReason'EnumStringDuplicate) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duplicate" toJSON (SetupIntentCancellationReason'EnumStringRequestedByCustomer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requested_by_customer" instance Data.Aeson.FromJSON SetupIntentCancellationReason' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "abandoned") then SetupIntentCancellationReason'EnumStringAbandoned else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "duplicate") then SetupIntentCancellationReason'EnumStringDuplicate else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requested_by_customer") then SetupIntentCancellationReason'EnumStringRequestedByCustomer else SetupIntentCancellationReason'EnumOther val) -- | Define the one-of schema setup_intentCustomer\' -- -- ID of the Customer this SetupIntent belongs to, if one exists. -- -- If present, payment methods used with this SetupIntent can only be attached to this Customer, and payment methods attached to other Customers cannot be used with this SetupIntent. data SetupIntentCustomer'Variants = SetupIntentCustomer'Customer Customer | SetupIntentCustomer'DeletedCustomer DeletedCustomer | SetupIntentCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema setup_intentLast_setup_error\' -- -- The error encountered in the previous SetupIntent confirmation. data SetupIntentLastSetupError' = SetupIntentLastSetupError' { -- | charge: For card errors, the ID of the failed charge. -- -- Constraints: -- -- * Maximum length of 5000 setupIntentLastSetupError'Charge :: (GHC.Maybe.Maybe GHC.Base.String) -- | code: For some errors that could be handled programmatically, a short string indicating the [error code](https:\/\/stripe.com\/docs\/error-codes) reported. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Code :: (GHC.Maybe.Maybe GHC.Base.String) -- | decline_code: For card errors resulting from a card issuer decline, a short string indicating the [card issuer\'s reason for the decline](https:\/\/stripe.com\/docs\/declines\#issuer-declines) if they provide one. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'DeclineCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | doc_url: A URL to more information about the [error code](https:\/\/stripe.com\/docs\/error-codes) reported. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'DocUrl :: (GHC.Maybe.Maybe GHC.Base.String) -- | message: A human-readable message providing more details about the error. For card errors, these messages can be shown to your users. -- -- Constraints: -- -- * Maximum length of 40000 , setupIntentLastSetupError'Message :: (GHC.Maybe.Maybe GHC.Base.String) -- | param: If the error is parameter-specific, the parameter related to the error. For example, you can use this to display a message near the correct form field. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Param :: (GHC.Maybe.Maybe GHC.Base.String) -- | payment_intent: A PaymentIntent guides you through the process of collecting a payment from your customer. -- We recommend that you create exactly one PaymentIntent for each order or -- customer session in your system. You can reference the PaymentIntent later to -- see the history of payment attempts for a particular session. -- -- A PaymentIntent transitions through -- [multiple statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) -- throughout its lifetime as it interfaces with Stripe.js to perform -- authentication flows and ultimately creates at most one successful charge. -- -- Related guide: [Payment Intents API](https:\/\/stripe.com\/docs\/payments\/payment-intents\/creating-payment-intents). , setupIntentLastSetupError'PaymentIntent :: (GHC.Maybe.Maybe PaymentIntent) -- | payment_method: PaymentMethod objects represent your customer\'s payment instruments. -- They can be used with [PaymentIntents](https:\/\/stripe.com\/docs\/payments\/payment-intents) to collect payments or saved to -- Customer objects to store instrument details for future payments. -- -- Related guides: [Payment Methods](https:\/\/stripe.com\/docs\/payments\/payment-methods) and [More Payment Scenarios](https:\/\/stripe.com\/docs\/payments\/more-payment-scenarios). , setupIntentLastSetupError'PaymentMethod :: (GHC.Maybe.Maybe PaymentMethod) -- | setup_intent: A SetupIntent guides you through the process of setting up a customer\'s payment credentials for future payments. -- For example, you could use a SetupIntent to set up your customer\'s card without immediately collecting a payment. -- Later, you can use [PaymentIntents](https:\/\/stripe.com\/docs\/api\#payment_intents) to drive the payment flow. -- -- Create a SetupIntent as soon as you\'re ready to collect your customer\'s payment credentials. -- Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid. -- The SetupIntent then transitions through multiple [statuses](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) as it guides -- you through the setup process. -- -- Successful SetupIntents result in payment credentials that are optimized for future payments. -- For example, cardholders in [certain regions](\/guides\/strong-customer-authentication) may need to be run through -- [Strong Customer Authentication](https:\/\/stripe.com\/docs\/strong-customer-authentication) at the time of payment method collection -- in order to streamline later [off-session payments](https:\/\/stripe.com\/docs\/payments\/setup-intents). -- -- By using SetupIntents, you ensure that your customers experience the minimum set of required friction, -- even as regulations change over time. , setupIntentLastSetupError'SetupIntent :: (GHC.Maybe.Maybe SetupIntent) -- | source: The source object for errors returned on a request involving a source. , setupIntentLastSetupError'Source :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source') -- | type: The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\` , setupIntentLastSetupError'Type :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Type') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "charge" (setupIntentLastSetupError'Charge obj) : (Data.Aeson..=) "code" (setupIntentLastSetupError'Code obj) : (Data.Aeson..=) "decline_code" (setupIntentLastSetupError'DeclineCode obj) : (Data.Aeson..=) "doc_url" (setupIntentLastSetupError'DocUrl obj) : (Data.Aeson..=) "message" (setupIntentLastSetupError'Message obj) : (Data.Aeson..=) "param" (setupIntentLastSetupError'Param obj) : (Data.Aeson..=) "payment_intent" (setupIntentLastSetupError'PaymentIntent obj) : (Data.Aeson..=) "payment_method" (setupIntentLastSetupError'PaymentMethod obj) : (Data.Aeson..=) "setup_intent" (setupIntentLastSetupError'SetupIntent obj) : (Data.Aeson..=) "source" (setupIntentLastSetupError'Source obj) : (Data.Aeson..=) "type" (setupIntentLastSetupError'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "charge" (setupIntentLastSetupError'Charge obj) GHC.Base.<> ((Data.Aeson..=) "code" (setupIntentLastSetupError'Code obj) GHC.Base.<> ((Data.Aeson..=) "decline_code" (setupIntentLastSetupError'DeclineCode obj) GHC.Base.<> ((Data.Aeson..=) "doc_url" (setupIntentLastSetupError'DocUrl obj) GHC.Base.<> ((Data.Aeson..=) "message" (setupIntentLastSetupError'Message obj) GHC.Base.<> ((Data.Aeson..=) "param" (setupIntentLastSetupError'Param obj) GHC.Base.<> ((Data.Aeson..=) "payment_intent" (setupIntentLastSetupError'PaymentIntent obj) GHC.Base.<> ((Data.Aeson..=) "payment_method" (setupIntentLastSetupError'PaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "setup_intent" (setupIntentLastSetupError'SetupIntent obj) GHC.Base.<> ((Data.Aeson..=) "source" (setupIntentLastSetupError'Source obj) GHC.Base.<> (Data.Aeson..=) "type" (setupIntentLastSetupError'Type obj))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentLastSetupError' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentLastSetupError'" (\obj -> ((((((((((GHC.Base.pure SetupIntentLastSetupError' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "charge")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "decline_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "doc_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "param")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "setup_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the data type for the schema setup_intentLast_setup_error\'Source\' -- -- The source object for errors returned on a request involving a source. data SetupIntentLastSetupError'Source' = SetupIntentLastSetupError'Source' { -- | account: The ID of the account that the bank account is associated with. setupIntentLastSetupError'Source'Account :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Account'Variants) -- | account_holder_name: The name of the person or business that owns the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AccountHolderName :: (GHC.Maybe.Maybe GHC.Base.String) -- | account_holder_type: The type of entity that holds the account. This can be either \`individual\` or \`company\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AccountHolderType :: (GHC.Maybe.Maybe GHC.Base.String) -- | ach_credit_transfer , setupIntentLastSetupError'Source'AchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer) -- | ach_debit , setupIntentLastSetupError'Source'AchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit) -- | address_city: City\/District\/Suburb\/Town\/Village. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AddressCity :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_country: Billing address country, if provided when creating card. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AddressCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1: Address line 1 (Street address\/PO Box\/Company name). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AddressLine1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line1_check: If \`address_line1\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AddressLine1Check :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_line2: Address line 2 (Apartment\/Suite\/Unit\/Building). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AddressLine2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_state: State\/County\/Province\/Region. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AddressState :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AddressZip :: (GHC.Maybe.Maybe GHC.Base.String) -- | address_zip_check: If \`address_zip\` was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'AddressZipCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | alipay , setupIntentLastSetupError'Source'Alipay :: (GHC.Maybe.Maybe SourceTypeAlipay) -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for \`single_use\` sources. , setupIntentLastSetupError'Source'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | available_payout_methods: A set of available payout methods for this card. Will be either \`[\"standard\"]\` or \`[\"standard\", \"instant\"]\`. Only values from this set should be passed as the \`method\` when creating a transfer. , setupIntentLastSetupError'Source'AvailablePayoutMethods :: (GHC.Maybe.Maybe ([] SetupIntentLastSetupError'Source'AvailablePayoutMethods')) -- | bancontact , setupIntentLastSetupError'Source'Bancontact :: (GHC.Maybe.Maybe SourceTypeBancontact) -- | bank_name: Name of the bank associated with the routing number (e.g., \`WELLS FARGO\`). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'BankName :: (GHC.Maybe.Maybe GHC.Base.String) -- | brand: Card brand. Can be \`American Express\`, \`Diners Club\`, \`Discover\`, \`JCB\`, \`MasterCard\`, \`UnionPay\`, \`Visa\`, or \`Unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Brand :: (GHC.Maybe.Maybe GHC.Base.String) -- | card , setupIntentLastSetupError'Source'Card :: (GHC.Maybe.Maybe SourceTypeCard) -- | card_present , setupIntentLastSetupError'Source'CardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent) -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'ClientSecret :: (GHC.Maybe.Maybe GHC.Base.String) -- | code_verification: , setupIntentLastSetupError'Source'CodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow) -- | country: Two-letter ISO code representing the country the bank account is located in. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , setupIntentLastSetupError'Source'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/payouts) paid out to the bank account. , setupIntentLastSetupError'Source'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer that the bank account is associated with. , setupIntentLastSetupError'Source'Customer :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Customer'Variants) -- | cvc_check: If a CVC was provided, results of the check: \`pass\`, \`fail\`, \`unavailable\`, or \`unchecked\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'CvcCheck :: (GHC.Maybe.Maybe GHC.Base.String) -- | default_for_currency: Whether this bank account is the default external account for its currency. , setupIntentLastSetupError'Source'DefaultForCurrency :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | dynamic_last4: (For tokenized numbers only.) The last four digits of the device account number. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'DynamicLast4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | eps , setupIntentLastSetupError'Source'Eps :: (GHC.Maybe.Maybe SourceTypeEps) -- | exp_month: Two-digit number representing the card\'s expiration month. , setupIntentLastSetupError'Source'ExpMonth :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | exp_year: Four-digit number representing the card\'s expiration year. , setupIntentLastSetupError'Source'ExpYear :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | fingerprint: Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Fingerprint :: (GHC.Maybe.Maybe GHC.Base.String) -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Flow :: (GHC.Maybe.Maybe GHC.Base.String) -- | funding: Card funding type. Can be \`credit\`, \`debit\`, \`prepaid\`, or \`unknown\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Funding :: (GHC.Maybe.Maybe GHC.Base.String) -- | giropay , setupIntentLastSetupError'Source'Giropay :: (GHC.Maybe.Maybe SourceTypeGiropay) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | ideal , setupIntentLastSetupError'Source'Ideal :: (GHC.Maybe.Maybe SourceTypeIdeal) -- | klarna , setupIntentLastSetupError'Source'Klarna :: (GHC.Maybe.Maybe SourceTypeKlarna) -- | last4: The last four digits of the bank account number. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Last4 :: (GHC.Maybe.Maybe GHC.Base.String) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , setupIntentLastSetupError'Source'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , setupIntentLastSetupError'Source'Metadata :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Metadata') -- | multibanco , setupIntentLastSetupError'Source'Multibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco) -- | name: Cardholder name. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , setupIntentLastSetupError'Source'Object :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Object') -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types. , setupIntentLastSetupError'Source'Owner :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Owner') -- | p24 , setupIntentLastSetupError'Source'P24 :: (GHC.Maybe.Maybe SourceTypeP24) -- | receiver: , setupIntentLastSetupError'Source'Receiver :: (GHC.Maybe.Maybe SourceReceiverFlow) -- | recipient: The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. , setupIntentLastSetupError'Source'Recipient :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Recipient'Variants) -- | redirect: , setupIntentLastSetupError'Source'Redirect :: (GHC.Maybe.Maybe SourceRedirectFlow) -- | routing_number: The routing transit number for the bank account. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'RoutingNumber :: (GHC.Maybe.Maybe GHC.Base.String) -- | sepa_debit , setupIntentLastSetupError'Source'SepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit) -- | sofort , setupIntentLastSetupError'Source'Sofort :: (GHC.Maybe.Maybe SourceTypeSofort) -- | source_order: , setupIntentLastSetupError'Source'SourceOrder :: (GHC.Maybe.Maybe SourceOrder) -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'StatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: For bank accounts, possible values are \`new\`, \`validated\`, \`verified\`, \`verification_failed\`, or \`errored\`. A bank account that hasn\'t had any activity or validation performed is \`new\`. If Stripe can determine that the bank account exists, its status will be \`validated\`. Note that there often isn’t enough information to know (e.g., for smaller credit unions), and the validation is not always run. If customer bank account verification has succeeded, the bank account status will be \`verified\`. If the verification failed for any reason, such as microdeposit failure, the status will be \`verification_failed\`. If a transfer sent to this bank account fails, we\'ll set the status to \`errored\` and will not continue to send transfers until the bank details are updated. -- -- For external accounts, possible values are \`new\` and \`errored\`. Validations aren\'t run against external accounts because they\'re only used for payouts. This means the other statuses don\'t apply. If a transfer fails, the status is set to \`errored\` and transfers are stopped until account details are updated. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Status :: (GHC.Maybe.Maybe GHC.Base.String) -- | three_d_secure , setupIntentLastSetupError'Source'ThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure) -- | tokenization_method: If the card number is tokenized, this is the method that was used. Can be \`amex_express_checkout\`, \`android_pay\` (includes Google Pay), \`apple_pay\`, \`masterpass\`, \`visa_checkout\`, or null. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'TokenizationMethod :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. , setupIntentLastSetupError'Source'Type :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Type') -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Usage :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat , setupIntentLastSetupError'Source'Wechat :: (GHC.Maybe.Maybe SourceTypeWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "account" (setupIntentLastSetupError'Source'Account obj) : (Data.Aeson..=) "account_holder_name" (setupIntentLastSetupError'Source'AccountHolderName obj) : (Data.Aeson..=) "account_holder_type" (setupIntentLastSetupError'Source'AccountHolderType obj) : (Data.Aeson..=) "ach_credit_transfer" (setupIntentLastSetupError'Source'AchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (setupIntentLastSetupError'Source'AchDebit obj) : (Data.Aeson..=) "address_city" (setupIntentLastSetupError'Source'AddressCity obj) : (Data.Aeson..=) "address_country" (setupIntentLastSetupError'Source'AddressCountry obj) : (Data.Aeson..=) "address_line1" (setupIntentLastSetupError'Source'AddressLine1 obj) : (Data.Aeson..=) "address_line1_check" (setupIntentLastSetupError'Source'AddressLine1Check obj) : (Data.Aeson..=) "address_line2" (setupIntentLastSetupError'Source'AddressLine2 obj) : (Data.Aeson..=) "address_state" (setupIntentLastSetupError'Source'AddressState obj) : (Data.Aeson..=) "address_zip" (setupIntentLastSetupError'Source'AddressZip obj) : (Data.Aeson..=) "address_zip_check" (setupIntentLastSetupError'Source'AddressZipCheck obj) : (Data.Aeson..=) "alipay" (setupIntentLastSetupError'Source'Alipay obj) : (Data.Aeson..=) "amount" (setupIntentLastSetupError'Source'Amount obj) : (Data.Aeson..=) "available_payout_methods" (setupIntentLastSetupError'Source'AvailablePayoutMethods obj) : (Data.Aeson..=) "bancontact" (setupIntentLastSetupError'Source'Bancontact obj) : (Data.Aeson..=) "bank_name" (setupIntentLastSetupError'Source'BankName obj) : (Data.Aeson..=) "brand" (setupIntentLastSetupError'Source'Brand obj) : (Data.Aeson..=) "card" (setupIntentLastSetupError'Source'Card obj) : (Data.Aeson..=) "card_present" (setupIntentLastSetupError'Source'CardPresent obj) : (Data.Aeson..=) "client_secret" (setupIntentLastSetupError'Source'ClientSecret obj) : (Data.Aeson..=) "code_verification" (setupIntentLastSetupError'Source'CodeVerification obj) : (Data.Aeson..=) "country" (setupIntentLastSetupError'Source'Country obj) : (Data.Aeson..=) "created" (setupIntentLastSetupError'Source'Created obj) : (Data.Aeson..=) "currency" (setupIntentLastSetupError'Source'Currency obj) : (Data.Aeson..=) "customer" (setupIntentLastSetupError'Source'Customer obj) : (Data.Aeson..=) "cvc_check" (setupIntentLastSetupError'Source'CvcCheck obj) : (Data.Aeson..=) "default_for_currency" (setupIntentLastSetupError'Source'DefaultForCurrency obj) : (Data.Aeson..=) "dynamic_last4" (setupIntentLastSetupError'Source'DynamicLast4 obj) : (Data.Aeson..=) "eps" (setupIntentLastSetupError'Source'Eps obj) : (Data.Aeson..=) "exp_month" (setupIntentLastSetupError'Source'ExpMonth obj) : (Data.Aeson..=) "exp_year" (setupIntentLastSetupError'Source'ExpYear obj) : (Data.Aeson..=) "fingerprint" (setupIntentLastSetupError'Source'Fingerprint obj) : (Data.Aeson..=) "flow" (setupIntentLastSetupError'Source'Flow obj) : (Data.Aeson..=) "funding" (setupIntentLastSetupError'Source'Funding obj) : (Data.Aeson..=) "giropay" (setupIntentLastSetupError'Source'Giropay obj) : (Data.Aeson..=) "id" (setupIntentLastSetupError'Source'Id obj) : (Data.Aeson..=) "ideal" (setupIntentLastSetupError'Source'Ideal obj) : (Data.Aeson..=) "klarna" (setupIntentLastSetupError'Source'Klarna obj) : (Data.Aeson..=) "last4" (setupIntentLastSetupError'Source'Last4 obj) : (Data.Aeson..=) "livemode" (setupIntentLastSetupError'Source'Livemode obj) : (Data.Aeson..=) "metadata" (setupIntentLastSetupError'Source'Metadata obj) : (Data.Aeson..=) "multibanco" (setupIntentLastSetupError'Source'Multibanco obj) : (Data.Aeson..=) "name" (setupIntentLastSetupError'Source'Name obj) : (Data.Aeson..=) "object" (setupIntentLastSetupError'Source'Object obj) : (Data.Aeson..=) "owner" (setupIntentLastSetupError'Source'Owner obj) : (Data.Aeson..=) "p24" (setupIntentLastSetupError'Source'P24 obj) : (Data.Aeson..=) "receiver" (setupIntentLastSetupError'Source'Receiver obj) : (Data.Aeson..=) "recipient" (setupIntentLastSetupError'Source'Recipient obj) : (Data.Aeson..=) "redirect" (setupIntentLastSetupError'Source'Redirect obj) : (Data.Aeson..=) "routing_number" (setupIntentLastSetupError'Source'RoutingNumber obj) : (Data.Aeson..=) "sepa_debit" (setupIntentLastSetupError'Source'SepaDebit obj) : (Data.Aeson..=) "sofort" (setupIntentLastSetupError'Source'Sofort obj) : (Data.Aeson..=) "source_order" (setupIntentLastSetupError'Source'SourceOrder obj) : (Data.Aeson..=) "statement_descriptor" (setupIntentLastSetupError'Source'StatementDescriptor obj) : (Data.Aeson..=) "status" (setupIntentLastSetupError'Source'Status obj) : (Data.Aeson..=) "three_d_secure" (setupIntentLastSetupError'Source'ThreeDSecure obj) : (Data.Aeson..=) "tokenization_method" (setupIntentLastSetupError'Source'TokenizationMethod obj) : (Data.Aeson..=) "type" (setupIntentLastSetupError'Source'Type obj) : (Data.Aeson..=) "usage" (setupIntentLastSetupError'Source'Usage obj) : (Data.Aeson..=) "wechat" (setupIntentLastSetupError'Source'Wechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "account" (setupIntentLastSetupError'Source'Account obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_name" (setupIntentLastSetupError'Source'AccountHolderName obj) GHC.Base.<> ((Data.Aeson..=) "account_holder_type" (setupIntentLastSetupError'Source'AccountHolderType obj) GHC.Base.<> ((Data.Aeson..=) "ach_credit_transfer" (setupIntentLastSetupError'Source'AchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (setupIntentLastSetupError'Source'AchDebit obj) GHC.Base.<> ((Data.Aeson..=) "address_city" (setupIntentLastSetupError'Source'AddressCity obj) GHC.Base.<> ((Data.Aeson..=) "address_country" (setupIntentLastSetupError'Source'AddressCountry obj) GHC.Base.<> ((Data.Aeson..=) "address_line1" (setupIntentLastSetupError'Source'AddressLine1 obj) GHC.Base.<> ((Data.Aeson..=) "address_line1_check" (setupIntentLastSetupError'Source'AddressLine1Check obj) GHC.Base.<> ((Data.Aeson..=) "address_line2" (setupIntentLastSetupError'Source'AddressLine2 obj) GHC.Base.<> ((Data.Aeson..=) "address_state" (setupIntentLastSetupError'Source'AddressState obj) GHC.Base.<> ((Data.Aeson..=) "address_zip" (setupIntentLastSetupError'Source'AddressZip obj) GHC.Base.<> ((Data.Aeson..=) "address_zip_check" (setupIntentLastSetupError'Source'AddressZipCheck obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (setupIntentLastSetupError'Source'Alipay obj) GHC.Base.<> ((Data.Aeson..=) "amount" (setupIntentLastSetupError'Source'Amount obj) GHC.Base.<> ((Data.Aeson..=) "available_payout_methods" (setupIntentLastSetupError'Source'AvailablePayoutMethods obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (setupIntentLastSetupError'Source'Bancontact obj) GHC.Base.<> ((Data.Aeson..=) "bank_name" (setupIntentLastSetupError'Source'BankName obj) GHC.Base.<> ((Data.Aeson..=) "brand" (setupIntentLastSetupError'Source'Brand obj) GHC.Base.<> ((Data.Aeson..=) "card" (setupIntentLastSetupError'Source'Card obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (setupIntentLastSetupError'Source'CardPresent obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (setupIntentLastSetupError'Source'ClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "code_verification" (setupIntentLastSetupError'Source'CodeVerification obj) GHC.Base.<> ((Data.Aeson..=) "country" (setupIntentLastSetupError'Source'Country obj) GHC.Base.<> ((Data.Aeson..=) "created" (setupIntentLastSetupError'Source'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (setupIntentLastSetupError'Source'Currency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (setupIntentLastSetupError'Source'Customer obj) GHC.Base.<> ((Data.Aeson..=) "cvc_check" (setupIntentLastSetupError'Source'CvcCheck obj) GHC.Base.<> ((Data.Aeson..=) "default_for_currency" (setupIntentLastSetupError'Source'DefaultForCurrency obj) GHC.Base.<> ((Data.Aeson..=) "dynamic_last4" (setupIntentLastSetupError'Source'DynamicLast4 obj) GHC.Base.<> ((Data.Aeson..=) "eps" (setupIntentLastSetupError'Source'Eps obj) GHC.Base.<> ((Data.Aeson..=) "exp_month" (setupIntentLastSetupError'Source'ExpMonth obj) GHC.Base.<> ((Data.Aeson..=) "exp_year" (setupIntentLastSetupError'Source'ExpYear obj) GHC.Base.<> ((Data.Aeson..=) "fingerprint" (setupIntentLastSetupError'Source'Fingerprint obj) GHC.Base.<> ((Data.Aeson..=) "flow" (setupIntentLastSetupError'Source'Flow obj) GHC.Base.<> ((Data.Aeson..=) "funding" (setupIntentLastSetupError'Source'Funding obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (setupIntentLastSetupError'Source'Giropay obj) GHC.Base.<> ((Data.Aeson..=) "id" (setupIntentLastSetupError'Source'Id obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (setupIntentLastSetupError'Source'Ideal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (setupIntentLastSetupError'Source'Klarna obj) GHC.Base.<> ((Data.Aeson..=) "last4" (setupIntentLastSetupError'Source'Last4 obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (setupIntentLastSetupError'Source'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (setupIntentLastSetupError'Source'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (setupIntentLastSetupError'Source'Multibanco obj) GHC.Base.<> ((Data.Aeson..=) "name" (setupIntentLastSetupError'Source'Name obj) GHC.Base.<> ((Data.Aeson..=) "object" (setupIntentLastSetupError'Source'Object obj) GHC.Base.<> ((Data.Aeson..=) "owner" (setupIntentLastSetupError'Source'Owner obj) GHC.Base.<> ((Data.Aeson..=) "p24" (setupIntentLastSetupError'Source'P24 obj) GHC.Base.<> ((Data.Aeson..=) "receiver" (setupIntentLastSetupError'Source'Receiver obj) GHC.Base.<> ((Data.Aeson..=) "recipient" (setupIntentLastSetupError'Source'Recipient obj) GHC.Base.<> ((Data.Aeson..=) "redirect" (setupIntentLastSetupError'Source'Redirect obj) GHC.Base.<> ((Data.Aeson..=) "routing_number" (setupIntentLastSetupError'Source'RoutingNumber obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (setupIntentLastSetupError'Source'SepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (setupIntentLastSetupError'Source'Sofort obj) GHC.Base.<> ((Data.Aeson..=) "source_order" (setupIntentLastSetupError'Source'SourceOrder obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (setupIntentLastSetupError'Source'StatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (setupIntentLastSetupError'Source'Status obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (setupIntentLastSetupError'Source'ThreeDSecure obj) GHC.Base.<> ((Data.Aeson..=) "tokenization_method" (setupIntentLastSetupError'Source'TokenizationMethod obj) GHC.Base.<> ((Data.Aeson..=) "type" (setupIntentLastSetupError'Source'Type obj) GHC.Base.<> ((Data.Aeson..=) "usage" (setupIntentLastSetupError'Source'Usage obj) GHC.Base.<> (Data.Aeson..=) "wechat" (setupIntentLastSetupError'Source'Wechat obj)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentLastSetupError'Source' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentLastSetupError'Source'" (\obj -> (((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((GHC.Base.pure SetupIntentLastSetupError'Source' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "account_holder_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line1_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address_zip_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "available_payout_methods")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "brand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cvc_check")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_for_currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "dynamic_last4")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) 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..:? "fingerprint")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "funding")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) 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..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "recipient")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "routing_number")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tokenization_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Define the one-of schema setup_intentLast_setup_error\'Source\'Account\' -- -- The ID of the account that the bank account is associated with. data SetupIntentLastSetupError'Source'Account'Variants = SetupIntentLastSetupError'Source'Account'Account Account | SetupIntentLastSetupError'Source'Account'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Account'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentLastSetupError'Source'Account'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema setup_intentLast_setup_error\'Source\'Available_payout_methods\' -- -- data SetupIntentLastSetupError'Source'AvailablePayoutMethods' = SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumOther Data.Aeson.Types.Internal.Value | SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumTyped GHC.Base.String | SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumStringInstant | SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumStringStandard deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'AvailablePayoutMethods' where toJSON (SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumStringInstant) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant" toJSON (SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumStringStandard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard" instance Data.Aeson.FromJSON SetupIntentLastSetupError'Source'AvailablePayoutMethods' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "instant") then SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumStringInstant else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "standard") then SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumStringStandard else SetupIntentLastSetupError'Source'AvailablePayoutMethods'EnumOther val) -- | Define the one-of schema setup_intentLast_setup_error\'Source\'Customer\' -- -- The ID of the customer that the bank account is associated with. data SetupIntentLastSetupError'Source'Customer'Variants = SetupIntentLastSetupError'Source'Customer'Customer Customer | SetupIntentLastSetupError'Source'Customer'DeletedCustomer DeletedCustomer | SetupIntentLastSetupError'Source'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentLastSetupError'Source'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema setup_intentLast_setup_error\'Source\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data SetupIntentLastSetupError'Source'Metadata' = SetupIntentLastSetupError'Source'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentLastSetupError'Source'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentLastSetupError'Source'Metadata'" (\obj -> GHC.Base.pure SetupIntentLastSetupError'Source'Metadata') -- | Defines the enum schema setup_intentLast_setup_error\'Source\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SetupIntentLastSetupError'Source'Object' = SetupIntentLastSetupError'Source'Object'EnumOther Data.Aeson.Types.Internal.Value | SetupIntentLastSetupError'Source'Object'EnumTyped GHC.Base.String | SetupIntentLastSetupError'Source'Object'EnumStringBankAccount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Object' where toJSON (SetupIntentLastSetupError'Source'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentLastSetupError'Source'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentLastSetupError'Source'Object'EnumStringBankAccount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account" instance Data.Aeson.FromJSON SetupIntentLastSetupError'Source'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bank_account") then SetupIntentLastSetupError'Source'Object'EnumStringBankAccount else SetupIntentLastSetupError'Source'Object'EnumOther val) -- | Defines the data type for the schema setup_intentLast_setup_error\'Source\'Owner\' -- -- Information about the owner of the payment instrument that may be used or required by particular source types. data SetupIntentLastSetupError'Source'Owner' = SetupIntentLastSetupError'Source'Owner' { -- | address: Owner\'s address. setupIntentLastSetupError'Source'Owner'Address :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Owner'Address') -- | email: Owner\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'Email :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s full name. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Owner\'s phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. , setupIntentLastSetupError'Source'Owner'VerifiedAddress :: (GHC.Maybe.Maybe SetupIntentLastSetupError'Source'Owner'VerifiedAddress') -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'VerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'VerifiedName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'VerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Owner' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (setupIntentLastSetupError'Source'Owner'Address obj) : (Data.Aeson..=) "email" (setupIntentLastSetupError'Source'Owner'Email obj) : (Data.Aeson..=) "name" (setupIntentLastSetupError'Source'Owner'Name obj) : (Data.Aeson..=) "phone" (setupIntentLastSetupError'Source'Owner'Phone obj) : (Data.Aeson..=) "verified_address" (setupIntentLastSetupError'Source'Owner'VerifiedAddress obj) : (Data.Aeson..=) "verified_email" (setupIntentLastSetupError'Source'Owner'VerifiedEmail obj) : (Data.Aeson..=) "verified_name" (setupIntentLastSetupError'Source'Owner'VerifiedName obj) : (Data.Aeson..=) "verified_phone" (setupIntentLastSetupError'Source'Owner'VerifiedPhone obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (setupIntentLastSetupError'Source'Owner'Address obj) GHC.Base.<> ((Data.Aeson..=) "email" (setupIntentLastSetupError'Source'Owner'Email obj) GHC.Base.<> ((Data.Aeson..=) "name" (setupIntentLastSetupError'Source'Owner'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (setupIntentLastSetupError'Source'Owner'Phone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (setupIntentLastSetupError'Source'Owner'VerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (setupIntentLastSetupError'Source'Owner'VerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (setupIntentLastSetupError'Source'Owner'VerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (setupIntentLastSetupError'Source'Owner'VerifiedPhone obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentLastSetupError'Source'Owner' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentLastSetupError'Source'Owner'" (\obj -> (((((((GHC.Base.pure SetupIntentLastSetupError'Source'Owner' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone")) -- | Defines the data type for the schema setup_intentLast_setup_error\'Source\'Owner\'Address\' -- -- Owner\\\'s address. data SetupIntentLastSetupError'Source'Owner'Address' = SetupIntentLastSetupError'Source'Owner'Address' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 setupIntentLastSetupError'Source'Owner'Address'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'Address'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'Address'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'Address'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'Address'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'Address'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Owner'Address' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (setupIntentLastSetupError'Source'Owner'Address'City obj) : (Data.Aeson..=) "country" (setupIntentLastSetupError'Source'Owner'Address'Country obj) : (Data.Aeson..=) "line1" (setupIntentLastSetupError'Source'Owner'Address'Line1 obj) : (Data.Aeson..=) "line2" (setupIntentLastSetupError'Source'Owner'Address'Line2 obj) : (Data.Aeson..=) "postal_code" (setupIntentLastSetupError'Source'Owner'Address'PostalCode obj) : (Data.Aeson..=) "state" (setupIntentLastSetupError'Source'Owner'Address'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (setupIntentLastSetupError'Source'Owner'Address'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (setupIntentLastSetupError'Source'Owner'Address'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (setupIntentLastSetupError'Source'Owner'Address'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (setupIntentLastSetupError'Source'Owner'Address'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (setupIntentLastSetupError'Source'Owner'Address'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (setupIntentLastSetupError'Source'Owner'Address'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentLastSetupError'Source'Owner'Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentLastSetupError'Source'Owner'Address'" (\obj -> (((((GHC.Base.pure SetupIntentLastSetupError'Source'Owner'Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema setup_intentLast_setup_error\'Source\'Owner\'Verified_address\' -- -- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. data SetupIntentLastSetupError'Source'Owner'VerifiedAddress' = SetupIntentLastSetupError'Source'Owner'VerifiedAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 setupIntentLastSetupError'Source'Owner'VerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'VerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentLastSetupError'Source'Owner'VerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Owner'VerifiedAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'City obj) : (Data.Aeson..=) "country" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (setupIntentLastSetupError'Source'Owner'VerifiedAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentLastSetupError'Source'Owner'VerifiedAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentLastSetupError'Source'Owner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure SetupIntentLastSetupError'Source'Owner'VerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Define the one-of schema setup_intentLast_setup_error\'Source\'Recipient\' -- -- The recipient that this card belongs to. This attribute will not be in the card object if the card belongs to a customer or account instead. data SetupIntentLastSetupError'Source'Recipient'Variants = SetupIntentLastSetupError'Source'Recipient'Recipient Recipient | SetupIntentLastSetupError'Source'Recipient'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Recipient'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentLastSetupError'Source'Recipient'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema setup_intentLast_setup_error\'Source\'Type\' -- -- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. data SetupIntentLastSetupError'Source'Type' = SetupIntentLastSetupError'Source'Type'EnumOther Data.Aeson.Types.Internal.Value | SetupIntentLastSetupError'Source'Type'EnumTyped GHC.Base.String | SetupIntentLastSetupError'Source'Type'EnumStringAchCreditTransfer | SetupIntentLastSetupError'Source'Type'EnumStringAchDebit | SetupIntentLastSetupError'Source'Type'EnumStringAlipay | SetupIntentLastSetupError'Source'Type'EnumStringBancontact | SetupIntentLastSetupError'Source'Type'EnumStringCard | SetupIntentLastSetupError'Source'Type'EnumStringCardPresent | SetupIntentLastSetupError'Source'Type'EnumStringEps | SetupIntentLastSetupError'Source'Type'EnumStringGiropay | SetupIntentLastSetupError'Source'Type'EnumStringIdeal | SetupIntentLastSetupError'Source'Type'EnumStringKlarna | SetupIntentLastSetupError'Source'Type'EnumStringMultibanco | SetupIntentLastSetupError'Source'Type'EnumStringP24 | SetupIntentLastSetupError'Source'Type'EnumStringSepaDebit | SetupIntentLastSetupError'Source'Type'EnumStringSofort | SetupIntentLastSetupError'Source'Type'EnumStringThreeDSecure | SetupIntentLastSetupError'Source'Type'EnumStringWechat deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Source'Type' where toJSON (SetupIntentLastSetupError'Source'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentLastSetupError'Source'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentLastSetupError'Source'Type'EnumStringAchCreditTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringAchDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringAlipay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringBancontact) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringCardPresent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringEps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringGiropay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringIdeal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringKlarna) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringMultibanco) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringP24) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringSepaDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringSofort) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringThreeDSecure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure" toJSON (SetupIntentLastSetupError'Source'Type'EnumStringWechat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat" instance Data.Aeson.FromJSON SetupIntentLastSetupError'Source'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer") then SetupIntentLastSetupError'Source'Type'EnumStringAchCreditTransfer else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit") then SetupIntentLastSetupError'Source'Type'EnumStringAchDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay") then SetupIntentLastSetupError'Source'Type'EnumStringAlipay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact") then SetupIntentLastSetupError'Source'Type'EnumStringBancontact else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card") then SetupIntentLastSetupError'Source'Type'EnumStringCard else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present") then SetupIntentLastSetupError'Source'Type'EnumStringCardPresent else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps") then SetupIntentLastSetupError'Source'Type'EnumStringEps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay") then SetupIntentLastSetupError'Source'Type'EnumStringGiropay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal") then SetupIntentLastSetupError'Source'Type'EnumStringIdeal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna") then SetupIntentLastSetupError'Source'Type'EnumStringKlarna else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco") then SetupIntentLastSetupError'Source'Type'EnumStringMultibanco else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24") then SetupIntentLastSetupError'Source'Type'EnumStringP24 else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit") then SetupIntentLastSetupError'Source'Type'EnumStringSepaDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort") then SetupIntentLastSetupError'Source'Type'EnumStringSofort else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure") then SetupIntentLastSetupError'Source'Type'EnumStringThreeDSecure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat") then SetupIntentLastSetupError'Source'Type'EnumStringWechat else SetupIntentLastSetupError'Source'Type'EnumOther val) -- | Defines the enum schema setup_intentLast_setup_error\'Type\' -- -- The type of error returned. One of \`api_connection_error\`, \`api_error\`, \`authentication_error\`, \`card_error\`, \`idempotency_error\`, \`invalid_request_error\`, or \`rate_limit_error\` data SetupIntentLastSetupError'Type' = SetupIntentLastSetupError'Type'EnumOther Data.Aeson.Types.Internal.Value | SetupIntentLastSetupError'Type'EnumTyped GHC.Base.String | SetupIntentLastSetupError'Type'EnumStringApiConnectionError | SetupIntentLastSetupError'Type'EnumStringApiError | SetupIntentLastSetupError'Type'EnumStringAuthenticationError | SetupIntentLastSetupError'Type'EnumStringCardError | SetupIntentLastSetupError'Type'EnumStringIdempotencyError | SetupIntentLastSetupError'Type'EnumStringInvalidRequestError | SetupIntentLastSetupError'Type'EnumStringRateLimitError deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentLastSetupError'Type' where toJSON (SetupIntentLastSetupError'Type'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentLastSetupError'Type'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentLastSetupError'Type'EnumStringApiConnectionError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_connection_error" toJSON (SetupIntentLastSetupError'Type'EnumStringApiError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_error" toJSON (SetupIntentLastSetupError'Type'EnumStringAuthenticationError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "authentication_error" toJSON (SetupIntentLastSetupError'Type'EnumStringCardError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_error" toJSON (SetupIntentLastSetupError'Type'EnumStringIdempotencyError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "idempotency_error" toJSON (SetupIntentLastSetupError'Type'EnumStringInvalidRequestError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invalid_request_error" toJSON (SetupIntentLastSetupError'Type'EnumStringRateLimitError) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rate_limit_error" instance Data.Aeson.FromJSON SetupIntentLastSetupError'Type' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_connection_error") then SetupIntentLastSetupError'Type'EnumStringApiConnectionError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "api_error") then SetupIntentLastSetupError'Type'EnumStringApiError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "authentication_error") then SetupIntentLastSetupError'Type'EnumStringAuthenticationError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_error") then SetupIntentLastSetupError'Type'EnumStringCardError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "idempotency_error") then SetupIntentLastSetupError'Type'EnumStringIdempotencyError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "invalid_request_error") then SetupIntentLastSetupError'Type'EnumStringInvalidRequestError else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "rate_limit_error") then SetupIntentLastSetupError'Type'EnumStringRateLimitError else SetupIntentLastSetupError'Type'EnumOther val) -- | Define the one-of schema setup_intentMandate\' -- -- ID of the multi use Mandate generated by the SetupIntent. data SetupIntentMandate'Variants = SetupIntentMandate'Mandate Mandate | SetupIntentMandate'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentMandate'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentMandate'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema setup_intentMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data SetupIntentMetadata' = SetupIntentMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentMetadata'" (\obj -> GHC.Base.pure SetupIntentMetadata') -- | Defines the data type for the schema setup_intentNext_action\' -- -- If present, this property tells you what actions you need to take in order for your customer to continue payment setup. data SetupIntentNextAction' = SetupIntentNextAction' { -- | redirect_to_url: setupIntentNextAction'RedirectToUrl :: (GHC.Maybe.Maybe SetupIntentNextActionRedirectToUrl) -- | type: Type of the next action to perform, one of \`redirect_to_url\` or \`use_stripe_sdk\`. -- -- Constraints: -- -- * Maximum length of 5000 , setupIntentNextAction'Type :: (GHC.Maybe.Maybe GHC.Base.String) -- | use_stripe_sdk: When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. , setupIntentNextAction'UseStripeSdk :: (GHC.Maybe.Maybe SetupIntentNextAction'UseStripeSdk') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentNextAction' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "redirect_to_url" (setupIntentNextAction'RedirectToUrl obj) : (Data.Aeson..=) "type" (setupIntentNextAction'Type obj) : (Data.Aeson..=) "use_stripe_sdk" (setupIntentNextAction'UseStripeSdk obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "redirect_to_url" (setupIntentNextAction'RedirectToUrl obj) GHC.Base.<> ((Data.Aeson..=) "type" (setupIntentNextAction'Type obj) GHC.Base.<> (Data.Aeson..=) "use_stripe_sdk" (setupIntentNextAction'UseStripeSdk obj))) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentNextAction' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentNextAction'" (\obj -> ((GHC.Base.pure SetupIntentNextAction' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect_to_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "use_stripe_sdk")) -- | Defines the data type for the schema setup_intentNext_action\'Use_stripe_sdk\' -- -- When confirming a SetupIntent with Stripe.js, Stripe.js depends on the contents of this dictionary to invoke authentication flows. The shape of the contents is subject to change and is only intended to be used by Stripe.js. data SetupIntentNextAction'UseStripeSdk' = SetupIntentNextAction'UseStripeSdk' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentNextAction'UseStripeSdk' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentNextAction'UseStripeSdk' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentNextAction'UseStripeSdk'" (\obj -> GHC.Base.pure SetupIntentNextAction'UseStripeSdk') -- | Defines the enum schema setup_intentObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SetupIntentObject' = SetupIntentObject'EnumOther Data.Aeson.Types.Internal.Value | SetupIntentObject'EnumTyped GHC.Base.String | SetupIntentObject'EnumStringSetupIntent deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentObject' where toJSON (SetupIntentObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentObject'EnumStringSetupIntent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "setup_intent" instance Data.Aeson.FromJSON SetupIntentObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "setup_intent") then SetupIntentObject'EnumStringSetupIntent else SetupIntentObject'EnumOther val) -- | Define the one-of schema setup_intentOn_behalf_of\' -- -- The account (if any) for which the setup is intended. data SetupIntentOnBehalfOf'Variants = SetupIntentOnBehalfOf'Account Account | SetupIntentOnBehalfOf'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentOnBehalfOf'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentOnBehalfOf'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema setup_intentPayment_method\' -- -- ID of the payment method used with this SetupIntent. data SetupIntentPaymentMethod'Variants = SetupIntentPaymentMethod'PaymentMethod PaymentMethod | SetupIntentPaymentMethod'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentPaymentMethod'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentPaymentMethod'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema setup_intentPayment_method_options\' -- -- Payment-method-specific configuration for this SetupIntent. data SetupIntentPaymentMethodOptions' = SetupIntentPaymentMethodOptions' { -- | card: setupIntentPaymentMethodOptions'Card :: (GHC.Maybe.Maybe SetupIntentPaymentMethodOptionsCard) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentPaymentMethodOptions' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "card" (setupIntentPaymentMethodOptions'Card obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "card" (setupIntentPaymentMethodOptions'Card obj)) instance Data.Aeson.Types.FromJSON.FromJSON SetupIntentPaymentMethodOptions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SetupIntentPaymentMethodOptions'" (\obj -> GHC.Base.pure SetupIntentPaymentMethodOptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) -- | Define the one-of schema setup_intentSingle_use_mandate\' -- -- ID of the single_use Mandate generated by the SetupIntent. data SetupIntentSingleUseMandate'Variants = SetupIntentSingleUseMandate'Mandate Mandate | SetupIntentSingleUseMandate'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SetupIntentSingleUseMandate'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SetupIntentSingleUseMandate'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema setup_intentStatus\' -- -- [Status](https:\/\/stripe.com\/docs\/payments\/intents\#intent-statuses) of this SetupIntent, one of \`requires_payment_method\`, \`requires_confirmation\`, \`requires_action\`, \`processing\`, \`canceled\`, or \`succeeded\`. data SetupIntentStatus' = SetupIntentStatus'EnumOther Data.Aeson.Types.Internal.Value | SetupIntentStatus'EnumTyped GHC.Base.String | SetupIntentStatus'EnumStringCanceled | SetupIntentStatus'EnumStringProcessing | SetupIntentStatus'EnumStringRequiresAction | SetupIntentStatus'EnumStringRequiresConfirmation | SetupIntentStatus'EnumStringRequiresPaymentMethod | SetupIntentStatus'EnumStringSucceeded deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SetupIntentStatus' where toJSON (SetupIntentStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SetupIntentStatus'EnumStringCanceled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled" toJSON (SetupIntentStatus'EnumStringProcessing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "processing" toJSON (SetupIntentStatus'EnumStringRequiresAction) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_action" toJSON (SetupIntentStatus'EnumStringRequiresConfirmation) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_confirmation" toJSON (SetupIntentStatus'EnumStringRequiresPaymentMethod) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_payment_method" toJSON (SetupIntentStatus'EnumStringSucceeded) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "succeeded" instance Data.Aeson.FromJSON SetupIntentStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled") then SetupIntentStatus'EnumStringCanceled else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "processing") then SetupIntentStatus'EnumStringProcessing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_action") then SetupIntentStatus'EnumStringRequiresAction else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_confirmation") then SetupIntentStatus'EnumStringRequiresConfirmation else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "requires_payment_method") then SetupIntentStatus'EnumStringRequiresPaymentMethod else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "succeeded") then SetupIntentStatus'EnumStringSucceeded else SetupIntentStatus'EnumOther val) -- | Defines the data type for the schema shipping_method -- -- data ShippingMethod = ShippingMethod { -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount for the line item. shippingMethodAmount :: GHC.Integer.Type.Integer -- | 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). , shippingMethodCurrency :: GHC.Base.String -- | delivery_estimate: The estimated delivery date for the given shipping method. Can be either a specific date or a range. , shippingMethodDeliveryEstimate :: (GHC.Maybe.Maybe ShippingMethodDeliveryEstimate') -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , shippingMethodDescription :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , shippingMethodId :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ShippingMethod where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (shippingMethodAmount obj) : (Data.Aeson..=) "currency" (shippingMethodCurrency obj) : (Data.Aeson..=) "delivery_estimate" (shippingMethodDeliveryEstimate obj) : (Data.Aeson..=) "description" (shippingMethodDescription obj) : (Data.Aeson..=) "id" (shippingMethodId obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (shippingMethodAmount obj) GHC.Base.<> ((Data.Aeson..=) "currency" (shippingMethodCurrency obj) GHC.Base.<> ((Data.Aeson..=) "delivery_estimate" (shippingMethodDeliveryEstimate obj) GHC.Base.<> ((Data.Aeson..=) "description" (shippingMethodDescription obj) GHC.Base.<> (Data.Aeson..=) "id" (shippingMethodId obj))))) instance Data.Aeson.Types.FromJSON.FromJSON ShippingMethod where parseJSON = Data.Aeson.Types.FromJSON.withObject "ShippingMethod" (\obj -> ((((GHC.Base.pure ShippingMethod GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "delivery_estimate")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) -- | Defines the data type for the schema shipping_methodDelivery_estimate\' -- -- The estimated delivery date for the given shipping method. Can be either a specific date or a range. data ShippingMethodDeliveryEstimate' = ShippingMethodDeliveryEstimate' { -- | date: If \`type\` is \`\"exact\"\`, \`date\` will be the expected delivery date in the format YYYY-MM-DD. -- -- Constraints: -- -- * Maximum length of 5000 shippingMethodDeliveryEstimate'Date :: (GHC.Maybe.Maybe GHC.Base.String) -- | earliest: If \`type\` is \`\"range\"\`, \`earliest\` will be be the earliest delivery date in the format YYYY-MM-DD. -- -- Constraints: -- -- * Maximum length of 5000 , shippingMethodDeliveryEstimate'Earliest :: (GHC.Maybe.Maybe GHC.Base.String) -- | latest: If \`type\` is \`\"range\"\`, \`latest\` will be the latest delivery date in the format YYYY-MM-DD. -- -- Constraints: -- -- * Maximum length of 5000 , shippingMethodDeliveryEstimate'Latest :: (GHC.Maybe.Maybe GHC.Base.String) -- | type: The type of estimate. Must be either \`\"range\"\` or \`\"exact\"\`. -- -- Constraints: -- -- * Maximum length of 5000 , shippingMethodDeliveryEstimate'Type :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ShippingMethodDeliveryEstimate' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "date" (shippingMethodDeliveryEstimate'Date obj) : (Data.Aeson..=) "earliest" (shippingMethodDeliveryEstimate'Earliest obj) : (Data.Aeson..=) "latest" (shippingMethodDeliveryEstimate'Latest obj) : (Data.Aeson..=) "type" (shippingMethodDeliveryEstimate'Type obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "date" (shippingMethodDeliveryEstimate'Date obj) GHC.Base.<> ((Data.Aeson..=) "earliest" (shippingMethodDeliveryEstimate'Earliest obj) GHC.Base.<> ((Data.Aeson..=) "latest" (shippingMethodDeliveryEstimate'Latest obj) GHC.Base.<> (Data.Aeson..=) "type" (shippingMethodDeliveryEstimate'Type obj)))) instance Data.Aeson.Types.FromJSON.FromJSON ShippingMethodDeliveryEstimate' where parseJSON = Data.Aeson.Types.FromJSON.withObject "ShippingMethodDeliveryEstimate'" (\obj -> (((GHC.Base.pure ShippingMethodDeliveryEstimate' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "earliest")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "latest")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "type")) -- | Defines the data type for the schema sku -- -- Stores representations of [stock keeping units](http:\/\/en.wikipedia.org\/wiki\/Stock_keeping_unit). -- SKUs describe specific product variations, taking into account any combination of: attributes, -- currency, and cost. For example, a product may be a T-shirt, whereas a specific SKU represents -- the \`size: large\`, \`color: red\` version of that shirt. -- -- Can also be used to manage inventory. -- -- Related guide: [Tax, Shipping, and Inventory](https:\/\/stripe.com\/docs\/orders). data Sku = Sku { -- | active: Whether the SKU is available for purchase. skuActive :: GHC.Types.Bool -- | attributes: A dictionary of attributes and values for the attributes defined by the product. If, for example, a product\'s attributes are \`[\"size\", \"gender\"]\`, a valid SKU has the following dictionary of attributes: \`{\"size\": \"Medium\", \"gender\": \"Unisex\"}\`. , skuAttributes :: SkuAttributes' -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , skuCreated :: GHC.Integer.Type.Integer -- | 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). , skuCurrency :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , skuId :: GHC.Base.String -- | image: The URL of an image for this SKU, meant to be displayable to the customer. -- -- Constraints: -- -- * Maximum length of 2048 , skuImage :: (GHC.Maybe.Maybe GHC.Base.String) -- | inventory: , skuInventory :: Inventory -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , skuLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , skuMetadata :: SkuMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , skuObject :: SkuObject' -- | package_dimensions: The dimensions of this SKU for shipping purposes. , skuPackageDimensions :: (GHC.Maybe.Maybe SkuPackageDimensions') -- | price: The cost of the item as a positive integer in the smallest currency unit (that is, 100 cents to charge \$1.00, or 100 to charge ¥100, Japanese Yen being a zero-decimal currency). , skuPrice :: GHC.Integer.Type.Integer -- | product: The ID of the product this SKU is associated with. The product must be currently active. , skuProduct :: SkuProduct'Variants -- | updated: Time at which the object was last updated. Measured in seconds since the Unix epoch. , skuUpdated :: GHC.Integer.Type.Integer } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Sku where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "active" (skuActive obj) : (Data.Aeson..=) "attributes" (skuAttributes obj) : (Data.Aeson..=) "created" (skuCreated obj) : (Data.Aeson..=) "currency" (skuCurrency obj) : (Data.Aeson..=) "id" (skuId obj) : (Data.Aeson..=) "image" (skuImage obj) : (Data.Aeson..=) "inventory" (skuInventory obj) : (Data.Aeson..=) "livemode" (skuLivemode obj) : (Data.Aeson..=) "metadata" (skuMetadata obj) : (Data.Aeson..=) "object" (skuObject obj) : (Data.Aeson..=) "package_dimensions" (skuPackageDimensions obj) : (Data.Aeson..=) "price" (skuPrice obj) : (Data.Aeson..=) "product" (skuProduct obj) : (Data.Aeson..=) "updated" (skuUpdated obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "active" (skuActive obj) GHC.Base.<> ((Data.Aeson..=) "attributes" (skuAttributes obj) GHC.Base.<> ((Data.Aeson..=) "created" (skuCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (skuCurrency obj) GHC.Base.<> ((Data.Aeson..=) "id" (skuId obj) GHC.Base.<> ((Data.Aeson..=) "image" (skuImage obj) GHC.Base.<> ((Data.Aeson..=) "inventory" (skuInventory obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (skuLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (skuMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (skuObject obj) GHC.Base.<> ((Data.Aeson..=) "package_dimensions" (skuPackageDimensions obj) GHC.Base.<> ((Data.Aeson..=) "price" (skuPrice obj) GHC.Base.<> ((Data.Aeson..=) "product" (skuProduct obj) GHC.Base.<> (Data.Aeson..=) "updated" (skuUpdated obj)))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Sku where parseJSON = Data.Aeson.Types.FromJSON.withObject "Sku" (\obj -> (((((((((((((GHC.Base.pure Sku GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "attributes")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "image")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "inventory")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "package_dimensions")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "price")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "product")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "updated")) -- | Defines the data type for the schema skuAttributes\' -- -- A dictionary of attributes and values for the attributes defined by the product. If, for example, a product\'s attributes are \`[\"size\", \"gender\"]\`, a valid SKU has the following dictionary of attributes: \`{\"size\": \"Medium\", \"gender\": \"Unisex\"}\`. data SkuAttributes' = SkuAttributes' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SkuAttributes' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SkuAttributes' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SkuAttributes'" (\obj -> GHC.Base.pure SkuAttributes') -- | Defines the data type for the schema skuMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data SkuMetadata' = SkuMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SkuMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SkuMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SkuMetadata'" (\obj -> GHC.Base.pure SkuMetadata') -- | Defines the enum schema skuObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SkuObject' = SkuObject'EnumOther Data.Aeson.Types.Internal.Value | SkuObject'EnumTyped GHC.Base.String | SkuObject'EnumStringSku deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SkuObject' where toJSON (SkuObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SkuObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SkuObject'EnumStringSku) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sku" instance Data.Aeson.FromJSON SkuObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sku") then SkuObject'EnumStringSku else SkuObject'EnumOther val) -- | Defines the data type for the schema skuPackage_dimensions\' -- -- The dimensions of this SKU for shipping purposes. data SkuPackageDimensions' = SkuPackageDimensions' { -- | height: Height, in inches. skuPackageDimensions'Height :: (GHC.Maybe.Maybe GHC.Types.Double) -- | length: Length, in inches. , skuPackageDimensions'Length :: (GHC.Maybe.Maybe GHC.Types.Double) -- | weight: Weight, in ounces. , skuPackageDimensions'Weight :: (GHC.Maybe.Maybe GHC.Types.Double) -- | width: Width, in inches. , skuPackageDimensions'Width :: (GHC.Maybe.Maybe GHC.Types.Double) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SkuPackageDimensions' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "height" (skuPackageDimensions'Height obj) : (Data.Aeson..=) "length" (skuPackageDimensions'Length obj) : (Data.Aeson..=) "weight" (skuPackageDimensions'Weight obj) : (Data.Aeson..=) "width" (skuPackageDimensions'Width obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "height" (skuPackageDimensions'Height obj) GHC.Base.<> ((Data.Aeson..=) "length" (skuPackageDimensions'Length obj) GHC.Base.<> ((Data.Aeson..=) "weight" (skuPackageDimensions'Weight obj) GHC.Base.<> (Data.Aeson..=) "width" (skuPackageDimensions'Width obj)))) instance Data.Aeson.Types.FromJSON.FromJSON SkuPackageDimensions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SkuPackageDimensions'" (\obj -> (((GHC.Base.pure SkuPackageDimensions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "height")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "length")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "weight")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "width")) -- | Define the one-of schema skuProduct\' -- -- The ID of the product this SKU is associated with. The product must be currently active. data SkuProduct'Variants = SkuProduct'Product Product | SkuProduct'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SkuProduct'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SkuProduct'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema source -- -- \`Source\` objects allow you to accept a variety of payment methods. They -- represent a customer\'s payment instrument, and can be used with the Stripe API -- just like a \`Card\` object: once chargeable, they can be charged, or can be -- attached to customers. -- -- Related guides: [Sources API](https:\/\/stripe.com\/docs\/sources) and [Sources & Customers](https:\/\/stripe.com\/docs\/sources\/customers). data Source = Source { -- | ach_credit_transfer sourceAchCreditTransfer :: (GHC.Maybe.Maybe SourceTypeAchCreditTransfer) -- | ach_debit , sourceAchDebit :: (GHC.Maybe.Maybe SourceTypeAchDebit) -- | alipay , sourceAlipay :: (GHC.Maybe.Maybe SourceTypeAlipay) -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the total amount associated with the source. This is the amount for which the source will be chargeable once ready. Required for \`single_use\` sources. , sourceAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | bancontact , sourceBancontact :: (GHC.Maybe.Maybe SourceTypeBancontact) -- | card , sourceCard :: (GHC.Maybe.Maybe SourceTypeCard) -- | card_present , sourceCardPresent :: (GHC.Maybe.Maybe SourceTypeCardPresent) -- | client_secret: The client secret of the source. Used for client-side retrieval using a publishable key. -- -- Constraints: -- -- * Maximum length of 5000 , sourceClientSecret :: GHC.Base.String -- | code_verification: , sourceCodeVerification :: (GHC.Maybe.Maybe SourceCodeVerificationFlow) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , sourceCreated :: GHC.Integer.Type.Integer -- | currency: Three-letter [ISO code for the currency](https:\/\/stripe.com\/docs\/currencies) associated with the source. This is the currency for which the source will be chargeable once ready. Required for \`single_use\` sources. , sourceCurrency :: (GHC.Maybe.Maybe GHC.Base.String) -- | customer: The ID of the customer to which this source is attached. This will not be present when the source has not been attached to a customer. -- -- Constraints: -- -- * Maximum length of 5000 , sourceCustomer :: (GHC.Maybe.Maybe GHC.Base.String) -- | eps , sourceEps :: (GHC.Maybe.Maybe SourceTypeEps) -- | flow: The authentication \`flow\` of the source. \`flow\` is one of \`redirect\`, \`receiver\`, \`code_verification\`, \`none\`. -- -- Constraints: -- -- * Maximum length of 5000 , sourceFlow :: GHC.Base.String -- | giropay , sourceGiropay :: (GHC.Maybe.Maybe SourceTypeGiropay) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , sourceId :: GHC.Base.String -- | ideal , sourceIdeal :: (GHC.Maybe.Maybe SourceTypeIdeal) -- | klarna , sourceKlarna :: (GHC.Maybe.Maybe SourceTypeKlarna) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , sourceLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , sourceMetadata :: (GHC.Maybe.Maybe SourceMetadata') -- | multibanco , sourceMultibanco :: (GHC.Maybe.Maybe SourceTypeMultibanco) -- | object: String representing the object\'s type. Objects of the same type share the same value. , sourceObject :: SourceObject' -- | owner: Information about the owner of the payment instrument that may be used or required by particular source types. , sourceOwner :: (GHC.Maybe.Maybe SourceOwner') -- | p24 , sourceP24 :: (GHC.Maybe.Maybe SourceTypeP24) -- | receiver: , sourceReceiver :: (GHC.Maybe.Maybe SourceReceiverFlow) -- | redirect: , sourceRedirect :: (GHC.Maybe.Maybe SourceRedirectFlow) -- | sepa_debit , sourceSepaDebit :: (GHC.Maybe.Maybe SourceTypeSepaDebit) -- | sofort , sourceSofort :: (GHC.Maybe.Maybe SourceTypeSofort) -- | source_order: , sourceSourceOrder :: (GHC.Maybe.Maybe SourceOrder) -- | statement_descriptor: Extra information about a source. This will appear on your customer\'s statement every time you charge the source. -- -- Constraints: -- -- * Maximum length of 5000 , sourceStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: The status of the source, one of \`canceled\`, \`chargeable\`, \`consumed\`, \`failed\`, or \`pending\`. Only \`chargeable\` sources can be used to create a charge. -- -- Constraints: -- -- * Maximum length of 5000 , sourceStatus :: GHC.Base.String -- | three_d_secure , sourceThreeDSecure :: (GHC.Maybe.Maybe SourceTypeThreeDSecure) -- | type: The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. , sourceType :: SourceType' -- | usage: Either \`reusable\` or \`single_use\`. Whether this source should be reusable or not. Some source types may or may not be reusable by construction, while others may leave the option at creation. If an incompatible value is passed, an error will be returned. -- -- Constraints: -- -- * Maximum length of 5000 , sourceUsage :: (GHC.Maybe.Maybe GHC.Base.String) -- | wechat , sourceWechat :: (GHC.Maybe.Maybe SourceTypeWechat) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Source where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "ach_credit_transfer" (sourceAchCreditTransfer obj) : (Data.Aeson..=) "ach_debit" (sourceAchDebit obj) : (Data.Aeson..=) "alipay" (sourceAlipay obj) : (Data.Aeson..=) "amount" (sourceAmount obj) : (Data.Aeson..=) "bancontact" (sourceBancontact obj) : (Data.Aeson..=) "card" (sourceCard obj) : (Data.Aeson..=) "card_present" (sourceCardPresent obj) : (Data.Aeson..=) "client_secret" (sourceClientSecret obj) : (Data.Aeson..=) "code_verification" (sourceCodeVerification obj) : (Data.Aeson..=) "created" (sourceCreated obj) : (Data.Aeson..=) "currency" (sourceCurrency obj) : (Data.Aeson..=) "customer" (sourceCustomer obj) : (Data.Aeson..=) "eps" (sourceEps obj) : (Data.Aeson..=) "flow" (sourceFlow obj) : (Data.Aeson..=) "giropay" (sourceGiropay obj) : (Data.Aeson..=) "id" (sourceId obj) : (Data.Aeson..=) "ideal" (sourceIdeal obj) : (Data.Aeson..=) "klarna" (sourceKlarna obj) : (Data.Aeson..=) "livemode" (sourceLivemode obj) : (Data.Aeson..=) "metadata" (sourceMetadata obj) : (Data.Aeson..=) "multibanco" (sourceMultibanco obj) : (Data.Aeson..=) "object" (sourceObject obj) : (Data.Aeson..=) "owner" (sourceOwner obj) : (Data.Aeson..=) "p24" (sourceP24 obj) : (Data.Aeson..=) "receiver" (sourceReceiver obj) : (Data.Aeson..=) "redirect" (sourceRedirect obj) : (Data.Aeson..=) "sepa_debit" (sourceSepaDebit obj) : (Data.Aeson..=) "sofort" (sourceSofort obj) : (Data.Aeson..=) "source_order" (sourceSourceOrder obj) : (Data.Aeson..=) "statement_descriptor" (sourceStatementDescriptor obj) : (Data.Aeson..=) "status" (sourceStatus obj) : (Data.Aeson..=) "three_d_secure" (sourceThreeDSecure obj) : (Data.Aeson..=) "type" (sourceType obj) : (Data.Aeson..=) "usage" (sourceUsage obj) : (Data.Aeson..=) "wechat" (sourceWechat obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "ach_credit_transfer" (sourceAchCreditTransfer obj) GHC.Base.<> ((Data.Aeson..=) "ach_debit" (sourceAchDebit obj) GHC.Base.<> ((Data.Aeson..=) "alipay" (sourceAlipay obj) GHC.Base.<> ((Data.Aeson..=) "amount" (sourceAmount obj) GHC.Base.<> ((Data.Aeson..=) "bancontact" (sourceBancontact obj) GHC.Base.<> ((Data.Aeson..=) "card" (sourceCard obj) GHC.Base.<> ((Data.Aeson..=) "card_present" (sourceCardPresent obj) GHC.Base.<> ((Data.Aeson..=) "client_secret" (sourceClientSecret obj) GHC.Base.<> ((Data.Aeson..=) "code_verification" (sourceCodeVerification obj) GHC.Base.<> ((Data.Aeson..=) "created" (sourceCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (sourceCurrency obj) GHC.Base.<> ((Data.Aeson..=) "customer" (sourceCustomer obj) GHC.Base.<> ((Data.Aeson..=) "eps" (sourceEps obj) GHC.Base.<> ((Data.Aeson..=) "flow" (sourceFlow obj) GHC.Base.<> ((Data.Aeson..=) "giropay" (sourceGiropay obj) GHC.Base.<> ((Data.Aeson..=) "id" (sourceId obj) GHC.Base.<> ((Data.Aeson..=) "ideal" (sourceIdeal obj) GHC.Base.<> ((Data.Aeson..=) "klarna" (sourceKlarna obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (sourceLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (sourceMetadata obj) GHC.Base.<> ((Data.Aeson..=) "multibanco" (sourceMultibanco obj) GHC.Base.<> ((Data.Aeson..=) "object" (sourceObject obj) GHC.Base.<> ((Data.Aeson..=) "owner" (sourceOwner obj) GHC.Base.<> ((Data.Aeson..=) "p24" (sourceP24 obj) GHC.Base.<> ((Data.Aeson..=) "receiver" (sourceReceiver obj) GHC.Base.<> ((Data.Aeson..=) "redirect" (sourceRedirect obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (sourceSepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "sofort" (sourceSofort obj) GHC.Base.<> ((Data.Aeson..=) "source_order" (sourceSourceOrder obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (sourceStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (sourceStatus obj) GHC.Base.<> ((Data.Aeson..=) "three_d_secure" (sourceThreeDSecure obj) GHC.Base.<> ((Data.Aeson..=) "type" (sourceType obj) GHC.Base.<> ((Data.Aeson..=) "usage" (sourceUsage obj) GHC.Base.<> (Data.Aeson..=) "wechat" (sourceWechat obj))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Source where parseJSON = Data.Aeson.Types.FromJSON.withObject "Source" (\obj -> ((((((((((((((((((((((((((((((((((GHC.Base.pure Source GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_credit_transfer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ach_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card_present")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "client_secret")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "code_verification")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "eps")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "flow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "giropay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "multibanco")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "owner")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "receiver")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_order")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "three_d_secure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "wechat")) -- | Defines the data type for the schema sourceMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data SourceMetadata' = SourceMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SourceMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceMetadata'" (\obj -> GHC.Base.pure SourceMetadata') -- | Defines the enum schema sourceObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SourceObject' = SourceObject'EnumOther Data.Aeson.Types.Internal.Value | SourceObject'EnumTyped GHC.Base.String | SourceObject'EnumStringSource deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceObject' where toJSON (SourceObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SourceObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SourceObject'EnumStringSource) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "source" instance Data.Aeson.FromJSON SourceObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "source") then SourceObject'EnumStringSource else SourceObject'EnumOther val) -- | Defines the data type for the schema sourceOwner\' -- -- Information about the owner of the payment instrument that may be used or required by particular source types. data SourceOwner' = SourceOwner' { -- | address: Owner\'s address. sourceOwner'Address :: (GHC.Maybe.Maybe SourceOwner'Address') -- | email: Owner\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'Email :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s full name. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'Name :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Owner\'s phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'Phone :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. , sourceOwner'VerifiedAddress :: (GHC.Maybe.Maybe SourceOwner'VerifiedAddress') -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'VerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'VerifiedName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'VerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceOwner' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (sourceOwner'Address obj) : (Data.Aeson..=) "email" (sourceOwner'Email obj) : (Data.Aeson..=) "name" (sourceOwner'Name obj) : (Data.Aeson..=) "phone" (sourceOwner'Phone obj) : (Data.Aeson..=) "verified_address" (sourceOwner'VerifiedAddress obj) : (Data.Aeson..=) "verified_email" (sourceOwner'VerifiedEmail obj) : (Data.Aeson..=) "verified_name" (sourceOwner'VerifiedName obj) : (Data.Aeson..=) "verified_phone" (sourceOwner'VerifiedPhone obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (sourceOwner'Address obj) GHC.Base.<> ((Data.Aeson..=) "email" (sourceOwner'Email obj) GHC.Base.<> ((Data.Aeson..=) "name" (sourceOwner'Name obj) GHC.Base.<> ((Data.Aeson..=) "phone" (sourceOwner'Phone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (sourceOwner'VerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (sourceOwner'VerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (sourceOwner'VerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (sourceOwner'VerifiedPhone obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON SourceOwner' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceOwner'" (\obj -> (((((((GHC.Base.pure SourceOwner' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone")) -- | Defines the data type for the schema sourceOwner\'Address\' -- -- Owner\\\'s address. data SourceOwner'Address' = SourceOwner'Address' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 sourceOwner'Address'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'Address'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'Address'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'Address'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'Address'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'Address'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceOwner'Address' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (sourceOwner'Address'City obj) : (Data.Aeson..=) "country" (sourceOwner'Address'Country obj) : (Data.Aeson..=) "line1" (sourceOwner'Address'Line1 obj) : (Data.Aeson..=) "line2" (sourceOwner'Address'Line2 obj) : (Data.Aeson..=) "postal_code" (sourceOwner'Address'PostalCode obj) : (Data.Aeson..=) "state" (sourceOwner'Address'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (sourceOwner'Address'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (sourceOwner'Address'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (sourceOwner'Address'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (sourceOwner'Address'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (sourceOwner'Address'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (sourceOwner'Address'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON SourceOwner'Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceOwner'Address'" (\obj -> (((((GHC.Base.pure SourceOwner'Address' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema sourceOwner\'Verified_address\' -- -- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. data SourceOwner'VerifiedAddress' = SourceOwner'VerifiedAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 sourceOwner'VerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'VerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'VerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'VerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'VerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwner'VerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceOwner'VerifiedAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (sourceOwner'VerifiedAddress'City obj) : (Data.Aeson..=) "country" (sourceOwner'VerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (sourceOwner'VerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (sourceOwner'VerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (sourceOwner'VerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (sourceOwner'VerifiedAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (sourceOwner'VerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (sourceOwner'VerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (sourceOwner'VerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (sourceOwner'VerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (sourceOwner'VerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (sourceOwner'VerifiedAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON SourceOwner'VerifiedAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceOwner'VerifiedAddress'" (\obj -> (((((GHC.Base.pure SourceOwner'VerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the enum schema sourceType\' -- -- The \`type\` of the source. The \`type\` is a payment method, one of \`ach_credit_transfer\`, \`ach_debit\`, \`alipay\`, \`bancontact\`, \`card\`, \`card_present\`, \`eps\`, \`giropay\`, \`ideal\`, \`multibanco\`, \`klarna\`, \`p24\`, \`sepa_debit\`, \`sofort\`, \`three_d_secure\`, or \`wechat\`. An additional hash is included on the source with a name matching this value. It contains additional information specific to the [payment method](https:\/\/stripe.com\/docs\/sources) used. data SourceType' = SourceType'EnumOther Data.Aeson.Types.Internal.Value | SourceType'EnumTyped GHC.Base.String | SourceType'EnumStringAchCreditTransfer | SourceType'EnumStringAchDebit | SourceType'EnumStringAlipay | SourceType'EnumStringBancontact | SourceType'EnumStringCard | SourceType'EnumStringCardPresent | SourceType'EnumStringEps | SourceType'EnumStringGiropay | SourceType'EnumStringIdeal | SourceType'EnumStringKlarna | SourceType'EnumStringMultibanco | SourceType'EnumStringP24 | SourceType'EnumStringSepaDebit | SourceType'EnumStringSofort | SourceType'EnumStringThreeDSecure | SourceType'EnumStringWechat deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceType' where toJSON (SourceType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SourceType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SourceType'EnumStringAchCreditTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer" toJSON (SourceType'EnumStringAchDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit" toJSON (SourceType'EnumStringAlipay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay" toJSON (SourceType'EnumStringBancontact) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact" toJSON (SourceType'EnumStringCard) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card" toJSON (SourceType'EnumStringCardPresent) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present" toJSON (SourceType'EnumStringEps) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps" toJSON (SourceType'EnumStringGiropay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay" toJSON (SourceType'EnumStringIdeal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal" toJSON (SourceType'EnumStringKlarna) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna" toJSON (SourceType'EnumStringMultibanco) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco" toJSON (SourceType'EnumStringP24) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24" toJSON (SourceType'EnumStringSepaDebit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit" toJSON (SourceType'EnumStringSofort) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort" toJSON (SourceType'EnumStringThreeDSecure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure" toJSON (SourceType'EnumStringWechat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat" instance Data.Aeson.FromJSON SourceType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_credit_transfer") then SourceType'EnumStringAchCreditTransfer else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ach_debit") then SourceType'EnumStringAchDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "alipay") then SourceType'EnumStringAlipay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "bancontact") then SourceType'EnumStringBancontact else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card") then SourceType'EnumStringCard else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "card_present") then SourceType'EnumStringCardPresent else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eps") then SourceType'EnumStringEps else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "giropay") then SourceType'EnumStringGiropay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ideal") then SourceType'EnumStringIdeal else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "klarna") then SourceType'EnumStringKlarna else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "multibanco") then SourceType'EnumStringMultibanco else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "p24") then SourceType'EnumStringP24 else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sepa_debit") then SourceType'EnumStringSepaDebit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sofort") then SourceType'EnumStringSofort else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure") then SourceType'EnumStringThreeDSecure else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "wechat") then SourceType'EnumStringWechat else SourceType'EnumOther val) -- | Defines the data type for the schema source_mandate_notification -- -- Source mandate notifications should be created when a notification related to -- a source mandate must be sent to the payer. They will trigger a webhook or -- deliver an email to the customer. data SourceMandateNotification = SourceMandateNotification { -- | amount: A positive integer in the smallest currency unit (that is, 100 cents for \$1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount associated with the mandate notification. The amount is expressed in the currency of the underlying source. Required if the notification type is \`debit_initiated\`. sourceMandateNotificationAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | bacs_debit: , sourceMandateNotificationBacsDebit :: (GHC.Maybe.Maybe SourceMandateNotificationBacsDebitData) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , sourceMandateNotificationCreated :: GHC.Integer.Type.Integer -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , sourceMandateNotificationId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , sourceMandateNotificationLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , sourceMandateNotificationObject :: SourceMandateNotificationObject' -- | reason: The reason of the mandate notification. Valid reasons are \`mandate_confirmed\` or \`debit_initiated\`. -- -- Constraints: -- -- * Maximum length of 5000 , sourceMandateNotificationReason :: GHC.Base.String -- | sepa_debit: , sourceMandateNotificationSepaDebit :: (GHC.Maybe.Maybe SourceMandateNotificationSepaDebitData) -- | source: \`Source\` objects allow you to accept a variety of payment methods. They -- represent a customer\'s payment instrument, and can be used with the Stripe API -- just like a \`Card\` object: once chargeable, they can be charged, or can be -- attached to customers. -- -- Related guides: [Sources API](https:\/\/stripe.com\/docs\/sources) and [Sources & Customers](https:\/\/stripe.com\/docs\/sources\/customers). , sourceMandateNotificationSource :: Source -- | status: The status of the mandate notification. Valid statuses are \`pending\` or \`submitted\`. -- -- Constraints: -- -- * Maximum length of 5000 , sourceMandateNotificationStatus :: GHC.Base.String -- | type: The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as \`three_d_secure\`. -- -- Constraints: -- -- * Maximum length of 5000 , sourceMandateNotificationType :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceMandateNotification where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (sourceMandateNotificationAmount obj) : (Data.Aeson..=) "bacs_debit" (sourceMandateNotificationBacsDebit obj) : (Data.Aeson..=) "created" (sourceMandateNotificationCreated obj) : (Data.Aeson..=) "id" (sourceMandateNotificationId obj) : (Data.Aeson..=) "livemode" (sourceMandateNotificationLivemode obj) : (Data.Aeson..=) "object" (sourceMandateNotificationObject obj) : (Data.Aeson..=) "reason" (sourceMandateNotificationReason obj) : (Data.Aeson..=) "sepa_debit" (sourceMandateNotificationSepaDebit obj) : (Data.Aeson..=) "source" (sourceMandateNotificationSource obj) : (Data.Aeson..=) "status" (sourceMandateNotificationStatus obj) : (Data.Aeson..=) "type" (sourceMandateNotificationType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (sourceMandateNotificationAmount obj) GHC.Base.<> ((Data.Aeson..=) "bacs_debit" (sourceMandateNotificationBacsDebit obj) GHC.Base.<> ((Data.Aeson..=) "created" (sourceMandateNotificationCreated obj) GHC.Base.<> ((Data.Aeson..=) "id" (sourceMandateNotificationId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (sourceMandateNotificationLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (sourceMandateNotificationObject obj) GHC.Base.<> ((Data.Aeson..=) "reason" (sourceMandateNotificationReason obj) GHC.Base.<> ((Data.Aeson..=) "sepa_debit" (sourceMandateNotificationSepaDebit obj) GHC.Base.<> ((Data.Aeson..=) "source" (sourceMandateNotificationSource obj) GHC.Base.<> ((Data.Aeson..=) "status" (sourceMandateNotificationStatus obj) GHC.Base.<> (Data.Aeson..=) "type" (sourceMandateNotificationType obj))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SourceMandateNotification where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceMandateNotification" (\obj -> ((((((((((GHC.Base.pure SourceMandateNotification GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bacs_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reason")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) -- | Defines the enum schema source_mandate_notificationObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SourceMandateNotificationObject' = SourceMandateNotificationObject'EnumOther Data.Aeson.Types.Internal.Value | SourceMandateNotificationObject'EnumTyped GHC.Base.String | SourceMandateNotificationObject'EnumStringSourceMandateNotification deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceMandateNotificationObject' where toJSON (SourceMandateNotificationObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SourceMandateNotificationObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SourceMandateNotificationObject'EnumStringSourceMandateNotification) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "source_mandate_notification" instance Data.Aeson.FromJSON SourceMandateNotificationObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "source_mandate_notification") then SourceMandateNotificationObject'EnumStringSourceMandateNotification else SourceMandateNotificationObject'EnumOther val) -- | Defines the data type for the schema source_owner -- -- data SourceOwner = SourceOwner { -- | address: Owner\'s address. sourceOwnerAddress :: (GHC.Maybe.Maybe SourceOwnerAddress') -- | email: Owner\'s email address. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | name: Owner\'s full name. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerName :: (GHC.Maybe.Maybe GHC.Base.String) -- | phone: Owner\'s phone number (including extension). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerPhone :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_address: Verified owner\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. , sourceOwnerVerifiedAddress :: (GHC.Maybe.Maybe SourceOwnerVerifiedAddress') -- | verified_email: Verified owner\'s email address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerVerifiedEmail :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_name: Verified owner\'s full name. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerVerifiedName :: (GHC.Maybe.Maybe GHC.Base.String) -- | verified_phone: Verified owner\'s phone number (including extension). Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerVerifiedPhone :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceOwner where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "address" (sourceOwnerAddress obj) : (Data.Aeson..=) "email" (sourceOwnerEmail obj) : (Data.Aeson..=) "name" (sourceOwnerName obj) : (Data.Aeson..=) "phone" (sourceOwnerPhone obj) : (Data.Aeson..=) "verified_address" (sourceOwnerVerifiedAddress obj) : (Data.Aeson..=) "verified_email" (sourceOwnerVerifiedEmail obj) : (Data.Aeson..=) "verified_name" (sourceOwnerVerifiedName obj) : (Data.Aeson..=) "verified_phone" (sourceOwnerVerifiedPhone obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "address" (sourceOwnerAddress obj) GHC.Base.<> ((Data.Aeson..=) "email" (sourceOwnerEmail obj) GHC.Base.<> ((Data.Aeson..=) "name" (sourceOwnerName obj) GHC.Base.<> ((Data.Aeson..=) "phone" (sourceOwnerPhone obj) GHC.Base.<> ((Data.Aeson..=) "verified_address" (sourceOwnerVerifiedAddress obj) GHC.Base.<> ((Data.Aeson..=) "verified_email" (sourceOwnerVerifiedEmail obj) GHC.Base.<> ((Data.Aeson..=) "verified_name" (sourceOwnerVerifiedName obj) GHC.Base.<> (Data.Aeson..=) "verified_phone" (sourceOwnerVerifiedPhone obj)))))))) instance Data.Aeson.Types.FromJSON.FromJSON SourceOwner where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceOwner" (\obj -> (((((((GHC.Base.pure SourceOwner GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "verified_phone")) -- | Defines the data type for the schema source_ownerAddress\' -- -- Owner\\\'s address. data SourceOwnerAddress' = SourceOwnerAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 sourceOwnerAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceOwnerAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (sourceOwnerAddress'City obj) : (Data.Aeson..=) "country" (sourceOwnerAddress'Country obj) : (Data.Aeson..=) "line1" (sourceOwnerAddress'Line1 obj) : (Data.Aeson..=) "line2" (sourceOwnerAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (sourceOwnerAddress'PostalCode obj) : (Data.Aeson..=) "state" (sourceOwnerAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (sourceOwnerAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (sourceOwnerAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (sourceOwnerAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (sourceOwnerAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (sourceOwnerAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (sourceOwnerAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON SourceOwnerAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceOwnerAddress'" (\obj -> (((((GHC.Base.pure SourceOwnerAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema source_ownerVerified_address\' -- -- Verified owner\\\'s address. Verified values are verified or provided by the payment method directly (and if supported) at the time of authorization or settlement. They cannot be set or mutated. data SourceOwnerVerifiedAddress' = SourceOwnerVerifiedAddress' { -- | city: City, district, suburb, town, or village. -- -- Constraints: -- -- * Maximum length of 5000 sourceOwnerVerifiedAddress'City :: (GHC.Maybe.Maybe GHC.Base.String) -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerVerifiedAddress'Country :: (GHC.Maybe.Maybe GHC.Base.String) -- | line1: Address line 1 (e.g., street, PO Box, or company name). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerVerifiedAddress'Line1 :: (GHC.Maybe.Maybe GHC.Base.String) -- | line2: Address line 2 (e.g., apartment, suite, unit, or building). -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerVerifiedAddress'Line2 :: (GHC.Maybe.Maybe GHC.Base.String) -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerVerifiedAddress'PostalCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | state: State, county, province, or region. -- -- Constraints: -- -- * Maximum length of 5000 , sourceOwnerVerifiedAddress'State :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SourceOwnerVerifiedAddress' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "city" (sourceOwnerVerifiedAddress'City obj) : (Data.Aeson..=) "country" (sourceOwnerVerifiedAddress'Country obj) : (Data.Aeson..=) "line1" (sourceOwnerVerifiedAddress'Line1 obj) : (Data.Aeson..=) "line2" (sourceOwnerVerifiedAddress'Line2 obj) : (Data.Aeson..=) "postal_code" (sourceOwnerVerifiedAddress'PostalCode obj) : (Data.Aeson..=) "state" (sourceOwnerVerifiedAddress'State obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "city" (sourceOwnerVerifiedAddress'City obj) GHC.Base.<> ((Data.Aeson..=) "country" (sourceOwnerVerifiedAddress'Country obj) GHC.Base.<> ((Data.Aeson..=) "line1" (sourceOwnerVerifiedAddress'Line1 obj) GHC.Base.<> ((Data.Aeson..=) "line2" (sourceOwnerVerifiedAddress'Line2 obj) GHC.Base.<> ((Data.Aeson..=) "postal_code" (sourceOwnerVerifiedAddress'PostalCode obj) GHC.Base.<> (Data.Aeson..=) "state" (sourceOwnerVerifiedAddress'State obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON SourceOwnerVerifiedAddress' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SourceOwnerVerifiedAddress'" (\obj -> (((((GHC.Base.pure SourceOwnerVerifiedAddress' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "state")) -- | Defines the data type for the schema subscription -- -- Subscriptions allow you to charge a customer on a recurring basis. -- -- Related guide: [Creating Subscriptions](https:\/\/stripe.com\/docs\/billing\/subscriptions\/creating). data Subscription = Subscription { -- | application_fee_percent: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner\'s Stripe account. subscriptionApplicationFeePercent :: (GHC.Maybe.Maybe GHC.Types.Double) -- | billing_cycle_anchor: Determines the date of the first full invoice, and, for plans with \`month\` or \`year\` intervals, the day of the month for subsequent invoices. , subscriptionBillingCycleAnchor :: GHC.Integer.Type.Integer -- | billing_thresholds: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period , subscriptionBillingThresholds :: (GHC.Maybe.Maybe SubscriptionBillingThresholds') -- | cancel_at: A date in the future at which the subscription will automatically get canceled , subscriptionCancelAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | cancel_at_period_end: If the subscription has been canceled with the \`at_period_end\` flag set to \`true\`, \`cancel_at_period_end\` on the subscription will be true. You can use this attribute to determine whether a subscription that has a status of active is scheduled to be canceled at the end of the current period. , subscriptionCancelAtPeriodEnd :: GHC.Types.Bool -- | canceled_at: If the subscription has been canceled, the date of that cancellation. If the subscription was canceled with \`cancel_at_period_end\`, \`canceled_at\` will still reflect the date of the initial cancellation request, not the end of the subscription period when the subscription is automatically moved to a canceled state. , subscriptionCanceledAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | collection_method: Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. , subscriptionCollectionMethod :: (GHC.Maybe.Maybe SubscriptionCollectionMethod') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , subscriptionCreated :: GHC.Integer.Type.Integer -- | current_period_end: End of the current period that the subscription has been invoiced for. At the end of this period, a new invoice will be created. , subscriptionCurrentPeriodEnd :: GHC.Integer.Type.Integer -- | current_period_start: Start of the current period that the subscription has been invoiced for. , subscriptionCurrentPeriodStart :: GHC.Integer.Type.Integer -- | customer: ID of the customer who owns the subscription. , subscriptionCustomer :: SubscriptionCustomer'Variants -- | days_until_due: Number of days a customer has to pay invoices generated by this subscription. This value will be \`null\` for subscriptions where \`collection_method=charge_automatically\`. , subscriptionDaysUntilDue :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | default_payment_method: ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. If not set, invoices will use the default payment method in the customer\'s invoice settings. , subscriptionDefaultPaymentMethod :: (GHC.Maybe.Maybe SubscriptionDefaultPaymentMethod'Variants) -- | default_source: ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If not set, defaults to the customer\'s default source. , subscriptionDefaultSource :: (GHC.Maybe.Maybe SubscriptionDefaultSource'Variants) -- | default_tax_rates: The tax rates that will apply to any subscription item that does not have \`tax_rates\` set. Invoices created will have their \`default_tax_rates\` populated from the subscription. , subscriptionDefaultTaxRates :: (GHC.Maybe.Maybe ([] TaxRate)) -- | discount: Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis. , subscriptionDiscount :: (GHC.Maybe.Maybe SubscriptionDiscount') -- | ended_at: If the subscription has ended, the date the subscription ended. , subscriptionEndedAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionId :: GHC.Base.String -- | items: List of subscription items, each with an attached plan. , subscriptionItems :: SubscriptionItems' -- | latest_invoice: The most recent invoice this subscription has generated. , subscriptionLatestInvoice :: (GHC.Maybe.Maybe SubscriptionLatestInvoice'Variants) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , subscriptionLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , subscriptionMetadata :: SubscriptionMetadata' -- | next_pending_invoice_item_invoice: Specifies the approximate timestamp on which any pending invoice items will be billed according to the schedule provided at \`pending_invoice_item_interval\`. , subscriptionNextPendingInvoiceItemInvoice :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | object: String representing the object\'s type. Objects of the same type share the same value. , subscriptionObject :: SubscriptionObject' -- | pending_invoice_item_interval: Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https:\/\/stripe.com\/docs\/api\#create_invoice) for the given subscription at the specified interval. , subscriptionPendingInvoiceItemInterval :: (GHC.Maybe.Maybe SubscriptionPendingInvoiceItemInterval') -- | pending_setup_intent: You can use this [SetupIntent](https:\/\/stripe.com\/docs\/api\/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription\'s payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https:\/\/stripe.com\/docs\/billing\/migration\/strong-customer-authentication\#scenario-2). , subscriptionPendingSetupIntent :: (GHC.Maybe.Maybe SubscriptionPendingSetupIntent'Variants) -- | pending_update: If specified, [pending updates](https:\/\/stripe.com\/docs\/billing\/subscriptions\/pending-updates) that will be applied to the subscription once the \`latest_invoice\` has been paid. , subscriptionPendingUpdate :: (GHC.Maybe.Maybe SubscriptionPendingUpdate') -- | plan: Hash describing the plan the customer is subscribed to. Only set if the subscription contains a single plan. , subscriptionPlan :: (GHC.Maybe.Maybe SubscriptionPlan') -- | quantity: The quantity of the plan to which the customer is subscribed. For example, if your plan is \$10\/user\/month, and your customer has 5 users, you could pass 5 as the quantity to have the customer charged \$50 (5 x \$10) monthly. Only set if the subscription contains a single plan. , subscriptionQuantity :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | schedule: The schedule attached to the subscription , subscriptionSchedule :: (GHC.Maybe.Maybe SubscriptionSchedule'Variants) -- | start_date: Date when the subscription was first created. The date might differ from the \`created\` date due to backdating. , subscriptionStartDate :: GHC.Integer.Type.Integer -- | status: Possible values are \`incomplete\`, \`incomplete_expired\`, \`trialing\`, \`active\`, \`past_due\`, \`canceled\`, or \`unpaid\`. -- -- For \`collection_method=charge_automatically\` a subscription moves into \`incomplete\` if the initial payment attempt fails. A subscription in this state can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an \`active\` state. If the first invoice is not paid within 23 hours, the subscription transitions to \`incomplete_expired\`. This is a terminal state, the open invoice will be voided and no further invoices will be generated. -- -- A subscription that is currently in a trial period is \`trialing\` and moves to \`active\` when the trial period is over. -- -- If subscription \`collection_method=charge_automatically\` it becomes \`past_due\` when payment to renew it fails and \`canceled\` or \`unpaid\` (depending on your subscriptions settings) when Stripe has exhausted all payment retry attempts. -- -- If subscription \`collection_method=send_invoice\` it becomes \`past_due\` when its invoice is not paid by the due date, and \`canceled\` or \`unpaid\` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of \`unpaid\`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices. , subscriptionStatus :: SubscriptionStatus' -- | tax_percent: If provided, each invoice created by this subscription will apply the tax rate, increasing the amount billed to the customer. , subscriptionTaxPercent :: (GHC.Maybe.Maybe GHC.Types.Double) -- | trial_end: If the subscription has a trial, the end of that trial. , subscriptionTrialEnd :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | trial_start: If the subscription has a trial, the beginning of that trial. , subscriptionTrialStart :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Subscription where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "application_fee_percent" (subscriptionApplicationFeePercent obj) : (Data.Aeson..=) "billing_cycle_anchor" (subscriptionBillingCycleAnchor obj) : (Data.Aeson..=) "billing_thresholds" (subscriptionBillingThresholds obj) : (Data.Aeson..=) "cancel_at" (subscriptionCancelAt obj) : (Data.Aeson..=) "cancel_at_period_end" (subscriptionCancelAtPeriodEnd obj) : (Data.Aeson..=) "canceled_at" (subscriptionCanceledAt obj) : (Data.Aeson..=) "collection_method" (subscriptionCollectionMethod obj) : (Data.Aeson..=) "created" (subscriptionCreated obj) : (Data.Aeson..=) "current_period_end" (subscriptionCurrentPeriodEnd obj) : (Data.Aeson..=) "current_period_start" (subscriptionCurrentPeriodStart obj) : (Data.Aeson..=) "customer" (subscriptionCustomer obj) : (Data.Aeson..=) "days_until_due" (subscriptionDaysUntilDue obj) : (Data.Aeson..=) "default_payment_method" (subscriptionDefaultPaymentMethod obj) : (Data.Aeson..=) "default_source" (subscriptionDefaultSource obj) : (Data.Aeson..=) "default_tax_rates" (subscriptionDefaultTaxRates obj) : (Data.Aeson..=) "discount" (subscriptionDiscount obj) : (Data.Aeson..=) "ended_at" (subscriptionEndedAt obj) : (Data.Aeson..=) "id" (subscriptionId obj) : (Data.Aeson..=) "items" (subscriptionItems obj) : (Data.Aeson..=) "latest_invoice" (subscriptionLatestInvoice obj) : (Data.Aeson..=) "livemode" (subscriptionLivemode obj) : (Data.Aeson..=) "metadata" (subscriptionMetadata obj) : (Data.Aeson..=) "next_pending_invoice_item_invoice" (subscriptionNextPendingInvoiceItemInvoice obj) : (Data.Aeson..=) "object" (subscriptionObject obj) : (Data.Aeson..=) "pending_invoice_item_interval" (subscriptionPendingInvoiceItemInterval obj) : (Data.Aeson..=) "pending_setup_intent" (subscriptionPendingSetupIntent obj) : (Data.Aeson..=) "pending_update" (subscriptionPendingUpdate obj) : (Data.Aeson..=) "plan" (subscriptionPlan obj) : (Data.Aeson..=) "quantity" (subscriptionQuantity obj) : (Data.Aeson..=) "schedule" (subscriptionSchedule obj) : (Data.Aeson..=) "start_date" (subscriptionStartDate obj) : (Data.Aeson..=) "status" (subscriptionStatus obj) : (Data.Aeson..=) "tax_percent" (subscriptionTaxPercent obj) : (Data.Aeson..=) "trial_end" (subscriptionTrialEnd obj) : (Data.Aeson..=) "trial_start" (subscriptionTrialStart obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "application_fee_percent" (subscriptionApplicationFeePercent obj) GHC.Base.<> ((Data.Aeson..=) "billing_cycle_anchor" (subscriptionBillingCycleAnchor obj) GHC.Base.<> ((Data.Aeson..=) "billing_thresholds" (subscriptionBillingThresholds obj) GHC.Base.<> ((Data.Aeson..=) "cancel_at" (subscriptionCancelAt obj) GHC.Base.<> ((Data.Aeson..=) "cancel_at_period_end" (subscriptionCancelAtPeriodEnd obj) GHC.Base.<> ((Data.Aeson..=) "canceled_at" (subscriptionCanceledAt obj) GHC.Base.<> ((Data.Aeson..=) "collection_method" (subscriptionCollectionMethod obj) GHC.Base.<> ((Data.Aeson..=) "created" (subscriptionCreated obj) GHC.Base.<> ((Data.Aeson..=) "current_period_end" (subscriptionCurrentPeriodEnd obj) GHC.Base.<> ((Data.Aeson..=) "current_period_start" (subscriptionCurrentPeriodStart obj) GHC.Base.<> ((Data.Aeson..=) "customer" (subscriptionCustomer obj) GHC.Base.<> ((Data.Aeson..=) "days_until_due" (subscriptionDaysUntilDue obj) GHC.Base.<> ((Data.Aeson..=) "default_payment_method" (subscriptionDefaultPaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "default_source" (subscriptionDefaultSource obj) GHC.Base.<> ((Data.Aeson..=) "default_tax_rates" (subscriptionDefaultTaxRates obj) GHC.Base.<> ((Data.Aeson..=) "discount" (subscriptionDiscount obj) GHC.Base.<> ((Data.Aeson..=) "ended_at" (subscriptionEndedAt obj) GHC.Base.<> ((Data.Aeson..=) "id" (subscriptionId obj) GHC.Base.<> ((Data.Aeson..=) "items" (subscriptionItems obj) GHC.Base.<> ((Data.Aeson..=) "latest_invoice" (subscriptionLatestInvoice obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (subscriptionLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (subscriptionMetadata obj) GHC.Base.<> ((Data.Aeson..=) "next_pending_invoice_item_invoice" (subscriptionNextPendingInvoiceItemInvoice obj) GHC.Base.<> ((Data.Aeson..=) "object" (subscriptionObject obj) GHC.Base.<> ((Data.Aeson..=) "pending_invoice_item_interval" (subscriptionPendingInvoiceItemInterval obj) GHC.Base.<> ((Data.Aeson..=) "pending_setup_intent" (subscriptionPendingSetupIntent obj) GHC.Base.<> ((Data.Aeson..=) "pending_update" (subscriptionPendingUpdate obj) GHC.Base.<> ((Data.Aeson..=) "plan" (subscriptionPlan obj) GHC.Base.<> ((Data.Aeson..=) "quantity" (subscriptionQuantity obj) GHC.Base.<> ((Data.Aeson..=) "schedule" (subscriptionSchedule obj) GHC.Base.<> ((Data.Aeson..=) "start_date" (subscriptionStartDate obj) GHC.Base.<> ((Data.Aeson..=) "status" (subscriptionStatus obj) GHC.Base.<> ((Data.Aeson..=) "tax_percent" (subscriptionTaxPercent obj) GHC.Base.<> ((Data.Aeson..=) "trial_end" (subscriptionTrialEnd obj) GHC.Base.<> (Data.Aeson..=) "trial_start" (subscriptionTrialStart obj))))))))))))))))))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Subscription where parseJSON = Data.Aeson.Types.FromJSON.withObject "Subscription" (\obj -> ((((((((((((((((((((((((((((((((((GHC.Base.pure Subscription GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee_percent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "billing_cycle_anchor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_thresholds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "cancel_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "cancel_at_period_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "canceled_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "collection_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "current_period_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "current_period_start")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "days_until_due")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_tax_rates")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "discount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "ended_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "latest_invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "next_pending_invoice_item_invoice")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "pending_invoice_item_interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "pending_setup_intent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "pending_update")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "plan")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "schedule")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "start_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_percent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_start")) -- | Defines the data type for the schema subscriptionBilling_thresholds\' -- -- Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period data SubscriptionBillingThresholds' = SubscriptionBillingThresholds' { -- | amount_gte: Monetary threshold that triggers the subscription to create an invoice subscriptionBillingThresholds'AmountGte :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | reset_billing_cycle_anchor: Indicates if the \`billing_cycle_anchor\` should be reset when a threshold is reached. If true, \`billing_cycle_anchor\` will be updated to the date\/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be \`true\` if the subscription contains items with plans that have \`aggregate_usage=last_ever\`. , subscriptionBillingThresholds'ResetBillingCycleAnchor :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionBillingThresholds' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount_gte" (subscriptionBillingThresholds'AmountGte obj) : (Data.Aeson..=) "reset_billing_cycle_anchor" (subscriptionBillingThresholds'ResetBillingCycleAnchor obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount_gte" (subscriptionBillingThresholds'AmountGte obj) GHC.Base.<> (Data.Aeson..=) "reset_billing_cycle_anchor" (subscriptionBillingThresholds'ResetBillingCycleAnchor obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionBillingThresholds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionBillingThresholds'" (\obj -> (GHC.Base.pure SubscriptionBillingThresholds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_gte")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reset_billing_cycle_anchor")) -- | Defines the enum schema subscriptionCollection_method\' -- -- Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay this subscription at the end of the cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. data SubscriptionCollectionMethod' = SubscriptionCollectionMethod'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionCollectionMethod'EnumTyped GHC.Base.String | SubscriptionCollectionMethod'EnumStringChargeAutomatically | SubscriptionCollectionMethod'EnumStringSendInvoice deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionCollectionMethod' where toJSON (SubscriptionCollectionMethod'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionCollectionMethod'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionCollectionMethod'EnumStringChargeAutomatically) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_automatically" toJSON (SubscriptionCollectionMethod'EnumStringSendInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "send_invoice" instance Data.Aeson.FromJSON SubscriptionCollectionMethod' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_automatically") then SubscriptionCollectionMethod'EnumStringChargeAutomatically else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "send_invoice") then SubscriptionCollectionMethod'EnumStringSendInvoice else SubscriptionCollectionMethod'EnumOther val) -- | Define the one-of schema subscriptionCustomer\' -- -- ID of the customer who owns the subscription. data SubscriptionCustomer'Variants = SubscriptionCustomer'Customer Customer | SubscriptionCustomer'DeletedCustomer DeletedCustomer | SubscriptionCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema subscriptionDefault_payment_method\' -- -- ID of the default payment method for the subscription. It must belong to the customer associated with the subscription. If not set, invoices will use the default payment method in the customer\'s invoice settings. data SubscriptionDefaultPaymentMethod'Variants = SubscriptionDefaultPaymentMethod'PaymentMethod PaymentMethod | SubscriptionDefaultPaymentMethod'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionDefaultPaymentMethod'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionDefaultPaymentMethod'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema subscriptionDefault_source\' -- -- ID of the default payment source for the subscription. It must belong to the customer associated with the subscription and be in a chargeable state. If not set, defaults to the customer\'s default source. data SubscriptionDefaultSource'Variants = SubscriptionDefaultSource'AlipayAccount AlipayAccount | SubscriptionDefaultSource'BankAccount BankAccount | SubscriptionDefaultSource'BitcoinReceiver BitcoinReceiver | SubscriptionDefaultSource'Card Card | SubscriptionDefaultSource'Source Source | SubscriptionDefaultSource'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionDefaultSource'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionDefaultSource'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema subscriptionDiscount\' -- -- Describes the current discount applied to this subscription, if there is one. When billing, a discount applied to a subscription overrides a discount applied on a customer-wide basis. data SubscriptionDiscount' = SubscriptionDiscount' { -- | coupon: A coupon contains information about a percent-off or amount-off discount you -- might want to apply to a customer. Coupons may be applied to [invoices](https:\/\/stripe.com\/docs\/api\#invoices) or -- [orders](https:\/\/stripe.com\/docs\/api\#create_order-coupon). Coupons do not work with conventional one-off [charges](https:\/\/stripe.com\/docs\/api\#create_charge). subscriptionDiscount'Coupon :: (GHC.Maybe.Maybe Coupon) -- | customer: The ID of the customer associated with this discount. , subscriptionDiscount'Customer :: (GHC.Maybe.Maybe SubscriptionDiscount'Customer'Variants) -- | end: If the coupon has a duration of \`repeating\`, the date that this discount will end. If the coupon has a duration of \`once\` or \`forever\`, this attribute will be null. , subscriptionDiscount'End :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | object: String representing the object\'s type. Objects of the same type share the same value. , subscriptionDiscount'Object :: (GHC.Maybe.Maybe SubscriptionDiscount'Object') -- | start: Date that the coupon was applied. , subscriptionDiscount'Start :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | subscription: The subscription that this coupon is applied to, if it is applied to a particular subscription. -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionDiscount'Subscription :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionDiscount' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "coupon" (subscriptionDiscount'Coupon obj) : (Data.Aeson..=) "customer" (subscriptionDiscount'Customer obj) : (Data.Aeson..=) "end" (subscriptionDiscount'End obj) : (Data.Aeson..=) "object" (subscriptionDiscount'Object obj) : (Data.Aeson..=) "start" (subscriptionDiscount'Start obj) : (Data.Aeson..=) "subscription" (subscriptionDiscount'Subscription obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "coupon" (subscriptionDiscount'Coupon obj) GHC.Base.<> ((Data.Aeson..=) "customer" (subscriptionDiscount'Customer obj) GHC.Base.<> ((Data.Aeson..=) "end" (subscriptionDiscount'End obj) GHC.Base.<> ((Data.Aeson..=) "object" (subscriptionDiscount'Object obj) GHC.Base.<> ((Data.Aeson..=) "start" (subscriptionDiscount'Start obj) GHC.Base.<> (Data.Aeson..=) "subscription" (subscriptionDiscount'Subscription obj)))))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionDiscount' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionDiscount'" (\obj -> (((((GHC.Base.pure SubscriptionDiscount' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "start")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) -- | Define the one-of schema subscriptionDiscount\'Customer\' -- -- The ID of the customer associated with this discount. data SubscriptionDiscount'Customer'Variants = SubscriptionDiscount'Customer'Customer Customer | SubscriptionDiscount'Customer'DeletedCustomer DeletedCustomer | SubscriptionDiscount'Customer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionDiscount'Customer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionDiscount'Customer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema subscriptionDiscount\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SubscriptionDiscount'Object' = SubscriptionDiscount'Object'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionDiscount'Object'EnumTyped GHC.Base.String | SubscriptionDiscount'Object'EnumStringDiscount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionDiscount'Object' where toJSON (SubscriptionDiscount'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionDiscount'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionDiscount'Object'EnumStringDiscount) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount" instance Data.Aeson.FromJSON SubscriptionDiscount'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "discount") then SubscriptionDiscount'Object'EnumStringDiscount else SubscriptionDiscount'Object'EnumOther val) -- | Defines the data type for the schema subscriptionItems\' -- -- List of subscription items, each with an attached plan. data SubscriptionItems' = SubscriptionItems' { -- | data: Details about each object. subscriptionItems'Data :: ([] SubscriptionItem) -- | has_more: True if this list has another page of items after this one that can be fetched. , subscriptionItems'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , subscriptionItems'Object :: SubscriptionItems'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionItems'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionItems' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (subscriptionItems'Data obj) : (Data.Aeson..=) "has_more" (subscriptionItems'HasMore obj) : (Data.Aeson..=) "object" (subscriptionItems'Object obj) : (Data.Aeson..=) "url" (subscriptionItems'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (subscriptionItems'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (subscriptionItems'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (subscriptionItems'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (subscriptionItems'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionItems' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionItems'" (\obj -> (((GHC.Base.pure SubscriptionItems' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema subscriptionItems\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data SubscriptionItems'Object' = SubscriptionItems'Object'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionItems'Object'EnumTyped GHC.Base.String | SubscriptionItems'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionItems'Object' where toJSON (SubscriptionItems'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionItems'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionItems'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON SubscriptionItems'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then SubscriptionItems'Object'EnumStringList else SubscriptionItems'Object'EnumOther val) -- | Define the one-of schema subscriptionLatest_invoice\' -- -- The most recent invoice this subscription has generated. data SubscriptionLatestInvoice'Variants = SubscriptionLatestInvoice'Invoice Invoice | SubscriptionLatestInvoice'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionLatestInvoice'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionLatestInvoice'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema subscriptionMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data SubscriptionMetadata' = SubscriptionMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionMetadata'" (\obj -> GHC.Base.pure SubscriptionMetadata') -- | Defines the enum schema subscriptionObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SubscriptionObject' = SubscriptionObject'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionObject'EnumTyped GHC.Base.String | SubscriptionObject'EnumStringSubscription deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionObject' where toJSON (SubscriptionObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionObject'EnumStringSubscription) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription" instance Data.Aeson.FromJSON SubscriptionObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription") then SubscriptionObject'EnumStringSubscription else SubscriptionObject'EnumOther val) -- | Defines the data type for the schema subscriptionPending_invoice_item_interval\' -- -- Specifies an interval for how often to bill for any pending invoice items. It is analogous to calling [Create an invoice](https:\\\/\\\/stripe.com\\\/docs\\\/api\\\#create_invoice) for the given subscription at the specified interval. data SubscriptionPendingInvoiceItemInterval' = SubscriptionPendingInvoiceItemInterval' { -- | interval: Specifies invoicing frequency. Either \`day\`, \`week\`, \`month\` or \`year\`. subscriptionPendingInvoiceItemInterval'Interval :: (GHC.Maybe.Maybe SubscriptionPendingInvoiceItemInterval'Interval') -- | interval_count: The number of intervals between invoices. For example, \`interval=month\` and \`interval_count=3\` bills every 3 months. Maximum of one year interval allowed (1 year, 12 months, or 52 weeks). , subscriptionPendingInvoiceItemInterval'IntervalCount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPendingInvoiceItemInterval' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "interval" (subscriptionPendingInvoiceItemInterval'Interval obj) : (Data.Aeson..=) "interval_count" (subscriptionPendingInvoiceItemInterval'IntervalCount obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "interval" (subscriptionPendingInvoiceItemInterval'Interval obj) GHC.Base.<> (Data.Aeson..=) "interval_count" (subscriptionPendingInvoiceItemInterval'IntervalCount obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionPendingInvoiceItemInterval' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionPendingInvoiceItemInterval'" (\obj -> (GHC.Base.pure SubscriptionPendingInvoiceItemInterval' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval_count")) -- | Defines the enum schema subscriptionPending_invoice_item_interval\'Interval\' -- -- Specifies invoicing frequency. Either \`day\`, \`week\`, \`month\` or \`year\`. data SubscriptionPendingInvoiceItemInterval'Interval' = SubscriptionPendingInvoiceItemInterval'Interval'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionPendingInvoiceItemInterval'Interval'EnumTyped GHC.Base.String | SubscriptionPendingInvoiceItemInterval'Interval'EnumStringDay | SubscriptionPendingInvoiceItemInterval'Interval'EnumStringMonth | SubscriptionPendingInvoiceItemInterval'Interval'EnumStringWeek | SubscriptionPendingInvoiceItemInterval'Interval'EnumStringYear deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPendingInvoiceItemInterval'Interval' where toJSON (SubscriptionPendingInvoiceItemInterval'Interval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPendingInvoiceItemInterval'Interval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPendingInvoiceItemInterval'Interval'EnumStringDay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day" toJSON (SubscriptionPendingInvoiceItemInterval'Interval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" toJSON (SubscriptionPendingInvoiceItemInterval'Interval'EnumStringWeek) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week" toJSON (SubscriptionPendingInvoiceItemInterval'Interval'EnumStringYear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year" instance Data.Aeson.FromJSON SubscriptionPendingInvoiceItemInterval'Interval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day") then SubscriptionPendingInvoiceItemInterval'Interval'EnumStringDay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then SubscriptionPendingInvoiceItemInterval'Interval'EnumStringMonth else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week") then SubscriptionPendingInvoiceItemInterval'Interval'EnumStringWeek else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year") then SubscriptionPendingInvoiceItemInterval'Interval'EnumStringYear else SubscriptionPendingInvoiceItemInterval'Interval'EnumOther val) -- | Define the one-of schema subscriptionPending_setup_intent\' -- -- You can use this [SetupIntent](https:\/\/stripe.com\/docs\/api\/setup_intents) to collect user authentication when creating a subscription without immediate payment or updating a subscription\'s payment method, allowing you to optimize for off-session payments. Learn more in the [SCA Migration Guide](https:\/\/stripe.com\/docs\/billing\/migration\/strong-customer-authentication\#scenario-2). data SubscriptionPendingSetupIntent'Variants = SubscriptionPendingSetupIntent'SetupIntent SetupIntent | SubscriptionPendingSetupIntent'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionPendingSetupIntent'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionPendingSetupIntent'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema subscriptionPending_update\' -- -- If specified, [pending updates](https:\\\/\\\/stripe.com\\\/docs\\\/billing\\\/subscriptions\\\/pending-updates) that will be applied to the subscription once the \\\`latest_invoice\\\` has been paid. data SubscriptionPendingUpdate' = SubscriptionPendingUpdate' { -- | billing_cycle_anchor: If the update is applied, determines the date of the first full invoice, and, for plans with \`month\` or \`year\` intervals, the day of the month for subsequent invoices. subscriptionPendingUpdate'BillingCycleAnchor :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | expires_at: The point after which the changes reflected by this update will be discarded and no longer applied. , subscriptionPendingUpdate'ExpiresAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | subscription_items: List of subscription items, each with an attached plan, that will be set if the update is applied. , subscriptionPendingUpdate'SubscriptionItems :: (GHC.Maybe.Maybe ([] SubscriptionItem)) -- | trial_end: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied. , subscriptionPendingUpdate'TrialEnd :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | trial_from_plan: Indicates if a plan\'s \`trial_period_days\` should be applied to the subscription. Setting \`trial_end\` per subscription is preferred, and this defaults to \`false\`. Setting this flag to \`true\` together with \`trial_end\` is not allowed. , subscriptionPendingUpdate'TrialFromPlan :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPendingUpdate' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_cycle_anchor" (subscriptionPendingUpdate'BillingCycleAnchor obj) : (Data.Aeson..=) "expires_at" (subscriptionPendingUpdate'ExpiresAt obj) : (Data.Aeson..=) "subscription_items" (subscriptionPendingUpdate'SubscriptionItems obj) : (Data.Aeson..=) "trial_end" (subscriptionPendingUpdate'TrialEnd obj) : (Data.Aeson..=) "trial_from_plan" (subscriptionPendingUpdate'TrialFromPlan obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_cycle_anchor" (subscriptionPendingUpdate'BillingCycleAnchor obj) GHC.Base.<> ((Data.Aeson..=) "expires_at" (subscriptionPendingUpdate'ExpiresAt obj) GHC.Base.<> ((Data.Aeson..=) "subscription_items" (subscriptionPendingUpdate'SubscriptionItems obj) GHC.Base.<> ((Data.Aeson..=) "trial_end" (subscriptionPendingUpdate'TrialEnd obj) GHC.Base.<> (Data.Aeson..=) "trial_from_plan" (subscriptionPendingUpdate'TrialFromPlan obj))))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionPendingUpdate' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionPendingUpdate'" (\obj -> ((((GHC.Base.pure SubscriptionPendingUpdate' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_cycle_anchor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "expires_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription_items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_from_plan")) -- | Defines the data type for the schema subscriptionPlan\' -- -- Hash describing the plan the customer is subscribed to. Only set if the subscription contains a single plan. data SubscriptionPlan' = SubscriptionPlan' { -- | active: Whether the plan is currently available for new subscriptions. subscriptionPlan'Active :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | aggregate_usage: Specifies a usage aggregation strategy for plans of \`usage_type=metered\`. Allowed values are \`sum\` for summing up all usage during a period, \`last_during_period\` for using the last usage record reported within a period, \`last_ever\` for using the last usage record ever (across period bounds) or \`max\` which uses the usage record with the maximum reported usage during a period. Defaults to \`sum\`. , subscriptionPlan'AggregateUsage :: (GHC.Maybe.Maybe SubscriptionPlan'AggregateUsage') -- | amount: The amount in %s to be charged on the interval specified. , subscriptionPlan'Amount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | amount_decimal: Same as \`amount\`, but contains a decimal value with at most 12 decimal places. , subscriptionPlan'AmountDecimal :: (GHC.Maybe.Maybe GHC.Base.String) -- | billing_scheme: Describes how to compute the price per period. Either \`per_unit\` or \`tiered\`. \`per_unit\` indicates that the fixed amount (specified in \`amount\`) will be charged per unit in \`quantity\` (for plans with \`usage_type=licensed\`), or per unit of total usage (for plans with \`usage_type=metered\`). \`tiered\` indicates that the unit pricing will be computed using a tiering strategy as defined using the \`tiers\` and \`tiers_mode\` attributes. , subscriptionPlan'BillingScheme :: (GHC.Maybe.Maybe SubscriptionPlan'BillingScheme') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , subscriptionPlan'Created :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | 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). , subscriptionPlan'Currency :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionPlan'Id :: (GHC.Maybe.Maybe GHC.Base.String) -- | interval: The frequency at which a subscription is billed. One of \`day\`, \`week\`, \`month\` or \`year\`. , subscriptionPlan'Interval :: (GHC.Maybe.Maybe SubscriptionPlan'Interval') -- | interval_count: The number of intervals (specified in the \`interval\` attribute) between subscription billings. For example, \`interval=month\` and \`interval_count=3\` bills every 3 months. , subscriptionPlan'IntervalCount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , subscriptionPlan'Livemode :: (GHC.Maybe.Maybe GHC.Types.Bool) -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , subscriptionPlan'Metadata :: (GHC.Maybe.Maybe SubscriptionPlan'Metadata') -- | nickname: A brief description of the plan, hidden from customers. -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionPlan'Nickname :: (GHC.Maybe.Maybe GHC.Base.String) -- | object: String representing the object\'s type. Objects of the same type share the same value. , subscriptionPlan'Object :: (GHC.Maybe.Maybe SubscriptionPlan'Object') -- | product: The product whose pricing this plan determines. , subscriptionPlan'Product :: (GHC.Maybe.Maybe SubscriptionPlan'Product'Variants) -- | tiers: Each element represents a pricing tier. This parameter requires \`billing_scheme\` to be set to \`tiered\`. See also the documentation for \`billing_scheme\`. , subscriptionPlan'Tiers :: (GHC.Maybe.Maybe ([] PlanTier)) -- | tiers_mode: Defines if the tiering price should be \`graduated\` or \`volume\` based. In \`volume\`-based tiering, the maximum quantity within a period determines the per unit price. In \`graduated\` tiering, pricing can change as the quantity grows. , subscriptionPlan'TiersMode :: (GHC.Maybe.Maybe SubscriptionPlan'TiersMode') -- | transform_usage: Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with \`tiers\`. , subscriptionPlan'TransformUsage :: (GHC.Maybe.Maybe SubscriptionPlan'TransformUsage') -- | trial_period_days: Default number of trial days when subscribing a customer to this plan using [\`trial_from_plan=true\`](https:\/\/stripe.com\/docs\/api\#create_subscription-trial_from_plan). , subscriptionPlan'TrialPeriodDays :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | usage_type: Configures how the quantity per period should be determined. Can be either \`metered\` or \`licensed\`. \`licensed\` automatically bills the \`quantity\` set when adding it to a subscription. \`metered\` aggregates the total usage based on usage records. Defaults to \`licensed\`. , subscriptionPlan'UsageType :: (GHC.Maybe.Maybe SubscriptionPlan'UsageType') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "active" (subscriptionPlan'Active obj) : (Data.Aeson..=) "aggregate_usage" (subscriptionPlan'AggregateUsage obj) : (Data.Aeson..=) "amount" (subscriptionPlan'Amount obj) : (Data.Aeson..=) "amount_decimal" (subscriptionPlan'AmountDecimal obj) : (Data.Aeson..=) "billing_scheme" (subscriptionPlan'BillingScheme obj) : (Data.Aeson..=) "created" (subscriptionPlan'Created obj) : (Data.Aeson..=) "currency" (subscriptionPlan'Currency obj) : (Data.Aeson..=) "id" (subscriptionPlan'Id obj) : (Data.Aeson..=) "interval" (subscriptionPlan'Interval obj) : (Data.Aeson..=) "interval_count" (subscriptionPlan'IntervalCount obj) : (Data.Aeson..=) "livemode" (subscriptionPlan'Livemode obj) : (Data.Aeson..=) "metadata" (subscriptionPlan'Metadata obj) : (Data.Aeson..=) "nickname" (subscriptionPlan'Nickname obj) : (Data.Aeson..=) "object" (subscriptionPlan'Object obj) : (Data.Aeson..=) "product" (subscriptionPlan'Product obj) : (Data.Aeson..=) "tiers" (subscriptionPlan'Tiers obj) : (Data.Aeson..=) "tiers_mode" (subscriptionPlan'TiersMode obj) : (Data.Aeson..=) "transform_usage" (subscriptionPlan'TransformUsage obj) : (Data.Aeson..=) "trial_period_days" (subscriptionPlan'TrialPeriodDays obj) : (Data.Aeson..=) "usage_type" (subscriptionPlan'UsageType obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "active" (subscriptionPlan'Active obj) GHC.Base.<> ((Data.Aeson..=) "aggregate_usage" (subscriptionPlan'AggregateUsage obj) GHC.Base.<> ((Data.Aeson..=) "amount" (subscriptionPlan'Amount obj) GHC.Base.<> ((Data.Aeson..=) "amount_decimal" (subscriptionPlan'AmountDecimal obj) GHC.Base.<> ((Data.Aeson..=) "billing_scheme" (subscriptionPlan'BillingScheme obj) GHC.Base.<> ((Data.Aeson..=) "created" (subscriptionPlan'Created obj) GHC.Base.<> ((Data.Aeson..=) "currency" (subscriptionPlan'Currency obj) GHC.Base.<> ((Data.Aeson..=) "id" (subscriptionPlan'Id obj) GHC.Base.<> ((Data.Aeson..=) "interval" (subscriptionPlan'Interval obj) GHC.Base.<> ((Data.Aeson..=) "interval_count" (subscriptionPlan'IntervalCount obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (subscriptionPlan'Livemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (subscriptionPlan'Metadata obj) GHC.Base.<> ((Data.Aeson..=) "nickname" (subscriptionPlan'Nickname obj) GHC.Base.<> ((Data.Aeson..=) "object" (subscriptionPlan'Object obj) GHC.Base.<> ((Data.Aeson..=) "product" (subscriptionPlan'Product obj) GHC.Base.<> ((Data.Aeson..=) "tiers" (subscriptionPlan'Tiers obj) GHC.Base.<> ((Data.Aeson..=) "tiers_mode" (subscriptionPlan'TiersMode obj) GHC.Base.<> ((Data.Aeson..=) "transform_usage" (subscriptionPlan'TransformUsage obj) GHC.Base.<> ((Data.Aeson..=) "trial_period_days" (subscriptionPlan'TrialPeriodDays obj) GHC.Base.<> (Data.Aeson..=) "usage_type" (subscriptionPlan'UsageType obj)))))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionPlan' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionPlan'" (\obj -> (((((((((((((((((((GHC.Base.pure SubscriptionPlan' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "active")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "aggregate_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_decimal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_scheme")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "interval_count")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "nickname")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "product")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tiers")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tiers_mode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transform_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_period_days")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage_type")) -- | Defines the enum schema subscriptionPlan\'Aggregate_usage\' -- -- Specifies a usage aggregation strategy for plans of \`usage_type=metered\`. Allowed values are \`sum\` for summing up all usage during a period, \`last_during_period\` for using the last usage record reported within a period, \`last_ever\` for using the last usage record ever (across period bounds) or \`max\` which uses the usage record with the maximum reported usage during a period. Defaults to \`sum\`. data SubscriptionPlan'AggregateUsage' = SubscriptionPlan'AggregateUsage'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionPlan'AggregateUsage'EnumTyped GHC.Base.String | SubscriptionPlan'AggregateUsage'EnumStringLastDuringPeriod | SubscriptionPlan'AggregateUsage'EnumStringLastEver | SubscriptionPlan'AggregateUsage'EnumStringMax | SubscriptionPlan'AggregateUsage'EnumStringSum deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'AggregateUsage' where toJSON (SubscriptionPlan'AggregateUsage'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'AggregateUsage'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'AggregateUsage'EnumStringLastDuringPeriod) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_during_period" toJSON (SubscriptionPlan'AggregateUsage'EnumStringLastEver) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_ever" toJSON (SubscriptionPlan'AggregateUsage'EnumStringMax) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "max" toJSON (SubscriptionPlan'AggregateUsage'EnumStringSum) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sum" instance Data.Aeson.FromJSON SubscriptionPlan'AggregateUsage' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_during_period") then SubscriptionPlan'AggregateUsage'EnumStringLastDuringPeriod else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "last_ever") then SubscriptionPlan'AggregateUsage'EnumStringLastEver else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "max") then SubscriptionPlan'AggregateUsage'EnumStringMax else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sum") then SubscriptionPlan'AggregateUsage'EnumStringSum else SubscriptionPlan'AggregateUsage'EnumOther val) -- | Defines the enum schema subscriptionPlan\'Billing_scheme\' -- -- Describes how to compute the price per period. Either \`per_unit\` or \`tiered\`. \`per_unit\` indicates that the fixed amount (specified in \`amount\`) will be charged per unit in \`quantity\` (for plans with \`usage_type=licensed\`), or per unit of total usage (for plans with \`usage_type=metered\`). \`tiered\` indicates that the unit pricing will be computed using a tiering strategy as defined using the \`tiers\` and \`tiers_mode\` attributes. data SubscriptionPlan'BillingScheme' = SubscriptionPlan'BillingScheme'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionPlan'BillingScheme'EnumTyped GHC.Base.String | SubscriptionPlan'BillingScheme'EnumStringPerUnit | SubscriptionPlan'BillingScheme'EnumStringTiered deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'BillingScheme' where toJSON (SubscriptionPlan'BillingScheme'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'BillingScheme'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'BillingScheme'EnumStringPerUnit) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "per_unit" toJSON (SubscriptionPlan'BillingScheme'EnumStringTiered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tiered" instance Data.Aeson.FromJSON SubscriptionPlan'BillingScheme' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "per_unit") then SubscriptionPlan'BillingScheme'EnumStringPerUnit else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tiered") then SubscriptionPlan'BillingScheme'EnumStringTiered else SubscriptionPlan'BillingScheme'EnumOther val) -- | Defines the enum schema subscriptionPlan\'Interval\' -- -- The frequency at which a subscription is billed. One of \`day\`, \`week\`, \`month\` or \`year\`. data SubscriptionPlan'Interval' = SubscriptionPlan'Interval'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionPlan'Interval'EnumTyped GHC.Base.String | SubscriptionPlan'Interval'EnumStringDay | SubscriptionPlan'Interval'EnumStringMonth | SubscriptionPlan'Interval'EnumStringWeek | SubscriptionPlan'Interval'EnumStringYear deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'Interval' where toJSON (SubscriptionPlan'Interval'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'Interval'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'Interval'EnumStringDay) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day" toJSON (SubscriptionPlan'Interval'EnumStringMonth) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month" toJSON (SubscriptionPlan'Interval'EnumStringWeek) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week" toJSON (SubscriptionPlan'Interval'EnumStringYear) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year" instance Data.Aeson.FromJSON SubscriptionPlan'Interval' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "day") then SubscriptionPlan'Interval'EnumStringDay else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "month") then SubscriptionPlan'Interval'EnumStringMonth else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "week") then SubscriptionPlan'Interval'EnumStringWeek else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "year") then SubscriptionPlan'Interval'EnumStringYear else SubscriptionPlan'Interval'EnumOther val) -- | Defines the data type for the schema subscriptionPlan\'Metadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data SubscriptionPlan'Metadata' = SubscriptionPlan'Metadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'Metadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionPlan'Metadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionPlan'Metadata'" (\obj -> GHC.Base.pure SubscriptionPlan'Metadata') -- | Defines the enum schema subscriptionPlan\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SubscriptionPlan'Object' = SubscriptionPlan'Object'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionPlan'Object'EnumTyped GHC.Base.String | SubscriptionPlan'Object'EnumStringPlan deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'Object' where toJSON (SubscriptionPlan'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'Object'EnumStringPlan) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plan" instance Data.Aeson.FromJSON SubscriptionPlan'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "plan") then SubscriptionPlan'Object'EnumStringPlan else SubscriptionPlan'Object'EnumOther val) -- | Define the one-of schema subscriptionPlan\'Product\' -- -- The product whose pricing this plan determines. data SubscriptionPlan'Product'Variants = SubscriptionPlan'Product'DeletedProduct DeletedProduct | SubscriptionPlan'Product'Product Product | SubscriptionPlan'Product'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionPlan'Product'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionPlan'Product'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema subscriptionPlan\'Tiers_mode\' -- -- Defines if the tiering price should be \`graduated\` or \`volume\` based. In \`volume\`-based tiering, the maximum quantity within a period determines the per unit price. In \`graduated\` tiering, pricing can change as the quantity grows. data SubscriptionPlan'TiersMode' = SubscriptionPlan'TiersMode'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionPlan'TiersMode'EnumTyped GHC.Base.String | SubscriptionPlan'TiersMode'EnumStringGraduated | SubscriptionPlan'TiersMode'EnumStringVolume deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'TiersMode' where toJSON (SubscriptionPlan'TiersMode'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'TiersMode'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'TiersMode'EnumStringGraduated) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "graduated" toJSON (SubscriptionPlan'TiersMode'EnumStringVolume) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "volume" instance Data.Aeson.FromJSON SubscriptionPlan'TiersMode' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "graduated") then SubscriptionPlan'TiersMode'EnumStringGraduated else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "volume") then SubscriptionPlan'TiersMode'EnumStringVolume else SubscriptionPlan'TiersMode'EnumOther val) -- | Defines the data type for the schema subscriptionPlan\'Transform_usage\' -- -- Apply a transformation to the reported usage or set quantity before computing the amount billed. Cannot be combined with \\\`tiers\\\`. data SubscriptionPlan'TransformUsage' = SubscriptionPlan'TransformUsage' { -- | divide_by: Divide usage by this number. subscriptionPlan'TransformUsage'DivideBy :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | round: After division, either round the result \`up\` or \`down\`. , subscriptionPlan'TransformUsage'Round :: (GHC.Maybe.Maybe SubscriptionPlan'TransformUsage'Round') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'TransformUsage' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "divide_by" (subscriptionPlan'TransformUsage'DivideBy obj) : (Data.Aeson..=) "round" (subscriptionPlan'TransformUsage'Round obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "divide_by" (subscriptionPlan'TransformUsage'DivideBy obj) GHC.Base.<> (Data.Aeson..=) "round" (subscriptionPlan'TransformUsage'Round obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionPlan'TransformUsage' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionPlan'TransformUsage'" (\obj -> (GHC.Base.pure SubscriptionPlan'TransformUsage' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "divide_by")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "round")) -- | Defines the enum schema subscriptionPlan\'Transform_usage\'Round\' -- -- After division, either round the result \`up\` or \`down\`. data SubscriptionPlan'TransformUsage'Round' = SubscriptionPlan'TransformUsage'Round'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionPlan'TransformUsage'Round'EnumTyped GHC.Base.String | SubscriptionPlan'TransformUsage'Round'EnumStringDown | SubscriptionPlan'TransformUsage'Round'EnumStringUp deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'TransformUsage'Round' where toJSON (SubscriptionPlan'TransformUsage'Round'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'TransformUsage'Round'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'TransformUsage'Round'EnumStringDown) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "down" toJSON (SubscriptionPlan'TransformUsage'Round'EnumStringUp) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "up" instance Data.Aeson.FromJSON SubscriptionPlan'TransformUsage'Round' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "down") then SubscriptionPlan'TransformUsage'Round'EnumStringDown else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "up") then SubscriptionPlan'TransformUsage'Round'EnumStringUp else SubscriptionPlan'TransformUsage'Round'EnumOther val) -- | Defines the enum schema subscriptionPlan\'Usage_type\' -- -- Configures how the quantity per period should be determined. Can be either \`metered\` or \`licensed\`. \`licensed\` automatically bills the \`quantity\` set when adding it to a subscription. \`metered\` aggregates the total usage based on usage records. Defaults to \`licensed\`. data SubscriptionPlan'UsageType' = SubscriptionPlan'UsageType'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionPlan'UsageType'EnumTyped GHC.Base.String | SubscriptionPlan'UsageType'EnumStringLicensed | SubscriptionPlan'UsageType'EnumStringMetered deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionPlan'UsageType' where toJSON (SubscriptionPlan'UsageType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'UsageType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionPlan'UsageType'EnumStringLicensed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "licensed" toJSON (SubscriptionPlan'UsageType'EnumStringMetered) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metered" instance Data.Aeson.FromJSON SubscriptionPlan'UsageType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "licensed") then SubscriptionPlan'UsageType'EnumStringLicensed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "metered") then SubscriptionPlan'UsageType'EnumStringMetered else SubscriptionPlan'UsageType'EnumOther val) -- | Define the one-of schema subscriptionSchedule\' -- -- The schedule attached to the subscription data SubscriptionSchedule'Variants = SubscriptionSchedule'SubscriptionSchedule SubscriptionSchedule | SubscriptionSchedule'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionSchedule'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionSchedule'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema subscriptionStatus\' -- -- Possible values are \`incomplete\`, \`incomplete_expired\`, \`trialing\`, \`active\`, \`past_due\`, \`canceled\`, or \`unpaid\`. -- -- For \`collection_method=charge_automatically\` a subscription moves into \`incomplete\` if the initial payment attempt fails. A subscription in this state can only have metadata and default_source updated. Once the first invoice is paid, the subscription moves into an \`active\` state. If the first invoice is not paid within 23 hours, the subscription transitions to \`incomplete_expired\`. This is a terminal state, the open invoice will be voided and no further invoices will be generated. -- -- A subscription that is currently in a trial period is \`trialing\` and moves to \`active\` when the trial period is over. -- -- If subscription \`collection_method=charge_automatically\` it becomes \`past_due\` when payment to renew it fails and \`canceled\` or \`unpaid\` (depending on your subscriptions settings) when Stripe has exhausted all payment retry attempts. -- -- If subscription \`collection_method=send_invoice\` it becomes \`past_due\` when its invoice is not paid by the due date, and \`canceled\` or \`unpaid\` if it is still not paid by an additional deadline after that. Note that when a subscription has a status of \`unpaid\`, no subsequent invoices will be attempted (invoices will be created, but then immediately automatically closed). After receiving updated payment information from a customer, you may choose to reopen and pay their closed invoices. data SubscriptionStatus' = SubscriptionStatus'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionStatus'EnumTyped GHC.Base.String | SubscriptionStatus'EnumStringActive | SubscriptionStatus'EnumStringCanceled | SubscriptionStatus'EnumStringIncomplete | SubscriptionStatus'EnumStringIncompleteExpired | SubscriptionStatus'EnumStringPastDue | SubscriptionStatus'EnumStringTrialing | SubscriptionStatus'EnumStringUnpaid deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionStatus' where toJSON (SubscriptionStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionStatus'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active" toJSON (SubscriptionStatus'EnumStringCanceled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled" toJSON (SubscriptionStatus'EnumStringIncomplete) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "incomplete" toJSON (SubscriptionStatus'EnumStringIncompleteExpired) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "incomplete_expired" toJSON (SubscriptionStatus'EnumStringPastDue) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "past_due" toJSON (SubscriptionStatus'EnumStringTrialing) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trialing" toJSON (SubscriptionStatus'EnumStringUnpaid) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unpaid" instance Data.Aeson.FromJSON SubscriptionStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active") then SubscriptionStatus'EnumStringActive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled") then SubscriptionStatus'EnumStringCanceled else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "incomplete") then SubscriptionStatus'EnumStringIncomplete else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "incomplete_expired") then SubscriptionStatus'EnumStringIncompleteExpired else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "past_due") then SubscriptionStatus'EnumStringPastDue else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "trialing") then SubscriptionStatus'EnumStringTrialing else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unpaid") then SubscriptionStatus'EnumStringUnpaid else SubscriptionStatus'EnumOther val) -- | Defines the data type for the schema subscription_item -- -- Subscription items allow you to create customer subscriptions with more than -- one plan, making it easy to represent complex billing relationships. data SubscriptionItem = SubscriptionItem { -- | billing_thresholds: Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period subscriptionItemBillingThresholds :: (GHC.Maybe.Maybe SubscriptionItemBillingThresholds') -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , subscriptionItemCreated :: GHC.Integer.Type.Integer -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionItemId :: GHC.Base.String -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , subscriptionItemMetadata :: SubscriptionItemMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , subscriptionItemObject :: SubscriptionItemObject' -- | plan: Plans define the base price, currency, and billing cycle for subscriptions. -- For example, you might have a \5\<\/currency>\/month plan -- that provides limited access to your products, and a -- \15\<\/currency>\/month plan that allows full access. -- -- Related guide: [Managing Products and Plans](https:\/\/stripe.com\/docs\/billing\/subscriptions\/products-and-plans). , subscriptionItemPlan :: Plan -- | quantity: The [quantity](https:\/\/stripe.com\/docs\/subscriptions\/quantities) of the plan to which the customer should be subscribed. , subscriptionItemQuantity :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | subscription: The \`subscription\` this \`subscription_item\` belongs to. -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionItemSubscription :: GHC.Base.String -- | tax_rates: The tax rates which apply to this \`subscription_item\`. When set, the \`default_tax_rates\` on the subscription do not apply to this \`subscription_item\`. , subscriptionItemTaxRates :: (GHC.Maybe.Maybe ([] TaxRate)) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionItem where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_thresholds" (subscriptionItemBillingThresholds obj) : (Data.Aeson..=) "created" (subscriptionItemCreated obj) : (Data.Aeson..=) "id" (subscriptionItemId obj) : (Data.Aeson..=) "metadata" (subscriptionItemMetadata obj) : (Data.Aeson..=) "object" (subscriptionItemObject obj) : (Data.Aeson..=) "plan" (subscriptionItemPlan obj) : (Data.Aeson..=) "quantity" (subscriptionItemQuantity obj) : (Data.Aeson..=) "subscription" (subscriptionItemSubscription obj) : (Data.Aeson..=) "tax_rates" (subscriptionItemTaxRates obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_thresholds" (subscriptionItemBillingThresholds obj) GHC.Base.<> ((Data.Aeson..=) "created" (subscriptionItemCreated obj) GHC.Base.<> ((Data.Aeson..=) "id" (subscriptionItemId obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (subscriptionItemMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (subscriptionItemObject obj) GHC.Base.<> ((Data.Aeson..=) "plan" (subscriptionItemPlan obj) GHC.Base.<> ((Data.Aeson..=) "quantity" (subscriptionItemQuantity obj) GHC.Base.<> ((Data.Aeson..=) "subscription" (subscriptionItemSubscription obj) GHC.Base.<> (Data.Aeson..=) "tax_rates" (subscriptionItemTaxRates obj))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionItem where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionItem" (\obj -> ((((((((GHC.Base.pure SubscriptionItem GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_thresholds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "plan")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "subscription")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_rates")) -- | Defines the data type for the schema subscription_itemBilling_thresholds\' -- -- Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period data SubscriptionItemBillingThresholds' = SubscriptionItemBillingThresholds' { -- | usage_gte: Usage threshold that triggers the subscription to create an invoice subscriptionItemBillingThresholds'UsageGte :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionItemBillingThresholds' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "usage_gte" (subscriptionItemBillingThresholds'UsageGte obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "usage_gte" (subscriptionItemBillingThresholds'UsageGte obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionItemBillingThresholds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionItemBillingThresholds'" (\obj -> GHC.Base.pure SubscriptionItemBillingThresholds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage_gte")) -- | Defines the data type for the schema subscription_itemMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data SubscriptionItemMetadata' = SubscriptionItemMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionItemMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionItemMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionItemMetadata'" (\obj -> GHC.Base.pure SubscriptionItemMetadata') -- | Defines the enum schema subscription_itemObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SubscriptionItemObject' = SubscriptionItemObject'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionItemObject'EnumTyped GHC.Base.String | SubscriptionItemObject'EnumStringSubscriptionItem deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionItemObject' where toJSON (SubscriptionItemObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionItemObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionItemObject'EnumStringSubscriptionItem) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_item" instance Data.Aeson.FromJSON SubscriptionItemObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_item") then SubscriptionItemObject'EnumStringSubscriptionItem else SubscriptionItemObject'EnumOther val) -- | Defines the data type for the schema subscription_schedule -- -- A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes. -- -- Related guide: [Subscription Schedules](https:\/\/stripe.com\/docs\/billing\/subscriptions\/subscription-schedules). data SubscriptionSchedule = SubscriptionSchedule { -- | canceled_at: Time at which the subscription schedule was canceled. Measured in seconds since the Unix epoch. subscriptionScheduleCanceledAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | completed_at: Time at which the subscription schedule was completed. Measured in seconds since the Unix epoch. , subscriptionScheduleCompletedAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , subscriptionScheduleCreated :: GHC.Integer.Type.Integer -- | current_phase: Object representing the start and end dates for the current phase of the subscription schedule, if it is \`active\`. , subscriptionScheduleCurrentPhase :: (GHC.Maybe.Maybe SubscriptionScheduleCurrentPhase') -- | customer: ID of the customer who owns the subscription schedule. , subscriptionScheduleCustomer :: SubscriptionScheduleCustomer'Variants -- | default_settings: , subscriptionScheduleDefaultSettings :: SubscriptionSchedulesResourceDefaultSettings -- | end_behavior: Behavior of the subscription schedule and underlying subscription when it ends. , subscriptionScheduleEndBehavior :: SubscriptionScheduleEndBehavior' -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionScheduleId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , subscriptionScheduleLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , subscriptionScheduleMetadata :: (GHC.Maybe.Maybe SubscriptionScheduleMetadata') -- | object: String representing the object\'s type. Objects of the same type share the same value. , subscriptionScheduleObject :: SubscriptionScheduleObject' -- | phases: Configuration for the subscription schedule\'s phases. , subscriptionSchedulePhases :: ([] SubscriptionSchedulePhaseConfiguration) -- | released_at: Time at which the subscription schedule was released. Measured in seconds since the Unix epoch. , subscriptionScheduleReleasedAt :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | released_subscription: ID of the subscription once managed by the subscription schedule (if it is released). -- -- Constraints: -- -- * Maximum length of 5000 , subscriptionScheduleReleasedSubscription :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: The present status of the subscription schedule. Possible values are \`not_started\`, \`active\`, \`completed\`, \`released\`, and \`canceled\`. You can read more about the different states in our [behavior guide](https:\/\/stripe.com\/docs\/billing\/subscriptions\/subscription-schedules). , subscriptionScheduleStatus :: SubscriptionScheduleStatus' -- | subscription: ID of the subscription managed by the subscription schedule. , subscriptionScheduleSubscription :: (GHC.Maybe.Maybe SubscriptionScheduleSubscription'Variants) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedule where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "canceled_at" (subscriptionScheduleCanceledAt obj) : (Data.Aeson..=) "completed_at" (subscriptionScheduleCompletedAt obj) : (Data.Aeson..=) "created" (subscriptionScheduleCreated obj) : (Data.Aeson..=) "current_phase" (subscriptionScheduleCurrentPhase obj) : (Data.Aeson..=) "customer" (subscriptionScheduleCustomer obj) : (Data.Aeson..=) "default_settings" (subscriptionScheduleDefaultSettings obj) : (Data.Aeson..=) "end_behavior" (subscriptionScheduleEndBehavior obj) : (Data.Aeson..=) "id" (subscriptionScheduleId obj) : (Data.Aeson..=) "livemode" (subscriptionScheduleLivemode obj) : (Data.Aeson..=) "metadata" (subscriptionScheduleMetadata obj) : (Data.Aeson..=) "object" (subscriptionScheduleObject obj) : (Data.Aeson..=) "phases" (subscriptionSchedulePhases obj) : (Data.Aeson..=) "released_at" (subscriptionScheduleReleasedAt obj) : (Data.Aeson..=) "released_subscription" (subscriptionScheduleReleasedSubscription obj) : (Data.Aeson..=) "status" (subscriptionScheduleStatus obj) : (Data.Aeson..=) "subscription" (subscriptionScheduleSubscription obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "canceled_at" (subscriptionScheduleCanceledAt obj) GHC.Base.<> ((Data.Aeson..=) "completed_at" (subscriptionScheduleCompletedAt obj) GHC.Base.<> ((Data.Aeson..=) "created" (subscriptionScheduleCreated obj) GHC.Base.<> ((Data.Aeson..=) "current_phase" (subscriptionScheduleCurrentPhase obj) GHC.Base.<> ((Data.Aeson..=) "customer" (subscriptionScheduleCustomer obj) GHC.Base.<> ((Data.Aeson..=) "default_settings" (subscriptionScheduleDefaultSettings obj) GHC.Base.<> ((Data.Aeson..=) "end_behavior" (subscriptionScheduleEndBehavior obj) GHC.Base.<> ((Data.Aeson..=) "id" (subscriptionScheduleId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (subscriptionScheduleLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (subscriptionScheduleMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (subscriptionScheduleObject obj) GHC.Base.<> ((Data.Aeson..=) "phases" (subscriptionSchedulePhases obj) GHC.Base.<> ((Data.Aeson..=) "released_at" (subscriptionScheduleReleasedAt obj) GHC.Base.<> ((Data.Aeson..=) "released_subscription" (subscriptionScheduleReleasedSubscription obj) GHC.Base.<> ((Data.Aeson..=) "status" (subscriptionScheduleStatus obj) GHC.Base.<> (Data.Aeson..=) "subscription" (subscriptionScheduleSubscription obj)))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionSchedule where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionSchedule" (\obj -> (((((((((((((((GHC.Base.pure SubscriptionSchedule GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "canceled_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "completed_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "current_phase")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "default_settings")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "end_behavior")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "phases")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "released_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "released_subscription")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription")) -- | Defines the data type for the schema subscription_scheduleCurrent_phase\' -- -- Object representing the start and end dates for the current phase of the subscription schedule, if it is \\\`active\\\`. data SubscriptionScheduleCurrentPhase' = SubscriptionScheduleCurrentPhase' { -- | end_date: The end of this phase of the subscription schedule. subscriptionScheduleCurrentPhase'EndDate :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | start_date: The start of this phase of the subscription schedule. , subscriptionScheduleCurrentPhase'StartDate :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionScheduleCurrentPhase' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "end_date" (subscriptionScheduleCurrentPhase'EndDate obj) : (Data.Aeson..=) "start_date" (subscriptionScheduleCurrentPhase'StartDate obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "end_date" (subscriptionScheduleCurrentPhase'EndDate obj) GHC.Base.<> (Data.Aeson..=) "start_date" (subscriptionScheduleCurrentPhase'StartDate obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleCurrentPhase' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionScheduleCurrentPhase'" (\obj -> (GHC.Base.pure SubscriptionScheduleCurrentPhase' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "end_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "start_date")) -- | Define the one-of schema subscription_scheduleCustomer\' -- -- ID of the customer who owns the subscription schedule. data SubscriptionScheduleCustomer'Variants = SubscriptionScheduleCustomer'Customer Customer | SubscriptionScheduleCustomer'DeletedCustomer DeletedCustomer | SubscriptionScheduleCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionScheduleCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionScheduleCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema subscription_scheduleEnd_behavior\' -- -- Behavior of the subscription schedule and underlying subscription when it ends. data SubscriptionScheduleEndBehavior' = SubscriptionScheduleEndBehavior'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionScheduleEndBehavior'EnumTyped GHC.Base.String | SubscriptionScheduleEndBehavior'EnumStringCancel | SubscriptionScheduleEndBehavior'EnumStringNone | SubscriptionScheduleEndBehavior'EnumStringRelease | SubscriptionScheduleEndBehavior'EnumStringRenew deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionScheduleEndBehavior' where toJSON (SubscriptionScheduleEndBehavior'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionScheduleEndBehavior'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionScheduleEndBehavior'EnumStringCancel) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cancel" toJSON (SubscriptionScheduleEndBehavior'EnumStringNone) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none" toJSON (SubscriptionScheduleEndBehavior'EnumStringRelease) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "release" toJSON (SubscriptionScheduleEndBehavior'EnumStringRenew) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "renew" instance Data.Aeson.FromJSON SubscriptionScheduleEndBehavior' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "cancel") then SubscriptionScheduleEndBehavior'EnumStringCancel else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none") then SubscriptionScheduleEndBehavior'EnumStringNone else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "release") then SubscriptionScheduleEndBehavior'EnumStringRelease else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "renew") then SubscriptionScheduleEndBehavior'EnumStringRenew else SubscriptionScheduleEndBehavior'EnumOther val) -- | Defines the data type for the schema subscription_scheduleMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data SubscriptionScheduleMetadata' = SubscriptionScheduleMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionScheduleMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionScheduleMetadata'" (\obj -> GHC.Base.pure SubscriptionScheduleMetadata') -- | Defines the enum schema subscription_scheduleObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data SubscriptionScheduleObject' = SubscriptionScheduleObject'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionScheduleObject'EnumTyped GHC.Base.String | SubscriptionScheduleObject'EnumStringSubscriptionSchedule deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionScheduleObject' where toJSON (SubscriptionScheduleObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionScheduleObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionScheduleObject'EnumStringSubscriptionSchedule) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_schedule" instance Data.Aeson.FromJSON SubscriptionScheduleObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "subscription_schedule") then SubscriptionScheduleObject'EnumStringSubscriptionSchedule else SubscriptionScheduleObject'EnumOther val) -- | Defines the enum schema subscription_scheduleStatus\' -- -- The present status of the subscription schedule. Possible values are \`not_started\`, \`active\`, \`completed\`, \`released\`, and \`canceled\`. You can read more about the different states in our [behavior guide](https:\/\/stripe.com\/docs\/billing\/subscriptions\/subscription-schedules). data SubscriptionScheduleStatus' = SubscriptionScheduleStatus'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionScheduleStatus'EnumTyped GHC.Base.String | SubscriptionScheduleStatus'EnumStringActive | SubscriptionScheduleStatus'EnumStringCanceled | SubscriptionScheduleStatus'EnumStringCompleted | SubscriptionScheduleStatus'EnumStringNotStarted | SubscriptionScheduleStatus'EnumStringReleased deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionScheduleStatus' where toJSON (SubscriptionScheduleStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionScheduleStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionScheduleStatus'EnumStringActive) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active" toJSON (SubscriptionScheduleStatus'EnumStringCanceled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled" toJSON (SubscriptionScheduleStatus'EnumStringCompleted) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "completed" toJSON (SubscriptionScheduleStatus'EnumStringNotStarted) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "not_started" toJSON (SubscriptionScheduleStatus'EnumStringReleased) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "released" instance Data.Aeson.FromJSON SubscriptionScheduleStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "active") then SubscriptionScheduleStatus'EnumStringActive else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled") then SubscriptionScheduleStatus'EnumStringCanceled else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "completed") then SubscriptionScheduleStatus'EnumStringCompleted else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "not_started") then SubscriptionScheduleStatus'EnumStringNotStarted else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "released") then SubscriptionScheduleStatus'EnumStringReleased else SubscriptionScheduleStatus'EnumOther val) -- | Define the one-of schema subscription_scheduleSubscription\' -- -- ID of the subscription managed by the subscription schedule. data SubscriptionScheduleSubscription'Variants = SubscriptionScheduleSubscription'Subscription Subscription | SubscriptionScheduleSubscription'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionScheduleSubscription'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionScheduleSubscription'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema subscription_schedule_configuration_item -- -- A phase item describes the plan and quantity of a phase. data SubscriptionScheduleConfigurationItem = SubscriptionScheduleConfigurationItem { -- | billing_thresholds: Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period subscriptionScheduleConfigurationItemBillingThresholds :: (GHC.Maybe.Maybe SubscriptionScheduleConfigurationItemBillingThresholds') -- | plan: ID of the plan to which the customer should be subscribed. , subscriptionScheduleConfigurationItemPlan :: SubscriptionScheduleConfigurationItemPlan'Variants -- | quantity: Quantity of the plan to which the customer should be subscribed. , subscriptionScheduleConfigurationItemQuantity :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | tax_rates: The tax rates which apply to this \`phase_item\`. When set, the \`default_tax_rates\` on the phase do not apply to this \`phase_item\`. , subscriptionScheduleConfigurationItemTaxRates :: (GHC.Maybe.Maybe ([] TaxRate)) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionScheduleConfigurationItem where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_thresholds" (subscriptionScheduleConfigurationItemBillingThresholds obj) : (Data.Aeson..=) "plan" (subscriptionScheduleConfigurationItemPlan obj) : (Data.Aeson..=) "quantity" (subscriptionScheduleConfigurationItemQuantity obj) : (Data.Aeson..=) "tax_rates" (subscriptionScheduleConfigurationItemTaxRates obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_thresholds" (subscriptionScheduleConfigurationItemBillingThresholds obj) GHC.Base.<> ((Data.Aeson..=) "plan" (subscriptionScheduleConfigurationItemPlan obj) GHC.Base.<> ((Data.Aeson..=) "quantity" (subscriptionScheduleConfigurationItemQuantity obj) GHC.Base.<> (Data.Aeson..=) "tax_rates" (subscriptionScheduleConfigurationItemTaxRates obj)))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleConfigurationItem where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionScheduleConfigurationItem" (\obj -> (((GHC.Base.pure SubscriptionScheduleConfigurationItem GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_thresholds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "plan")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_rates")) -- | Defines the data type for the schema subscription_schedule_configuration_itemBilling_thresholds\' -- -- Define thresholds at which an invoice will be sent, and the related subscription advanced to a new billing period data SubscriptionScheduleConfigurationItemBillingThresholds' = SubscriptionScheduleConfigurationItemBillingThresholds' { -- | usage_gte: Usage threshold that triggers the subscription to create an invoice subscriptionScheduleConfigurationItemBillingThresholds'UsageGte :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionScheduleConfigurationItemBillingThresholds' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "usage_gte" (subscriptionScheduleConfigurationItemBillingThresholds'UsageGte obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "usage_gte" (subscriptionScheduleConfigurationItemBillingThresholds'UsageGte obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionScheduleConfigurationItemBillingThresholds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionScheduleConfigurationItemBillingThresholds'" (\obj -> GHC.Base.pure SubscriptionScheduleConfigurationItemBillingThresholds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "usage_gte")) -- | Define the one-of schema subscription_schedule_configuration_itemPlan\' -- -- ID of the plan to which the customer should be subscribed. data SubscriptionScheduleConfigurationItemPlan'Variants = SubscriptionScheduleConfigurationItemPlan'DeletedPlan DeletedPlan | SubscriptionScheduleConfigurationItemPlan'Plan Plan | SubscriptionScheduleConfigurationItemPlan'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionScheduleConfigurationItemPlan'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionScheduleConfigurationItemPlan'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema subscription_schedule_phase_configuration -- -- A phase describes the plans, coupon, and trialing status of a subscription for a predefined time period. data SubscriptionSchedulePhaseConfiguration = SubscriptionSchedulePhaseConfiguration { -- | application_fee_percent: A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice subtotal that will be transferred to the application owner\'s Stripe account during this phase of the schedule. subscriptionSchedulePhaseConfigurationApplicationFeePercent :: (GHC.Maybe.Maybe GHC.Types.Double) -- | billing_thresholds: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period , subscriptionSchedulePhaseConfigurationBillingThresholds :: (GHC.Maybe.Maybe SubscriptionSchedulePhaseConfigurationBillingThresholds') -- | collection_method: Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. , subscriptionSchedulePhaseConfigurationCollectionMethod :: (GHC.Maybe.Maybe SubscriptionSchedulePhaseConfigurationCollectionMethod') -- | coupon: ID of the coupon to use during this phase of the subscription schedule. , subscriptionSchedulePhaseConfigurationCoupon :: (GHC.Maybe.Maybe SubscriptionSchedulePhaseConfigurationCoupon'Variants) -- | default_payment_method: ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer\'s invoice settings. , subscriptionSchedulePhaseConfigurationDefaultPaymentMethod :: (GHC.Maybe.Maybe SubscriptionSchedulePhaseConfigurationDefaultPaymentMethod'Variants) -- | default_tax_rates: The default tax rates to apply to the subscription during this phase of the subscription schedule. , subscriptionSchedulePhaseConfigurationDefaultTaxRates :: (GHC.Maybe.Maybe ([] TaxRate)) -- | end_date: The end of this phase of the subscription schedule. , subscriptionSchedulePhaseConfigurationEndDate :: GHC.Integer.Type.Integer -- | invoice_settings: The subscription schedule\'s default invoice settings. , subscriptionSchedulePhaseConfigurationInvoiceSettings :: (GHC.Maybe.Maybe SubscriptionSchedulePhaseConfigurationInvoiceSettings') -- | plans: Plans to subscribe during this phase of the subscription schedule. , subscriptionSchedulePhaseConfigurationPlans :: ([] SubscriptionScheduleConfigurationItem) -- | proration_behavior: Controls whether or not the subscription schedule will prorate when transitioning to this phase. Values are \`create_prorations\` and \`none\`. , subscriptionSchedulePhaseConfigurationProrationBehavior :: (GHC.Maybe.Maybe SubscriptionSchedulePhaseConfigurationProrationBehavior') -- | start_date: The start of this phase of the subscription schedule. , subscriptionSchedulePhaseConfigurationStartDate :: GHC.Integer.Type.Integer -- | tax_percent: If provided, each invoice created during this phase of the subscription schedule will apply the tax rate, increasing the amount billed to the customer. , subscriptionSchedulePhaseConfigurationTaxPercent :: (GHC.Maybe.Maybe GHC.Types.Double) -- | trial_end: When the trial ends within the phase. , subscriptionSchedulePhaseConfigurationTrialEnd :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulePhaseConfiguration where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "application_fee_percent" (subscriptionSchedulePhaseConfigurationApplicationFeePercent obj) : (Data.Aeson..=) "billing_thresholds" (subscriptionSchedulePhaseConfigurationBillingThresholds obj) : (Data.Aeson..=) "collection_method" (subscriptionSchedulePhaseConfigurationCollectionMethod obj) : (Data.Aeson..=) "coupon" (subscriptionSchedulePhaseConfigurationCoupon obj) : (Data.Aeson..=) "default_payment_method" (subscriptionSchedulePhaseConfigurationDefaultPaymentMethod obj) : (Data.Aeson..=) "default_tax_rates" (subscriptionSchedulePhaseConfigurationDefaultTaxRates obj) : (Data.Aeson..=) "end_date" (subscriptionSchedulePhaseConfigurationEndDate obj) : (Data.Aeson..=) "invoice_settings" (subscriptionSchedulePhaseConfigurationInvoiceSettings obj) : (Data.Aeson..=) "plans" (subscriptionSchedulePhaseConfigurationPlans obj) : (Data.Aeson..=) "proration_behavior" (subscriptionSchedulePhaseConfigurationProrationBehavior obj) : (Data.Aeson..=) "start_date" (subscriptionSchedulePhaseConfigurationStartDate obj) : (Data.Aeson..=) "tax_percent" (subscriptionSchedulePhaseConfigurationTaxPercent obj) : (Data.Aeson..=) "trial_end" (subscriptionSchedulePhaseConfigurationTrialEnd obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "application_fee_percent" (subscriptionSchedulePhaseConfigurationApplicationFeePercent obj) GHC.Base.<> ((Data.Aeson..=) "billing_thresholds" (subscriptionSchedulePhaseConfigurationBillingThresholds obj) GHC.Base.<> ((Data.Aeson..=) "collection_method" (subscriptionSchedulePhaseConfigurationCollectionMethod obj) GHC.Base.<> ((Data.Aeson..=) "coupon" (subscriptionSchedulePhaseConfigurationCoupon obj) GHC.Base.<> ((Data.Aeson..=) "default_payment_method" (subscriptionSchedulePhaseConfigurationDefaultPaymentMethod obj) GHC.Base.<> ((Data.Aeson..=) "default_tax_rates" (subscriptionSchedulePhaseConfigurationDefaultTaxRates obj) GHC.Base.<> ((Data.Aeson..=) "end_date" (subscriptionSchedulePhaseConfigurationEndDate obj) GHC.Base.<> ((Data.Aeson..=) "invoice_settings" (subscriptionSchedulePhaseConfigurationInvoiceSettings obj) GHC.Base.<> ((Data.Aeson..=) "plans" (subscriptionSchedulePhaseConfigurationPlans obj) GHC.Base.<> ((Data.Aeson..=) "proration_behavior" (subscriptionSchedulePhaseConfigurationProrationBehavior obj) GHC.Base.<> ((Data.Aeson..=) "start_date" (subscriptionSchedulePhaseConfigurationStartDate obj) GHC.Base.<> ((Data.Aeson..=) "tax_percent" (subscriptionSchedulePhaseConfigurationTaxPercent obj) GHC.Base.<> (Data.Aeson..=) "trial_end" (subscriptionSchedulePhaseConfigurationTrialEnd obj))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionSchedulePhaseConfiguration where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionSchedulePhaseConfiguration" (\obj -> ((((((((((((GHC.Base.pure SubscriptionSchedulePhaseConfiguration GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "application_fee_percent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_thresholds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "collection_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_tax_rates")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "end_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice_settings")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "plans")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "proration_behavior")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "start_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "tax_percent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_end")) -- | Defines the data type for the schema subscription_schedule_phase_configurationBilling_thresholds\' -- -- Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period data SubscriptionSchedulePhaseConfigurationBillingThresholds' = SubscriptionSchedulePhaseConfigurationBillingThresholds' { -- | amount_gte: Monetary threshold that triggers the subscription to create an invoice subscriptionSchedulePhaseConfigurationBillingThresholds'AmountGte :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | reset_billing_cycle_anchor: Indicates if the \`billing_cycle_anchor\` should be reset when a threshold is reached. If true, \`billing_cycle_anchor\` will be updated to the date\/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be \`true\` if the subscription contains items with plans that have \`aggregate_usage=last_ever\`. , subscriptionSchedulePhaseConfigurationBillingThresholds'ResetBillingCycleAnchor :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulePhaseConfigurationBillingThresholds' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount_gte" (subscriptionSchedulePhaseConfigurationBillingThresholds'AmountGte obj) : (Data.Aeson..=) "reset_billing_cycle_anchor" (subscriptionSchedulePhaseConfigurationBillingThresholds'ResetBillingCycleAnchor obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount_gte" (subscriptionSchedulePhaseConfigurationBillingThresholds'AmountGte obj) GHC.Base.<> (Data.Aeson..=) "reset_billing_cycle_anchor" (subscriptionSchedulePhaseConfigurationBillingThresholds'ResetBillingCycleAnchor obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionSchedulePhaseConfigurationBillingThresholds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionSchedulePhaseConfigurationBillingThresholds'" (\obj -> (GHC.Base.pure SubscriptionSchedulePhaseConfigurationBillingThresholds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_gte")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reset_billing_cycle_anchor")) -- | Defines the enum schema subscription_schedule_phase_configurationCollection_method\' -- -- Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. data SubscriptionSchedulePhaseConfigurationCollectionMethod' = SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumTyped GHC.Base.String | SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumStringChargeAutomatically | SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumStringSendInvoice deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulePhaseConfigurationCollectionMethod' where toJSON (SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumStringChargeAutomatically) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_automatically" toJSON (SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumStringSendInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "send_invoice" instance Data.Aeson.FromJSON SubscriptionSchedulePhaseConfigurationCollectionMethod' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_automatically") then SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumStringChargeAutomatically else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "send_invoice") then SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumStringSendInvoice else SubscriptionSchedulePhaseConfigurationCollectionMethod'EnumOther val) -- | Define the one-of schema subscription_schedule_phase_configurationCoupon\' -- -- ID of the coupon to use during this phase of the subscription schedule. data SubscriptionSchedulePhaseConfigurationCoupon'Variants = SubscriptionSchedulePhaseConfigurationCoupon'Coupon Coupon | SubscriptionSchedulePhaseConfigurationCoupon'DeletedCoupon DeletedCoupon | SubscriptionSchedulePhaseConfigurationCoupon'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionSchedulePhaseConfigurationCoupon'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionSchedulePhaseConfigurationCoupon'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema subscription_schedule_phase_configurationDefault_payment_method\' -- -- ID of the default payment method for the subscription schedule. It must belong to the customer associated with the subscription schedule. If not set, invoices will use the default payment method in the customer\'s invoice settings. data SubscriptionSchedulePhaseConfigurationDefaultPaymentMethod'Variants = SubscriptionSchedulePhaseConfigurationDefaultPaymentMethod'PaymentMethod PaymentMethod | SubscriptionSchedulePhaseConfigurationDefaultPaymentMethod'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionSchedulePhaseConfigurationDefaultPaymentMethod'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionSchedulePhaseConfigurationDefaultPaymentMethod'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema subscription_schedule_phase_configurationInvoice_settings\' -- -- The subscription schedule\\\'s default invoice settings. data SubscriptionSchedulePhaseConfigurationInvoiceSettings' = SubscriptionSchedulePhaseConfigurationInvoiceSettings' { -- | days_until_due: Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be \`null\` for subscription schedules where \`billing=charge_automatically\`. subscriptionSchedulePhaseConfigurationInvoiceSettings'DaysUntilDue :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulePhaseConfigurationInvoiceSettings' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "days_until_due" (subscriptionSchedulePhaseConfigurationInvoiceSettings'DaysUntilDue obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "days_until_due" (subscriptionSchedulePhaseConfigurationInvoiceSettings'DaysUntilDue obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionSchedulePhaseConfigurationInvoiceSettings' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionSchedulePhaseConfigurationInvoiceSettings'" (\obj -> GHC.Base.pure SubscriptionSchedulePhaseConfigurationInvoiceSettings' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "days_until_due")) -- | Defines the enum schema subscription_schedule_phase_configurationProration_behavior\' -- -- Controls whether or not the subscription schedule will prorate when transitioning to this phase. Values are \`create_prorations\` and \`none\`. data SubscriptionSchedulePhaseConfigurationProrationBehavior' = SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumTyped GHC.Base.String | SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringAlwaysInvoice | SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringCreateProrations | SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulePhaseConfigurationProrationBehavior' where toJSON (SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringAlwaysInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "always_invoice" toJSON (SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringCreateProrations) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "create_prorations" toJSON (SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringNone) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none" instance Data.Aeson.FromJSON SubscriptionSchedulePhaseConfigurationProrationBehavior' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "always_invoice") then SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringAlwaysInvoice else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "create_prorations") then SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringCreateProrations else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "none") then SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumStringNone else SubscriptionSchedulePhaseConfigurationProrationBehavior'EnumOther val) -- | Defines the data type for the schema subscription_schedules_resource_default_settings -- -- data SubscriptionSchedulesResourceDefaultSettings = SubscriptionSchedulesResourceDefaultSettings { -- | billing_thresholds: Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period subscriptionSchedulesResourceDefaultSettingsBillingThresholds :: (GHC.Maybe.Maybe SubscriptionSchedulesResourceDefaultSettingsBillingThresholds') -- | collection_method: Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. , subscriptionSchedulesResourceDefaultSettingsCollectionMethod :: (GHC.Maybe.Maybe SubscriptionSchedulesResourceDefaultSettingsCollectionMethod') -- | default_payment_method: ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer\'s invoice settings. , subscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod :: (GHC.Maybe.Maybe SubscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod'Variants) -- | invoice_settings: The subscription schedule\'s default invoice settings. , subscriptionSchedulesResourceDefaultSettingsInvoiceSettings :: (GHC.Maybe.Maybe SubscriptionSchedulesResourceDefaultSettingsInvoiceSettings') } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulesResourceDefaultSettings where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_thresholds" (subscriptionSchedulesResourceDefaultSettingsBillingThresholds obj) : (Data.Aeson..=) "collection_method" (subscriptionSchedulesResourceDefaultSettingsCollectionMethod obj) : (Data.Aeson..=) "default_payment_method" (subscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod obj) : (Data.Aeson..=) "invoice_settings" (subscriptionSchedulesResourceDefaultSettingsInvoiceSettings obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_thresholds" (subscriptionSchedulesResourceDefaultSettingsBillingThresholds obj) GHC.Base.<> ((Data.Aeson..=) "collection_method" (subscriptionSchedulesResourceDefaultSettingsCollectionMethod obj) GHC.Base.<> ((Data.Aeson..=) "default_payment_method" (subscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod obj) GHC.Base.<> (Data.Aeson..=) "invoice_settings" (subscriptionSchedulesResourceDefaultSettingsInvoiceSettings obj)))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionSchedulesResourceDefaultSettings where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionSchedulesResourceDefaultSettings" (\obj -> (((GHC.Base.pure SubscriptionSchedulesResourceDefaultSettings GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_thresholds")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "collection_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "default_payment_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "invoice_settings")) -- | Defines the data type for the schema subscription_schedules_resource_default_settingsBilling_thresholds\' -- -- Define thresholds at which an invoice will be sent, and the subscription advanced to a new billing period data SubscriptionSchedulesResourceDefaultSettingsBillingThresholds' = SubscriptionSchedulesResourceDefaultSettingsBillingThresholds' { -- | amount_gte: Monetary threshold that triggers the subscription to create an invoice subscriptionSchedulesResourceDefaultSettingsBillingThresholds'AmountGte :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | reset_billing_cycle_anchor: Indicates if the \`billing_cycle_anchor\` should be reset when a threshold is reached. If true, \`billing_cycle_anchor\` will be updated to the date\/time the threshold was last reached; otherwise, the value will remain unchanged. This value may not be \`true\` if the subscription contains items with plans that have \`aggregate_usage=last_ever\`. , subscriptionSchedulesResourceDefaultSettingsBillingThresholds'ResetBillingCycleAnchor :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulesResourceDefaultSettingsBillingThresholds' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount_gte" (subscriptionSchedulesResourceDefaultSettingsBillingThresholds'AmountGte obj) : (Data.Aeson..=) "reset_billing_cycle_anchor" (subscriptionSchedulesResourceDefaultSettingsBillingThresholds'ResetBillingCycleAnchor obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount_gte" (subscriptionSchedulesResourceDefaultSettingsBillingThresholds'AmountGte obj) GHC.Base.<> (Data.Aeson..=) "reset_billing_cycle_anchor" (subscriptionSchedulesResourceDefaultSettingsBillingThresholds'ResetBillingCycleAnchor obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionSchedulesResourceDefaultSettingsBillingThresholds' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionSchedulesResourceDefaultSettingsBillingThresholds'" (\obj -> (GHC.Base.pure SubscriptionSchedulesResourceDefaultSettingsBillingThresholds' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount_gte")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "reset_billing_cycle_anchor")) -- | Defines the enum schema subscription_schedules_resource_default_settingsCollection_method\' -- -- Either \`charge_automatically\`, or \`send_invoice\`. When charging automatically, Stripe will attempt to pay the underlying subscription at the end of each billing cycle using the default source attached to the customer. When sending an invoice, Stripe will email your customer an invoice with payment instructions. data SubscriptionSchedulesResourceDefaultSettingsCollectionMethod' = SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumOther Data.Aeson.Types.Internal.Value | SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumTyped GHC.Base.String | SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumStringChargeAutomatically | SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumStringSendInvoice deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulesResourceDefaultSettingsCollectionMethod' where toJSON (SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumStringChargeAutomatically) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_automatically" toJSON (SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumStringSendInvoice) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "send_invoice" instance Data.Aeson.FromJSON SubscriptionSchedulesResourceDefaultSettingsCollectionMethod' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "charge_automatically") then SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumStringChargeAutomatically else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "send_invoice") then SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumStringSendInvoice else SubscriptionSchedulesResourceDefaultSettingsCollectionMethod'EnumOther val) -- | Define the one-of schema subscription_schedules_resource_default_settingsDefault_payment_method\' -- -- ID of the default payment method for the subscription schedule. If not set, invoices will use the default payment method in the customer\'s invoice settings. data SubscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod'Variants = SubscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod'PaymentMethod PaymentMethod | SubscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON SubscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON SubscriptionSchedulesResourceDefaultSettingsDefaultPaymentMethod'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema subscription_schedules_resource_default_settingsInvoice_settings\' -- -- The subscription schedule\\\'s default invoice settings. data SubscriptionSchedulesResourceDefaultSettingsInvoiceSettings' = SubscriptionSchedulesResourceDefaultSettingsInvoiceSettings' { -- | days_until_due: Number of days within which a customer must pay invoices generated by this subscription schedule. This value will be \`null\` for subscription schedules where \`billing=charge_automatically\`. subscriptionSchedulesResourceDefaultSettingsInvoiceSettings'DaysUntilDue :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionSchedulesResourceDefaultSettingsInvoiceSettings' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "days_until_due" (subscriptionSchedulesResourceDefaultSettingsInvoiceSettings'DaysUntilDue obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "days_until_due" (subscriptionSchedulesResourceDefaultSettingsInvoiceSettings'DaysUntilDue obj)) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionSchedulesResourceDefaultSettingsInvoiceSettings' where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionSchedulesResourceDefaultSettingsInvoiceSettings'" (\obj -> GHC.Base.pure SubscriptionSchedulesResourceDefaultSettingsInvoiceSettings' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "days_until_due")) -- | Defines the data type for the schema subscriptions_resource_pending_update -- -- Pending Updates store the changes pending from a previous update that will be applied -- to the Subscription upon successful payment. data SubscriptionsResourcePendingUpdate = SubscriptionsResourcePendingUpdate { -- | billing_cycle_anchor: If the update is applied, determines the date of the first full invoice, and, for plans with \`month\` or \`year\` intervals, the day of the month for subsequent invoices. subscriptionsResourcePendingUpdateBillingCycleAnchor :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | expires_at: The point after which the changes reflected by this update will be discarded and no longer applied. , subscriptionsResourcePendingUpdateExpiresAt :: GHC.Integer.Type.Integer -- | subscription_items: List of subscription items, each with an attached plan, that will be set if the update is applied. , subscriptionsResourcePendingUpdateSubscriptionItems :: (GHC.Maybe.Maybe ([] SubscriptionItem)) -- | trial_end: Unix timestamp representing the end of the trial period the customer will get before being charged for the first time, if the update is applied. , subscriptionsResourcePendingUpdateTrialEnd :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | trial_from_plan: Indicates if a plan\'s \`trial_period_days\` should be applied to the subscription. Setting \`trial_end\` per subscription is preferred, and this defaults to \`false\`. Setting this flag to \`true\` together with \`trial_end\` is not allowed. , subscriptionsResourcePendingUpdateTrialFromPlan :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON SubscriptionsResourcePendingUpdate where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "billing_cycle_anchor" (subscriptionsResourcePendingUpdateBillingCycleAnchor obj) : (Data.Aeson..=) "expires_at" (subscriptionsResourcePendingUpdateExpiresAt obj) : (Data.Aeson..=) "subscription_items" (subscriptionsResourcePendingUpdateSubscriptionItems obj) : (Data.Aeson..=) "trial_end" (subscriptionsResourcePendingUpdateTrialEnd obj) : (Data.Aeson..=) "trial_from_plan" (subscriptionsResourcePendingUpdateTrialFromPlan obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "billing_cycle_anchor" (subscriptionsResourcePendingUpdateBillingCycleAnchor obj) GHC.Base.<> ((Data.Aeson..=) "expires_at" (subscriptionsResourcePendingUpdateExpiresAt obj) GHC.Base.<> ((Data.Aeson..=) "subscription_items" (subscriptionsResourcePendingUpdateSubscriptionItems obj) GHC.Base.<> ((Data.Aeson..=) "trial_end" (subscriptionsResourcePendingUpdateTrialEnd obj) GHC.Base.<> (Data.Aeson..=) "trial_from_plan" (subscriptionsResourcePendingUpdateTrialFromPlan obj))))) instance Data.Aeson.Types.FromJSON.FromJSON SubscriptionsResourcePendingUpdate where parseJSON = Data.Aeson.Types.FromJSON.withObject "SubscriptionsResourcePendingUpdate" (\obj -> ((((GHC.Base.pure SubscriptionsResourcePendingUpdate GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "billing_cycle_anchor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "expires_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "subscription_items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "trial_from_plan")) -- | Defines the data type for the schema tax_id -- -- You can add one or multiple tax IDs to a [customer](https:\/\/stripe.com\/docs\/api\/customers). -- A customer\'s tax IDs are displayed on invoices and credit notes issued for the customer. -- -- Related guide: [Customer Tax Identification Numbers](https:\/\/stripe.com\/docs\/billing\/taxes\/tax-ids). data TaxId = TaxId { -- | country: Two-letter ISO code representing the country of the tax ID. -- -- Constraints: -- -- * Maximum length of 5000 taxIdCountry :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , taxIdCreated :: GHC.Integer.Type.Integer -- | customer: ID of the customer. , taxIdCustomer :: TaxIdCustomer'Variants -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , taxIdId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , taxIdLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , taxIdObject :: TaxIdObject' -- | type: Type of the tax ID, one of \`au_abn\`, \`ca_bn\`, \`ca_qst\`, \`ch_vat\`, \`es_cif\`, \`eu_vat\`, \`hk_br\`, \`in_gst\`, \`jp_cn\`, \`kr_brn\`, \`li_uid\`, \`mx_rfc\`, \`my_itn\`, \`my_sst\`, \`no_vat\`, \`nz_gst\`, \`ru_inn\`, \`sg_uen\`, \`th_vat\`, \`tw_vat\`, \`us_ein\`, or \`za_vat\`. Note that some legacy tax IDs have type \`unknown\` , taxIdType :: TaxIdType' -- | value: Value of the tax ID. -- -- Constraints: -- -- * Maximum length of 5000 , taxIdValue :: GHC.Base.String -- | verification: , taxIdVerification :: TaxIdVerification } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON TaxId where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "country" (taxIdCountry obj) : (Data.Aeson..=) "created" (taxIdCreated obj) : (Data.Aeson..=) "customer" (taxIdCustomer obj) : (Data.Aeson..=) "id" (taxIdId obj) : (Data.Aeson..=) "livemode" (taxIdLivemode obj) : (Data.Aeson..=) "object" (taxIdObject obj) : (Data.Aeson..=) "type" (taxIdType obj) : (Data.Aeson..=) "value" (taxIdValue obj) : (Data.Aeson..=) "verification" (taxIdVerification obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "country" (taxIdCountry obj) GHC.Base.<> ((Data.Aeson..=) "created" (taxIdCreated obj) GHC.Base.<> ((Data.Aeson..=) "customer" (taxIdCustomer obj) GHC.Base.<> ((Data.Aeson..=) "id" (taxIdId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (taxIdLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (taxIdObject obj) GHC.Base.<> ((Data.Aeson..=) "type" (taxIdType obj) GHC.Base.<> ((Data.Aeson..=) "value" (taxIdValue obj) GHC.Base.<> (Data.Aeson..=) "verification" (taxIdVerification obj))))))))) instance Data.Aeson.Types.FromJSON.FromJSON TaxId where parseJSON = Data.Aeson.Types.FromJSON.withObject "TaxId" (\obj -> ((((((((GHC.Base.pure TaxId GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "value")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "verification")) -- | Define the one-of schema tax_idCustomer\' -- -- ID of the customer. data TaxIdCustomer'Variants = TaxIdCustomer'Customer Customer | TaxIdCustomer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TaxIdCustomer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TaxIdCustomer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the enum schema tax_idObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data TaxIdObject' = TaxIdObject'EnumOther Data.Aeson.Types.Internal.Value | TaxIdObject'EnumTyped GHC.Base.String | TaxIdObject'EnumStringTaxId deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON TaxIdObject' where toJSON (TaxIdObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TaxIdObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TaxIdObject'EnumStringTaxId) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_id" instance Data.Aeson.FromJSON TaxIdObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tax_id") then TaxIdObject'EnumStringTaxId else TaxIdObject'EnumOther val) -- | Defines the enum schema tax_idType\' -- -- Type of the tax ID, one of \`au_abn\`, \`ca_bn\`, \`ca_qst\`, \`ch_vat\`, \`es_cif\`, \`eu_vat\`, \`hk_br\`, \`in_gst\`, \`jp_cn\`, \`kr_brn\`, \`li_uid\`, \`mx_rfc\`, \`my_itn\`, \`my_sst\`, \`no_vat\`, \`nz_gst\`, \`ru_inn\`, \`sg_uen\`, \`th_vat\`, \`tw_vat\`, \`us_ein\`, or \`za_vat\`. Note that some legacy tax IDs have type \`unknown\` data TaxIdType' = TaxIdType'EnumOther Data.Aeson.Types.Internal.Value | TaxIdType'EnumTyped GHC.Base.String | TaxIdType'EnumStringAuAbn | TaxIdType'EnumStringCaBn | TaxIdType'EnumStringCaQst | TaxIdType'EnumStringChVat | TaxIdType'EnumStringEsCif | TaxIdType'EnumStringEuVat | TaxIdType'EnumStringHkBr | TaxIdType'EnumStringInGst | TaxIdType'EnumStringJpCn | TaxIdType'EnumStringKrBrn | TaxIdType'EnumStringLiUid | TaxIdType'EnumStringMxRfc | TaxIdType'EnumStringMyItn | TaxIdType'EnumStringMySst | TaxIdType'EnumStringNoVat | TaxIdType'EnumStringNzGst | TaxIdType'EnumStringRuInn | TaxIdType'EnumStringSgUen | TaxIdType'EnumStringThVat | TaxIdType'EnumStringTwVat | TaxIdType'EnumStringUnknown | TaxIdType'EnumStringUsEin | TaxIdType'EnumStringZaVat deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON TaxIdType' where toJSON (TaxIdType'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TaxIdType'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TaxIdType'EnumStringAuAbn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "au_abn" toJSON (TaxIdType'EnumStringCaBn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ca_bn" toJSON (TaxIdType'EnumStringCaQst) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ca_qst" toJSON (TaxIdType'EnumStringChVat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ch_vat" toJSON (TaxIdType'EnumStringEsCif) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "es_cif" toJSON (TaxIdType'EnumStringEuVat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eu_vat" toJSON (TaxIdType'EnumStringHkBr) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hk_br" toJSON (TaxIdType'EnumStringInGst) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "in_gst" toJSON (TaxIdType'EnumStringJpCn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jp_cn" toJSON (TaxIdType'EnumStringKrBrn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "kr_brn" toJSON (TaxIdType'EnumStringLiUid) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "li_uid" toJSON (TaxIdType'EnumStringMxRfc) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mx_rfc" toJSON (TaxIdType'EnumStringMyItn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "my_itn" toJSON (TaxIdType'EnumStringMySst) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "my_sst" toJSON (TaxIdType'EnumStringNoVat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "no_vat" toJSON (TaxIdType'EnumStringNzGst) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nz_gst" toJSON (TaxIdType'EnumStringRuInn) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ru_inn" toJSON (TaxIdType'EnumStringSgUen) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sg_uen" toJSON (TaxIdType'EnumStringThVat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "th_vat" toJSON (TaxIdType'EnumStringTwVat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tw_vat" toJSON (TaxIdType'EnumStringUnknown) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unknown" toJSON (TaxIdType'EnumStringUsEin) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "us_ein" toJSON (TaxIdType'EnumStringZaVat) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "za_vat" instance Data.Aeson.FromJSON TaxIdType' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "au_abn") then TaxIdType'EnumStringAuAbn else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ca_bn") then TaxIdType'EnumStringCaBn else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ca_qst") then TaxIdType'EnumStringCaQst else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ch_vat") then TaxIdType'EnumStringChVat else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "es_cif") then TaxIdType'EnumStringEsCif else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "eu_vat") then TaxIdType'EnumStringEuVat else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "hk_br") then TaxIdType'EnumStringHkBr else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "in_gst") then TaxIdType'EnumStringInGst else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "jp_cn") then TaxIdType'EnumStringJpCn else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "kr_brn") then TaxIdType'EnumStringKrBrn else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "li_uid") then TaxIdType'EnumStringLiUid else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "mx_rfc") then TaxIdType'EnumStringMxRfc else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "my_itn") then TaxIdType'EnumStringMyItn else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "my_sst") then TaxIdType'EnumStringMySst else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "no_vat") then TaxIdType'EnumStringNoVat else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "nz_gst") then TaxIdType'EnumStringNzGst else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "ru_inn") then TaxIdType'EnumStringRuInn else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "sg_uen") then TaxIdType'EnumStringSgUen else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "th_vat") then TaxIdType'EnumStringThVat else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "tw_vat") then TaxIdType'EnumStringTwVat else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "unknown") then TaxIdType'EnumStringUnknown else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "us_ein") then TaxIdType'EnumStringUsEin else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "za_vat") then TaxIdType'EnumStringZaVat else TaxIdType'EnumOther val) -- | Defines the data type for the schema three_d_secure -- -- Cardholder authentication via 3D Secure is initiated by creating a \`3D Secure\` -- object. Once the object has been created, you can use it to authenticate the -- cardholder and create a charge. data ThreeDSecure = ThreeDSecure { -- | amount: Amount of the charge that you will create when authentication completes. threeDSecureAmount :: GHC.Integer.Type.Integer -- | authenticated: True if the cardholder went through the authentication flow and their bank indicated that authentication succeeded. , threeDSecureAuthenticated :: GHC.Types.Bool -- | card: You can store multiple cards on a customer in order to charge the customer -- later. You can also store multiple debit cards on a recipient in order to -- transfer to those cards later. -- -- Related guide: [Card Payments with Sources](https:\/\/stripe.com\/docs\/sources\/cards). , threeDSecureCard :: Card -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , threeDSecureCreated :: GHC.Integer.Type.Integer -- | 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). -- -- Constraints: -- -- * Maximum length of 5000 , threeDSecureCurrency :: GHC.Base.String -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , threeDSecureId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , threeDSecureLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , threeDSecureObject :: ThreeDSecureObject' -- | redirect_url: If present, this is the URL that you should send the cardholder to for authentication. If you are going to use Stripe.js to display the authentication page in an iframe, you should use the value \"_callback\". -- -- Constraints: -- -- * Maximum length of 5000 , threeDSecureRedirectUrl :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: Possible values are \`redirect_pending\`, \`succeeded\`, or \`failed\`. When the cardholder can be authenticated, the object starts with status \`redirect_pending\`. When liability will be shifted to the cardholder\'s bank (either because the cardholder was successfully authenticated, or because the bank has not implemented 3D Secure, the object wlil be in status \`succeeded\`. \`failed\` indicates that authentication was attempted unsuccessfully. -- -- Constraints: -- -- * Maximum length of 5000 , threeDSecureStatus :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON ThreeDSecure where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (threeDSecureAmount obj) : (Data.Aeson..=) "authenticated" (threeDSecureAuthenticated obj) : (Data.Aeson..=) "card" (threeDSecureCard obj) : (Data.Aeson..=) "created" (threeDSecureCreated obj) : (Data.Aeson..=) "currency" (threeDSecureCurrency obj) : (Data.Aeson..=) "id" (threeDSecureId obj) : (Data.Aeson..=) "livemode" (threeDSecureLivemode obj) : (Data.Aeson..=) "object" (threeDSecureObject obj) : (Data.Aeson..=) "redirect_url" (threeDSecureRedirectUrl obj) : (Data.Aeson..=) "status" (threeDSecureStatus obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (threeDSecureAmount obj) GHC.Base.<> ((Data.Aeson..=) "authenticated" (threeDSecureAuthenticated obj) GHC.Base.<> ((Data.Aeson..=) "card" (threeDSecureCard obj) GHC.Base.<> ((Data.Aeson..=) "created" (threeDSecureCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (threeDSecureCurrency obj) GHC.Base.<> ((Data.Aeson..=) "id" (threeDSecureId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (threeDSecureLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (threeDSecureObject obj) GHC.Base.<> ((Data.Aeson..=) "redirect_url" (threeDSecureRedirectUrl obj) GHC.Base.<> (Data.Aeson..=) "status" (threeDSecureStatus obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON ThreeDSecure where parseJSON = Data.Aeson.Types.FromJSON.withObject "ThreeDSecure" (\obj -> (((((((((GHC.Base.pure ThreeDSecure GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "authenticated")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "redirect_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) -- | Defines the enum schema three_d_secureObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data ThreeDSecureObject' = ThreeDSecureObject'EnumOther Data.Aeson.Types.Internal.Value | ThreeDSecureObject'EnumTyped GHC.Base.String | ThreeDSecureObject'EnumStringThreeDSecure deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON ThreeDSecureObject' where toJSON (ThreeDSecureObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ThreeDSecureObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (ThreeDSecureObject'EnumStringThreeDSecure) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure" instance Data.Aeson.FromJSON ThreeDSecureObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "three_d_secure") then ThreeDSecureObject'EnumStringThreeDSecure else ThreeDSecureObject'EnumOther val) -- | Defines the data type for the schema token -- -- Tokenization is the process Stripe uses to collect sensitive card or bank -- account details, or personally identifiable information (PII), directly from -- your customers in a secure manner. A token representing this information is -- returned to your server to use. You should use our -- [recommended payments integrations](https:\/\/stripe.com\/docs\/payments) to perform this process -- client-side. This ensures that no sensitive card data touches your server, -- and allows your integration to operate in a PCI-compliant way. -- -- If you cannot use client-side tokenization, you can also create tokens using -- the API with either your publishable or secret API key. Keep in mind that if -- your integration uses this method, you are responsible for any PCI compliance -- that may be required, and you must keep your secret API key safe. Unlike with -- client-side tokenization, your customer\'s information is not sent directly to -- Stripe, so we cannot determine how it is handled or stored. -- -- Tokens cannot be stored or used more than once. To store card or bank account -- information for later use, you can create [Customer](https:\/\/stripe.com\/docs\/api\#customers) -- objects or [Custom accounts](https:\/\/stripe.com\/docs\/api\#external_accounts). Note that -- [Radar](https:\/\/stripe.com\/docs\/radar), our integrated solution for automatic fraud protection, -- supports only integrations that use client-side tokenization. -- -- Related guide: [Accept a payment](https:\/\/stripe.com\/docs\/payments\/accept-a-payment-charges\#web-create-token) data Token = Token { -- | bank_account: These bank accounts are payment methods on \`Customer\` objects. -- -- On the other hand [External Accounts](https:\/\/stripe.com\/docs\/api\#external_accounts) are transfer -- destinations on \`Account\` objects for [Custom accounts](https:\/\/stripe.com\/docs\/connect\/custom-accounts). -- They can be bank accounts or debit cards as well, and are documented in the links above. -- -- Related guide: [Processing ACH & Bank Transfers](https:\/\/stripe.com\/docs\/payments\/ach-bank-transfers). tokenBankAccount :: (GHC.Maybe.Maybe BankAccount) -- | card: You can store multiple cards on a customer in order to charge the customer -- later. You can also store multiple debit cards on a recipient in order to -- transfer to those cards later. -- -- Related guide: [Card Payments with Sources](https:\/\/stripe.com\/docs\/sources\/cards). , tokenCard :: (GHC.Maybe.Maybe Card) -- | client_ip: IP address of the client that generated the token. -- -- Constraints: -- -- * Maximum length of 5000 , tokenClientIp :: (GHC.Maybe.Maybe GHC.Base.String) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , tokenCreated :: GHC.Integer.Type.Integer -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , tokenId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , tokenLivemode :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. , tokenObject :: TokenObject' -- | type: Type of the token: \`account\`, \`bank_account\`, \`card\`, or \`pii\`. -- -- Constraints: -- -- * Maximum length of 5000 , tokenType :: GHC.Base.String -- | used: Whether this token has already been used (tokens can be used only once). , tokenUsed :: GHC.Types.Bool } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Token where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "bank_account" (tokenBankAccount obj) : (Data.Aeson..=) "card" (tokenCard obj) : (Data.Aeson..=) "client_ip" (tokenClientIp obj) : (Data.Aeson..=) "created" (tokenCreated obj) : (Data.Aeson..=) "id" (tokenId obj) : (Data.Aeson..=) "livemode" (tokenLivemode obj) : (Data.Aeson..=) "object" (tokenObject obj) : (Data.Aeson..=) "type" (tokenType obj) : (Data.Aeson..=) "used" (tokenUsed obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "bank_account" (tokenBankAccount obj) GHC.Base.<> ((Data.Aeson..=) "card" (tokenCard obj) GHC.Base.<> ((Data.Aeson..=) "client_ip" (tokenClientIp obj) GHC.Base.<> ((Data.Aeson..=) "created" (tokenCreated obj) GHC.Base.<> ((Data.Aeson..=) "id" (tokenId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (tokenLivemode obj) GHC.Base.<> ((Data.Aeson..=) "object" (tokenObject obj) GHC.Base.<> ((Data.Aeson..=) "type" (tokenType obj) GHC.Base.<> (Data.Aeson..=) "used" (tokenUsed obj))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Token where parseJSON = Data.Aeson.Types.FromJSON.withObject "Token" (\obj -> ((((((((GHC.Base.pure Token GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "bank_account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "card")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "client_ip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "used")) -- | Defines the enum schema tokenObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data TokenObject' = TokenObject'EnumOther Data.Aeson.Types.Internal.Value | TokenObject'EnumTyped GHC.Base.String | TokenObject'EnumStringToken deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON TokenObject' where toJSON (TokenObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TokenObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TokenObject'EnumStringToken) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "token" instance Data.Aeson.FromJSON TokenObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "token") then TokenObject'EnumStringToken else TokenObject'EnumOther val) -- | Defines the data type for the schema topup -- -- To top up your Stripe balance, you create a top-up object. You can retrieve -- individual top-ups, as well as list all top-ups. Top-ups are identified by a -- unique, random ID. -- -- Related guide: [Topping Up your Platform Account](https:\/\/stripe.com\/docs\/connect\/top-ups). data Topup = Topup { -- | amount: Amount transferred. topupAmount :: GHC.Integer.Type.Integer -- | balance_transaction: ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up. , topupBalanceTransaction :: (GHC.Maybe.Maybe TopupBalanceTransaction'Variants) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , topupCreated :: GHC.Integer.Type.Integer -- | 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). -- -- Constraints: -- -- * Maximum length of 5000 , topupCurrency :: GHC.Base.String -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , topupDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | expected_availability_date: Date the funds are expected to arrive in your Stripe account for payouts. This factors in delays like weekends or bank holidays. May not be specified depending on status of top-up. , topupExpectedAvailabilityDate :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | failure_code: Error code explaining reason for top-up failure if available (see [the errors section](https:\/\/stripe.com\/docs\/api\#errors) for a list of codes). -- -- Constraints: -- -- * Maximum length of 5000 , topupFailureCode :: (GHC.Maybe.Maybe GHC.Base.String) -- | failure_message: Message to user further explaining reason for top-up failure if available. -- -- Constraints: -- -- * Maximum length of 5000 , topupFailureMessage :: (GHC.Maybe.Maybe GHC.Base.String) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , topupId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , topupLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , topupMetadata :: TopupMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , topupObject :: TopupObject' -- | source: \`Source\` objects allow you to accept a variety of payment methods. They -- represent a customer\'s payment instrument, and can be used with the Stripe API -- just like a \`Card\` object: once chargeable, they can be charged, or can be -- attached to customers. -- -- Related guides: [Sources API](https:\/\/stripe.com\/docs\/sources) and [Sources & Customers](https:\/\/stripe.com\/docs\/sources\/customers). , topupSource :: Source -- | statement_descriptor: Extra information about a top-up. This will appear on your source\'s bank statement. It must contain at least one letter. -- -- Constraints: -- -- * Maximum length of 5000 , topupStatementDescriptor :: (GHC.Maybe.Maybe GHC.Base.String) -- | status: The status of the top-up is either \`canceled\`, \`failed\`, \`pending\`, \`reversed\`, or \`succeeded\`. , topupStatus :: TopupStatus' -- | transfer_group: A string that identifies this top-up as part of a group. -- -- Constraints: -- -- * Maximum length of 5000 , topupTransferGroup :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Topup where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (topupAmount obj) : (Data.Aeson..=) "balance_transaction" (topupBalanceTransaction obj) : (Data.Aeson..=) "created" (topupCreated obj) : (Data.Aeson..=) "currency" (topupCurrency obj) : (Data.Aeson..=) "description" (topupDescription obj) : (Data.Aeson..=) "expected_availability_date" (topupExpectedAvailabilityDate obj) : (Data.Aeson..=) "failure_code" (topupFailureCode obj) : (Data.Aeson..=) "failure_message" (topupFailureMessage obj) : (Data.Aeson..=) "id" (topupId obj) : (Data.Aeson..=) "livemode" (topupLivemode obj) : (Data.Aeson..=) "metadata" (topupMetadata obj) : (Data.Aeson..=) "object" (topupObject obj) : (Data.Aeson..=) "source" (topupSource obj) : (Data.Aeson..=) "statement_descriptor" (topupStatementDescriptor obj) : (Data.Aeson..=) "status" (topupStatus obj) : (Data.Aeson..=) "transfer_group" (topupTransferGroup obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (topupAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (topupBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "created" (topupCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (topupCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (topupDescription obj) GHC.Base.<> ((Data.Aeson..=) "expected_availability_date" (topupExpectedAvailabilityDate obj) GHC.Base.<> ((Data.Aeson..=) "failure_code" (topupFailureCode obj) GHC.Base.<> ((Data.Aeson..=) "failure_message" (topupFailureMessage obj) GHC.Base.<> ((Data.Aeson..=) "id" (topupId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (topupLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (topupMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (topupObject obj) GHC.Base.<> ((Data.Aeson..=) "source" (topupSource obj) GHC.Base.<> ((Data.Aeson..=) "statement_descriptor" (topupStatementDescriptor obj) GHC.Base.<> ((Data.Aeson..=) "status" (topupStatus obj) GHC.Base.<> (Data.Aeson..=) "transfer_group" (topupTransferGroup obj)))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Topup where parseJSON = Data.Aeson.Types.FromJSON.withObject "Topup" (\obj -> (((((((((((((((GHC.Base.pure Topup GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "expected_availability_date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "failure_message")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "source")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "statement_descriptor")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "status")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_group")) -- | Define the one-of schema topupBalance_transaction\' -- -- ID of the balance transaction that describes the impact of this top-up on your account balance. May not be specified depending on status of top-up. data TopupBalanceTransaction'Variants = TopupBalanceTransaction'BalanceTransaction BalanceTransaction | TopupBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TopupBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TopupBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema topupMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data TopupMetadata' = TopupMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON TopupMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON TopupMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "TopupMetadata'" (\obj -> GHC.Base.pure TopupMetadata') -- | Defines the enum schema topupObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data TopupObject' = TopupObject'EnumOther Data.Aeson.Types.Internal.Value | TopupObject'EnumTyped GHC.Base.String | TopupObject'EnumStringTopup deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON TopupObject' where toJSON (TopupObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TopupObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TopupObject'EnumStringTopup) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup" instance Data.Aeson.FromJSON TopupObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "topup") then TopupObject'EnumStringTopup else TopupObject'EnumOther val) -- | Defines the enum schema topupStatus\' -- -- The status of the top-up is either \`canceled\`, \`failed\`, \`pending\`, \`reversed\`, or \`succeeded\`. data TopupStatus' = TopupStatus'EnumOther Data.Aeson.Types.Internal.Value | TopupStatus'EnumTyped GHC.Base.String | TopupStatus'EnumStringCanceled | TopupStatus'EnumStringFailed | TopupStatus'EnumStringPending | TopupStatus'EnumStringReversed | TopupStatus'EnumStringSucceeded deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON TopupStatus' where toJSON (TopupStatus'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TopupStatus'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TopupStatus'EnumStringCanceled) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled" toJSON (TopupStatus'EnumStringFailed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "failed" toJSON (TopupStatus'EnumStringPending) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending" toJSON (TopupStatus'EnumStringReversed) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reversed" toJSON (TopupStatus'EnumStringSucceeded) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "succeeded" instance Data.Aeson.FromJSON TopupStatus' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "canceled") then TopupStatus'EnumStringCanceled else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "failed") then TopupStatus'EnumStringFailed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "pending") then TopupStatus'EnumStringPending else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "reversed") then TopupStatus'EnumStringReversed else if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "succeeded") then TopupStatus'EnumStringSucceeded else TopupStatus'EnumOther val) -- | Defines the data type for the schema transfer -- -- A \`Transfer\` object is created when you move funds between Stripe accounts as -- part of Connect. -- -- Before April 6, 2017, transfers also represented movement of funds from a -- Stripe account to a card or bank account. This behavior has since been split -- out into a [Payout](https:\/\/stripe.com\/docs\/api\#payout_object) object, with corresponding payout endpoints. For more -- information, read about the -- [transfer\/payout split](https:\/\/stripe.com\/docs\/transfer-payout-split). -- -- Related guide: [Creating Separate Charges and Transfers](https:\/\/stripe.com\/docs\/connect\/charges-transfers). data Transfer = Transfer { -- | amount: Amount in %s to be transferred. transferAmount :: GHC.Integer.Type.Integer -- | amount_reversed: Amount in %s reversed (can be less than the amount attribute on the transfer if a partial reversal was issued). , transferAmountReversed :: GHC.Integer.Type.Integer -- | balance_transaction: Balance transaction that describes the impact of this transfer on your account balance. , transferBalanceTransaction :: (GHC.Maybe.Maybe TransferBalanceTransaction'Variants) -- | created: Time that this record of the transfer was first created. , transferCreated :: GHC.Integer.Type.Integer -- | 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). , transferCurrency :: GHC.Base.String -- | description: An arbitrary string attached to the object. Often useful for displaying to users. -- -- Constraints: -- -- * Maximum length of 5000 , transferDescription :: (GHC.Maybe.Maybe GHC.Base.String) -- | destination: ID of the Stripe account the transfer was sent to. , transferDestination :: (GHC.Maybe.Maybe TransferDestination'Variants) -- | destination_payment: If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer. , transferDestinationPayment :: (GHC.Maybe.Maybe TransferDestinationPayment'Variants) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , transferId :: GHC.Base.String -- | livemode: Has the value \`true\` if the object exists in live mode or the value \`false\` if the object exists in test mode. , transferLivemode :: GHC.Types.Bool -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , transferMetadata :: TransferMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , transferObject :: TransferObject' -- | reversals: A list of reversals that have been applied to the transfer. , transferReversals :: TransferReversals' -- | reversed: Whether the transfer has been fully reversed. If the transfer is only partially reversed, this attribute will still be false. , transferReversed :: GHC.Types.Bool -- | source_transaction: ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance. , transferSourceTransaction :: (GHC.Maybe.Maybe TransferSourceTransaction'Variants) -- | source_type: The source balance this transfer came from. One of \`card\`, \`fpx\`, or \`bank_account\`. -- -- Constraints: -- -- * Maximum length of 5000 , transferSourceType :: (GHC.Maybe.Maybe GHC.Base.String) -- | transfer_group: A string that identifies this transaction as part of a group. See the [Connect documentation](https:\/\/stripe.com\/docs\/connect\/charges-transfers\#transfer-options) for details. -- -- Constraints: -- -- * Maximum length of 5000 , transferTransferGroup :: (GHC.Maybe.Maybe GHC.Base.String) } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON Transfer where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (transferAmount obj) : (Data.Aeson..=) "amount_reversed" (transferAmountReversed obj) : (Data.Aeson..=) "balance_transaction" (transferBalanceTransaction obj) : (Data.Aeson..=) "created" (transferCreated obj) : (Data.Aeson..=) "currency" (transferCurrency obj) : (Data.Aeson..=) "description" (transferDescription obj) : (Data.Aeson..=) "destination" (transferDestination obj) : (Data.Aeson..=) "destination_payment" (transferDestinationPayment obj) : (Data.Aeson..=) "id" (transferId obj) : (Data.Aeson..=) "livemode" (transferLivemode obj) : (Data.Aeson..=) "metadata" (transferMetadata obj) : (Data.Aeson..=) "object" (transferObject obj) : (Data.Aeson..=) "reversals" (transferReversals obj) : (Data.Aeson..=) "reversed" (transferReversed obj) : (Data.Aeson..=) "source_transaction" (transferSourceTransaction obj) : (Data.Aeson..=) "source_type" (transferSourceType obj) : (Data.Aeson..=) "transfer_group" (transferTransferGroup obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (transferAmount obj) GHC.Base.<> ((Data.Aeson..=) "amount_reversed" (transferAmountReversed obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (transferBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "created" (transferCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (transferCurrency obj) GHC.Base.<> ((Data.Aeson..=) "description" (transferDescription obj) GHC.Base.<> ((Data.Aeson..=) "destination" (transferDestination obj) GHC.Base.<> ((Data.Aeson..=) "destination_payment" (transferDestinationPayment obj) GHC.Base.<> ((Data.Aeson..=) "id" (transferId obj) GHC.Base.<> ((Data.Aeson..=) "livemode" (transferLivemode obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (transferMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (transferObject obj) GHC.Base.<> ((Data.Aeson..=) "reversals" (transferReversals obj) GHC.Base.<> ((Data.Aeson..=) "reversed" (transferReversed obj) GHC.Base.<> ((Data.Aeson..=) "source_transaction" (transferSourceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "source_type" (transferSourceType obj) GHC.Base.<> (Data.Aeson..=) "transfer_group" (transferTransferGroup obj))))))))))))))))) instance Data.Aeson.Types.FromJSON.FromJSON Transfer where parseJSON = Data.Aeson.Types.FromJSON.withObject "Transfer" (\obj -> ((((((((((((((((GHC.Base.pure Transfer GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount_reversed")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "destination")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "destination_payment")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "livemode")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reversals")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "reversed")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "transfer_group")) -- | Define the one-of schema transferBalance_transaction\' -- -- Balance transaction that describes the impact of this transfer on your account balance. data TransferBalanceTransaction'Variants = TransferBalanceTransaction'BalanceTransaction BalanceTransaction | TransferBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema transferDestination\' -- -- ID of the Stripe account the transfer was sent to. data TransferDestination'Variants = TransferDestination'Account Account | TransferDestination'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferDestination'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferDestination'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema transferDestination_payment\' -- -- If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer. data TransferDestinationPayment'Variants = TransferDestinationPayment'Charge Charge | TransferDestinationPayment'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferDestinationPayment'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferDestinationPayment'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema transferMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data TransferMetadata' = TransferMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON TransferMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON TransferMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "TransferMetadata'" (\obj -> GHC.Base.pure TransferMetadata') -- | Defines the enum schema transferObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data TransferObject' = TransferObject'EnumOther Data.Aeson.Types.Internal.Value | TransferObject'EnumTyped GHC.Base.String | TransferObject'EnumStringTransfer deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON TransferObject' where toJSON (TransferObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TransferObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TransferObject'EnumStringTransfer) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer" instance Data.Aeson.FromJSON TransferObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer") then TransferObject'EnumStringTransfer else TransferObject'EnumOther val) -- | Defines the data type for the schema transferReversals\' -- -- A list of reversals that have been applied to the transfer. data TransferReversals' = TransferReversals' { -- | data: Details about each object. transferReversals'Data :: ([] TransferReversal) -- | has_more: True if this list has another page of items after this one that can be fetched. , transferReversals'HasMore :: GHC.Types.Bool -- | object: String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. , transferReversals'Object :: TransferReversals'Object' -- | url: The URL where this list can be accessed. -- -- Constraints: -- -- * Maximum length of 5000 , transferReversals'Url :: GHC.Base.String } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON TransferReversals' where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "data" (transferReversals'Data obj) : (Data.Aeson..=) "has_more" (transferReversals'HasMore obj) : (Data.Aeson..=) "object" (transferReversals'Object obj) : (Data.Aeson..=) "url" (transferReversals'Url obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "data" (transferReversals'Data obj) GHC.Base.<> ((Data.Aeson..=) "has_more" (transferReversals'HasMore obj) GHC.Base.<> ((Data.Aeson..=) "object" (transferReversals'Object obj) GHC.Base.<> (Data.Aeson..=) "url" (transferReversals'Url obj)))) instance Data.Aeson.Types.FromJSON.FromJSON TransferReversals' where parseJSON = Data.Aeson.Types.FromJSON.withObject "TransferReversals'" (\obj -> (((GHC.Base.pure TransferReversals' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "has_more")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "url")) -- | Defines the enum schema transferReversals\'Object\' -- -- String representing the object\'s type. Objects of the same type share the same value. Always has the value \`list\`. data TransferReversals'Object' = TransferReversals'Object'EnumOther Data.Aeson.Types.Internal.Value | TransferReversals'Object'EnumTyped GHC.Base.String | TransferReversals'Object'EnumStringList deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON TransferReversals'Object' where toJSON (TransferReversals'Object'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TransferReversals'Object'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TransferReversals'Object'EnumStringList) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list" instance Data.Aeson.FromJSON TransferReversals'Object' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "list") then TransferReversals'Object'EnumStringList else TransferReversals'Object'EnumOther val) -- | Define the one-of schema transferSource_transaction\' -- -- ID of the charge or payment that was used to fund the transfer. If null, the transfer was funded from the available balance. data TransferSourceTransaction'Variants = TransferSourceTransaction'Charge Charge | TransferSourceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferSourceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferSourceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema transfer_data -- -- data TransferData = TransferData { -- | amount: Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https:\/\/stripe.com\/docs\/currencies\#zero-decimal) (e.g., 100 cents to charge \$1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is \$0.50 US or [equivalent in charge currency](https:\/\/stripe.com\/docs\/currencies\#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of \$999,999.99). transferDataAmount :: (GHC.Maybe.Maybe GHC.Integer.Type.Integer) -- | destination: The account (if any) the payment will be attributed to for tax -- reporting, and where funds from the payment will be transferred to upon -- payment success. , transferDataDestination :: TransferDataDestination'Variants } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON TransferData where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (transferDataAmount obj) : (Data.Aeson..=) "destination" (transferDataDestination obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (transferDataAmount obj) GHC.Base.<> (Data.Aeson..=) "destination" (transferDataDestination obj)) instance Data.Aeson.Types.FromJSON.FromJSON TransferData where parseJSON = Data.Aeson.Types.FromJSON.withObject "TransferData" (\obj -> (GHC.Base.pure TransferData GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "destination")) -- | Define the one-of schema transfer_dataDestination\' -- -- The account (if any) the payment will be attributed to for tax -- reporting, and where funds from the payment will be transferred to upon -- payment success. data TransferDataDestination'Variants = TransferDataDestination'Account Account | TransferDataDestination'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferDataDestination'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferDataDestination'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema transfer_reversal -- -- [Stripe Connect](https:\/\/stripe.com\/docs\/connect) platforms can reverse transfers made to a -- connected account, either entirely or partially, and can also specify whether -- to refund any related application fees. Transfer reversals add to the -- platform\'s balance and subtract from the destination account\'s balance. -- -- Reversing a transfer that was made for a [destination -- charge](\/docs\/connect\/destination-charges) is allowed only up to the amount of -- the charge. It is possible to reverse a -- [transfer_group](https:\/\/stripe.com\/docs\/connect\/charges-transfers\#transfer-options) -- transfer only if the destination account has enough balance to cover the -- reversal. -- -- Related guide: [Reversing Transfers](https:\/\/stripe.com\/docs\/connect\/charges-transfers\#reversing-transfers). data TransferReversal = TransferReversal { -- | amount: Amount, in %s. transferReversalAmount :: GHC.Integer.Type.Integer -- | balance_transaction: Balance transaction that describes the impact on your account balance. , transferReversalBalanceTransaction :: (GHC.Maybe.Maybe TransferReversalBalanceTransaction'Variants) -- | created: Time at which the object was created. Measured in seconds since the Unix epoch. , transferReversalCreated :: GHC.Integer.Type.Integer -- | 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). , transferReversalCurrency :: GHC.Base.String -- | destination_payment_refund: Linked payment refund for the transfer reversal. , transferReversalDestinationPaymentRefund :: (GHC.Maybe.Maybe TransferReversalDestinationPaymentRefund'Variants) -- | id: Unique identifier for the object. -- -- Constraints: -- -- * Maximum length of 5000 , transferReversalId :: GHC.Base.String -- | metadata: Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. , transferReversalMetadata :: TransferReversalMetadata' -- | object: String representing the object\'s type. Objects of the same type share the same value. , transferReversalObject :: TransferReversalObject' -- | source_refund: ID of the refund responsible for the transfer reversal. , transferReversalSourceRefund :: (GHC.Maybe.Maybe TransferReversalSourceRefund'Variants) -- | transfer: ID of the transfer that was reversed. , transferReversalTransfer :: TransferReversalTransfer'Variants } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON TransferReversal where toJSON obj = Data.Aeson.object ((Data.Aeson..=) "amount" (transferReversalAmount obj) : (Data.Aeson..=) "balance_transaction" (transferReversalBalanceTransaction obj) : (Data.Aeson..=) "created" (transferReversalCreated obj) : (Data.Aeson..=) "currency" (transferReversalCurrency obj) : (Data.Aeson..=) "destination_payment_refund" (transferReversalDestinationPaymentRefund obj) : (Data.Aeson..=) "id" (transferReversalId obj) : (Data.Aeson..=) "metadata" (transferReversalMetadata obj) : (Data.Aeson..=) "object" (transferReversalObject obj) : (Data.Aeson..=) "source_refund" (transferReversalSourceRefund obj) : (Data.Aeson..=) "transfer" (transferReversalTransfer obj) : []) toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "amount" (transferReversalAmount obj) GHC.Base.<> ((Data.Aeson..=) "balance_transaction" (transferReversalBalanceTransaction obj) GHC.Base.<> ((Data.Aeson..=) "created" (transferReversalCreated obj) GHC.Base.<> ((Data.Aeson..=) "currency" (transferReversalCurrency obj) GHC.Base.<> ((Data.Aeson..=) "destination_payment_refund" (transferReversalDestinationPaymentRefund obj) GHC.Base.<> ((Data.Aeson..=) "id" (transferReversalId obj) GHC.Base.<> ((Data.Aeson..=) "metadata" (transferReversalMetadata obj) GHC.Base.<> ((Data.Aeson..=) "object" (transferReversalObject obj) GHC.Base.<> ((Data.Aeson..=) "source_refund" (transferReversalSourceRefund obj) GHC.Base.<> (Data.Aeson..=) "transfer" (transferReversalTransfer obj)))))))))) instance Data.Aeson.Types.FromJSON.FromJSON TransferReversal where parseJSON = Data.Aeson.Types.FromJSON.withObject "TransferReversal" (\obj -> (((((((((GHC.Base.pure TransferReversal GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "balance_transaction")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "created")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "destination_payment_refund")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "object")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:? "source_refund")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "transfer")) -- | Define the one-of schema transfer_reversalBalance_transaction\' -- -- Balance transaction that describes the impact on your account balance. data TransferReversalBalanceTransaction'Variants = TransferReversalBalanceTransaction'BalanceTransaction BalanceTransaction | TransferReversalBalanceTransaction'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferReversalBalanceTransaction'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferReversalBalanceTransaction'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema transfer_reversalDestination_payment_refund\' -- -- Linked payment refund for the transfer reversal. data TransferReversalDestinationPaymentRefund'Variants = TransferReversalDestinationPaymentRefund'Refund Refund | TransferReversalDestinationPaymentRefund'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferReversalDestinationPaymentRefund'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferReversalDestinationPaymentRefund'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Defines the data type for the schema transfer_reversalMetadata\' -- -- Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. data TransferReversalMetadata' = TransferReversalMetadata' { } deriving (GHC.Show.Show , GHC.Classes.Eq) instance Data.Aeson.ToJSON TransferReversalMetadata' where toJSON obj = Data.Aeson.object [] toEncoding obj = Data.Aeson.pairs ((Data.Aeson..=) "string" ("string" :: GHC.Base.String)) instance Data.Aeson.Types.FromJSON.FromJSON TransferReversalMetadata' where parseJSON = Data.Aeson.Types.FromJSON.withObject "TransferReversalMetadata'" (\obj -> GHC.Base.pure TransferReversalMetadata') -- | Defines the enum schema transfer_reversalObject\' -- -- String representing the object\'s type. Objects of the same type share the same value. data TransferReversalObject' = TransferReversalObject'EnumOther Data.Aeson.Types.Internal.Value | TransferReversalObject'EnumTyped GHC.Base.String | TransferReversalObject'EnumStringTransferReversal deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.ToJSON TransferReversalObject' where toJSON (TransferReversalObject'EnumOther patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TransferReversalObject'EnumTyped patternName) = Data.Aeson.Types.ToJSON.toJSON patternName toJSON (TransferReversalObject'EnumStringTransferReversal) = Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_reversal" instance Data.Aeson.FromJSON TransferReversalObject' where parseJSON val = GHC.Base.pure (if val GHC.Classes.== (Data.Aeson.Types.Internal.String GHC.Base.$ Data.Text.pack "transfer_reversal") then TransferReversalObject'EnumStringTransferReversal else TransferReversalObject'EnumOther val) -- | Define the one-of schema transfer_reversalSource_refund\' -- -- ID of the refund responsible for the transfer reversal. data TransferReversalSourceRefund'Variants = TransferReversalSourceRefund'Refund Refund | TransferReversalSourceRefund'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferReversalSourceRefund'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferReversalSourceRefund'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} -- | Define the one-of schema transfer_reversalTransfer\' -- -- ID of the transfer that was reversed. data TransferReversalTransfer'Variants = TransferReversalTransfer'Transfer Transfer | TransferReversalTransfer'String GHC.Base.String deriving (GHC.Show.Show, GHC.Classes.Eq, GHC.Generics.Generic) instance Data.Aeson.ToJSON TransferReversalTransfer'Variants where toJSON = Data.Aeson.Types.ToJSON.genericToJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue} instance Data.Aeson.FromJSON TransferReversalTransfer'Variants where parseJSON = Data.Aeson.Types.FromJSON.genericParseJSON Data.Aeson.Types.Internal.defaultOptions{Data.Aeson.Types.Internal.sumEncoding = Data.Aeson.Types.Internal.UntaggedValue}