{-# LANGUAGE ExplicitForAll #-} {-# LANGUAGE MultiWayIf #-} -- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator. {-# LANGUAGE OverloadedStrings #-} -- | Contains the different functions to run the operation postCheckoutSessions module StripeAPI.Operations.PostCheckoutSessions where import qualified Control.Monad.Fail import qualified Control.Monad.Trans.Reader import qualified Data.Aeson import qualified Data.Aeson as Data.Aeson.Encoding.Internal import qualified Data.Aeson as Data.Aeson.Types import qualified Data.Aeson as Data.Aeson.Types.FromJSON import qualified Data.Aeson as Data.Aeson.Types.Internal import qualified Data.Aeson as Data.Aeson.Types.ToJSON import qualified Data.ByteString.Char8 import qualified Data.ByteString.Char8 as Data.ByteString.Internal import qualified Data.Either import qualified Data.Foldable import qualified Data.Functor import qualified Data.Maybe 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 Data.Vector import qualified GHC.Base import qualified GHC.Classes import qualified GHC.Int import qualified GHC.Show import qualified GHC.Types import qualified Network.HTTP.Client import qualified Network.HTTP.Client as Network.HTTP.Client.Request import qualified Network.HTTP.Client as Network.HTTP.Client.Types import qualified Network.HTTP.Simple import qualified Network.HTTP.Types import qualified Network.HTTP.Types as Network.HTTP.Types.Status import qualified Network.HTTP.Types as Network.HTTP.Types.URI import qualified StripeAPI.Common import StripeAPI.Types import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe -- | > POST /v1/checkout/sessions -- -- \

Creates a Session object.\<\/p> postCheckoutSessions :: forall m. StripeAPI.Common.MonadHTTP m => -- | The request body to send PostCheckoutSessionsRequestBody -> -- | Monadic computation which returns the result of the operation StripeAPI.Common.ClientT m (Network.HTTP.Client.Types.Response PostCheckoutSessionsResponse) postCheckoutSessions body = GHC.Base.fmap ( \response_0 -> GHC.Base.fmap ( Data.Either.either PostCheckoutSessionsResponseError GHC.Base.id GHC.Base.. ( \response body -> if | (\status_1 -> Network.HTTP.Types.Status.statusCode status_1 GHC.Classes.== 200) (Network.HTTP.Client.Types.responseStatus response) -> PostCheckoutSessionsResponse200 Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String Checkout'session ) | GHC.Base.const GHC.Types.True (Network.HTTP.Client.Types.responseStatus response) -> PostCheckoutSessionsResponseDefault Data.Functor.<$> ( Data.Aeson.eitherDecodeStrict body :: Data.Either.Either GHC.Base.String Error ) | GHC.Base.otherwise -> Data.Either.Left "Missing default response type" ) response_0 ) response_0 ) (StripeAPI.Common.doBodyCallWithConfigurationM (Data.Text.toUpper GHC.Base.$ Data.Text.pack "POST") (Data.Text.pack "/v1/checkout/sessions") GHC.Base.mempty (GHC.Maybe.Just body) StripeAPI.Common.RequestBodyEncodingFormData) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema@ in the specification. data PostCheckoutSessionsRequestBody = PostCheckoutSessionsRequestBody { -- | after_expiration: Configure actions after a Checkout Session has expired. postCheckoutSessionsRequestBodyAfterExpiration :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyAfterExpiration'), -- | allow_promotion_codes: Enables user redeemable promotion codes. postCheckoutSessionsRequestBodyAllowPromotionCodes :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | automatic_tax: Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions. postCheckoutSessionsRequestBodyAutomaticTax :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyAutomaticTax'), -- | billing_address_collection: Specify whether Checkout should collect the customer\'s billing address. postCheckoutSessionsRequestBodyBillingAddressCollection :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyBillingAddressCollection'), -- | 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 postCheckoutSessionsRequestBodyCancelUrl :: Data.Text.Internal.Text, -- | 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 200 postCheckoutSessionsRequestBodyClientReferenceId :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | consent_collection: Configure fields for the Checkout Session to gather active consent from customers. postCheckoutSessionsRequestBodyConsentCollection :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyConsentCollection'), -- | customer: ID of an existing Customer, if one exists. In \`payment\` mode, the customer’s most recent card -- payment method will be used to prefill the email, name, card details, and billing address -- on the Checkout page. In \`subscription\` mode, the customer’s [default payment method](https:\/\/stripe.com\/docs\/api\/customers\/update\#update_customer-invoice_settings-default_payment_method) -- will be used if it’s a card, and otherwise the most recent card will be used. A valid billing address, billing name and billing email are required on the payment method for Checkout to prefill the customer\'s card details. -- -- If the Customer already has a valid [email](https:\/\/stripe.com\/docs\/api\/customers\/object\#customer_object-email) set, the email will be prefilled and not editable in Checkout. -- If the Customer does not have a valid \`email\`, Checkout will set the email entered during the session on the Customer. -- -- If blank for Checkout Sessions in \`payment\` or \`subscription\` mode, Checkout will create a new Customer object based on information provided during the payment flow. -- -- You can set [\`payment_intent_data.setup_future_usage\`](https:\/\/stripe.com\/docs\/api\/checkout\/sessions\/create\#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse. -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyCustomer :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | customer_creation: Configure whether a Checkout Session creates a [Customer](https:\/\/stripe.com\/docs\/api\/customers) during Session confirmation. -- -- When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout -- with [customer_details](https:\/\/stripe.com\/docs\/api\/checkout\/sessions\/object\#checkout_session_object-customer_details). -- -- Sessions that don\'t create Customers instead create [Guest Customers](https:\/\/support.stripe.com\/questions\/guest-customer-faq) -- in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions. -- -- Can only be set in \`payment\` and \`setup\` mode. postCheckoutSessionsRequestBodyCustomerCreation :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyCustomerCreation'), -- | 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. postCheckoutSessionsRequestBodyCustomerEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | customer_update: Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when \`customer\` is provided. postCheckoutSessionsRequestBodyCustomerUpdate :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyCustomerUpdate'), -- | discounts: The coupon or promotion code to apply to this Session. Currently, only up to one may be specified. postCheckoutSessionsRequestBodyDiscounts :: (GHC.Maybe.Maybe ([PostCheckoutSessionsRequestBodyDiscounts'])), -- | expand: Specifies which fields in the response should be expanded. postCheckoutSessionsRequestBodyExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | expires_at: The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 1 to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation. postCheckoutSessionsRequestBodyExpiresAt :: (GHC.Maybe.Maybe GHC.Types.Int), -- | line_items: A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https:\/\/stripe.com\/docs\/api\/prices). -- -- For \`payment\` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen. -- -- For \`subscription\` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices in will be on the initial invoice only. postCheckoutSessionsRequestBodyLineItems :: (GHC.Maybe.Maybe ([PostCheckoutSessionsRequestBodyLineItems'])), -- | locale: The IETF language tag of the locale Checkout is displayed in. If blank or \`auto\`, the browser\'s locale is used. postCheckoutSessionsRequestBodyLocale :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyLocale'), -- | metadata: Set of [key-value pairs](https:\/\/stripe.com\/docs\/api\/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to \`metadata\`. postCheckoutSessionsRequestBodyMetadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | mode: The mode of the Checkout Session. Required when using prices or \`setup\` mode. Pass \`subscription\` if the Checkout Session includes at least one recurring item. postCheckoutSessionsRequestBodyMode :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyMode'), -- | payment_intent_data: A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in \`payment\` mode. postCheckoutSessionsRequestBodyPaymentIntentData :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentIntentData'), -- | payment_method_options: Payment-method-specific configuration. postCheckoutSessionsRequestBodyPaymentMethodOptions :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'), -- | payment_method_types: A list of the types of payment methods (e.g., \`card\`) this Checkout Session can accept. -- -- Do not include this attribute if you prefer to manage your payment methods from the [Stripe Dashboard](https:\/\/dashboard.stripe.com\/settings\/payment_methods). -- -- Read more about the supported payment methods and their requirements in our [payment -- method details guide](\/docs\/payments\/checkout\/payment-methods). -- -- If multiple payment methods are passed, Checkout will dynamically reorder them to -- prioritize the most relevant payment methods based on the customer\'s location and -- other characteristics. postCheckoutSessionsRequestBodyPaymentMethodTypes :: (GHC.Maybe.Maybe ([PostCheckoutSessionsRequestBodyPaymentMethodTypes'])), -- | phone_number_collection: Controls phone number collection settings for the session. -- -- We recommend that you review your privacy policy and check with your legal contacts -- before using this feature. Learn more about [collecting phone numbers with Checkout](https:\/\/stripe.com\/docs\/payments\/checkout\/phone-numbers). postCheckoutSessionsRequestBodyPhoneNumberCollection :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPhoneNumberCollection'), -- | setup_intent_data: A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in \`setup\` mode. postCheckoutSessionsRequestBodySetupIntentData :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodySetupIntentData'), -- | shipping_address_collection: When set, provides configuration for Checkout to collect a shipping address from a customer. postCheckoutSessionsRequestBodyShippingAddressCollection :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyShippingAddressCollection'), -- | shipping_options: The shipping rate options to apply to this Session. postCheckoutSessionsRequestBodyShippingOptions :: (GHC.Maybe.Maybe ([PostCheckoutSessionsRequestBodyShippingOptions'])), -- | 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. postCheckoutSessionsRequestBodySubmitType :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodySubmitType'), -- | subscription_data: A subset of parameters to be passed to subscription creation for Checkout Sessions in \`subscription\` mode. postCheckoutSessionsRequestBodySubscriptionData :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodySubscriptionData'), -- | success_url: The URL to which Stripe should send customers when payment or setup -- is complete. -- If you’d like to use information from the successful Checkout Session on your page, -- read the guide on [customizing your success page](https:\/\/stripe.com\/docs\/payments\/checkout\/custom-success-page). -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodySuccessUrl :: Data.Text.Internal.Text, -- | tax_id_collection: Controls tax ID collection settings for the session. postCheckoutSessionsRequestBodyTaxIdCollection :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyTaxIdCollection') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBody where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("after_expiration" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAfterExpiration obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("allow_promotion_codes" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAllowPromotionCodes obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("automatic_tax" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAutomaticTax obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("billing_address_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyBillingAddressCollection obj) : ["cancel_url" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyCancelUrl obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("client_reference_id" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyClientReferenceId obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("consent_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyConsentCollection obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("customer" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomer obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("customer_creation" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerCreation obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("customer_email" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerEmail obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("customer_update" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerUpdate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discounts" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyDiscounts obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expand" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyExpand obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expires_at" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyExpiresAt obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line_items" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("locale" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLocale obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyMetadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("mode" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyMode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("payment_intent_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("payment_method_options" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("payment_method_types" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodTypes obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("phone_number_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPhoneNumberCollection obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_intent_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySetupIntentData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping_address_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingAddressCollection obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping_options" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("submit_type" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubmitType obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("subscription_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData obj) : ["success_url" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodySuccessUrl obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_id_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyTaxIdCollection obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("after_expiration" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAfterExpiration obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("allow_promotion_codes" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAllowPromotionCodes obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("automatic_tax" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAutomaticTax obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("billing_address_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyBillingAddressCollection obj) : ["cancel_url" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyCancelUrl obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("client_reference_id" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyClientReferenceId obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("consent_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyConsentCollection obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("customer" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomer obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("customer_creation" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerCreation obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("customer_email" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerEmail obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("customer_update" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerUpdate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("discounts" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyDiscounts obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expand" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyExpand obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expires_at" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyExpiresAt obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line_items" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("locale" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLocale obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyMetadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("mode" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyMode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("payment_intent_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("payment_method_options" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("payment_method_types" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodTypes obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("phone_number_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPhoneNumberCollection obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_intent_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySetupIntentData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping_address_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingAddressCollection obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping_options" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("submit_type" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubmitType obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("subscription_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData obj) : ["success_url" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodySuccessUrl obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_id_collection" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyTaxIdCollection obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBody where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBody" (\obj -> ((((((((((((((((((((((((((((GHC.Base.pure PostCheckoutSessionsRequestBody GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "after_expiration")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "allow_promotion_codes")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "automatic_tax")) 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..:! "consent_collection")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "customer")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "customer_creation")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "customer_email")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "customer_update")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "discounts")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "expand")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "expires_at")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line_items")) 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..:! "payment_intent_data")) 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..:! "phone_number_collection")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_intent_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "shipping_address_collection")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "shipping_options")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "submit_type")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "subscription_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "success_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_id_collection")) -- | Create a new 'PostCheckoutSessionsRequestBody' with all required fields. mkPostCheckoutSessionsRequestBody :: -- | 'postCheckoutSessionsRequestBodyCancelUrl' Data.Text.Internal.Text -> -- | 'postCheckoutSessionsRequestBodySuccessUrl' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBody mkPostCheckoutSessionsRequestBody postCheckoutSessionsRequestBodyCancelUrl postCheckoutSessionsRequestBodySuccessUrl = PostCheckoutSessionsRequestBody { postCheckoutSessionsRequestBodyAfterExpiration = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyAllowPromotionCodes = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyAutomaticTax = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyBillingAddressCollection = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyCancelUrl = postCheckoutSessionsRequestBodyCancelUrl, postCheckoutSessionsRequestBodyClientReferenceId = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyConsentCollection = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyCustomer = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyCustomerCreation = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyCustomerEmail = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyCustomerUpdate = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyDiscounts = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyExpand = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyExpiresAt = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLocale = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyMetadata = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyMode = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodTypes = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPhoneNumberCollection = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySetupIntentData = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingAddressCollection = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingOptions = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubmitType = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySuccessUrl = postCheckoutSessionsRequestBodySuccessUrl, postCheckoutSessionsRequestBodyTaxIdCollection = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.after_expiration@ in the specification. -- -- Configure actions after a Checkout Session has expired. data PostCheckoutSessionsRequestBodyAfterExpiration' = PostCheckoutSessionsRequestBodyAfterExpiration' { -- | recovery postCheckoutSessionsRequestBodyAfterExpiration'Recovery :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyAfterExpiration'Recovery') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyAfterExpiration' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("recovery" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAfterExpiration'Recovery obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("recovery" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAfterExpiration'Recovery obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyAfterExpiration' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyAfterExpiration'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyAfterExpiration' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "recovery")) -- | Create a new 'PostCheckoutSessionsRequestBodyAfterExpiration'' with all required fields. mkPostCheckoutSessionsRequestBodyAfterExpiration' :: PostCheckoutSessionsRequestBodyAfterExpiration' mkPostCheckoutSessionsRequestBodyAfterExpiration' = PostCheckoutSessionsRequestBodyAfterExpiration' {postCheckoutSessionsRequestBodyAfterExpiration'Recovery = GHC.Maybe.Nothing} -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.after_expiration.properties.recovery@ in the specification. data PostCheckoutSessionsRequestBodyAfterExpiration'Recovery' = PostCheckoutSessionsRequestBodyAfterExpiration'Recovery' { -- | allow_promotion_codes postCheckoutSessionsRequestBodyAfterExpiration'Recovery'AllowPromotionCodes :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | enabled postCheckoutSessionsRequestBodyAfterExpiration'Recovery'Enabled :: GHC.Types.Bool } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyAfterExpiration'Recovery' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("allow_promotion_codes" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAfterExpiration'Recovery'AllowPromotionCodes obj) : ["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyAfterExpiration'Recovery'Enabled obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("allow_promotion_codes" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyAfterExpiration'Recovery'AllowPromotionCodes obj) : ["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyAfterExpiration'Recovery'Enabled obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyAfterExpiration'Recovery' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyAfterExpiration'Recovery'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyAfterExpiration'Recovery' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "allow_promotion_codes")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "enabled")) -- | Create a new 'PostCheckoutSessionsRequestBodyAfterExpiration'Recovery'' with all required fields. mkPostCheckoutSessionsRequestBodyAfterExpiration'Recovery' :: -- | 'postCheckoutSessionsRequestBodyAfterExpiration'Recovery'Enabled' GHC.Types.Bool -> PostCheckoutSessionsRequestBodyAfterExpiration'Recovery' mkPostCheckoutSessionsRequestBodyAfterExpiration'Recovery' postCheckoutSessionsRequestBodyAfterExpiration'Recovery'Enabled = PostCheckoutSessionsRequestBodyAfterExpiration'Recovery' { postCheckoutSessionsRequestBodyAfterExpiration'Recovery'AllowPromotionCodes = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyAfterExpiration'Recovery'Enabled = postCheckoutSessionsRequestBodyAfterExpiration'Recovery'Enabled } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.automatic_tax@ in the specification. -- -- Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions. data PostCheckoutSessionsRequestBodyAutomaticTax' = PostCheckoutSessionsRequestBodyAutomaticTax' { -- | enabled postCheckoutSessionsRequestBodyAutomaticTax'Enabled :: GHC.Types.Bool } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyAutomaticTax' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyAutomaticTax'Enabled obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyAutomaticTax'Enabled obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyAutomaticTax' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyAutomaticTax'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyAutomaticTax' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "enabled")) -- | Create a new 'PostCheckoutSessionsRequestBodyAutomaticTax'' with all required fields. mkPostCheckoutSessionsRequestBodyAutomaticTax' :: -- | 'postCheckoutSessionsRequestBodyAutomaticTax'Enabled' GHC.Types.Bool -> PostCheckoutSessionsRequestBodyAutomaticTax' mkPostCheckoutSessionsRequestBodyAutomaticTax' postCheckoutSessionsRequestBodyAutomaticTax'Enabled = PostCheckoutSessionsRequestBodyAutomaticTax' {postCheckoutSessionsRequestBodyAutomaticTax'Enabled = postCheckoutSessionsRequestBodyAutomaticTax'Enabled} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.billing_address_collection@ in the specification. -- -- Specify whether Checkout should collect the customer\'s billing address. data PostCheckoutSessionsRequestBodyBillingAddressCollection' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyBillingAddressCollection'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyBillingAddressCollection'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"auto"@ PostCheckoutSessionsRequestBodyBillingAddressCollection'EnumAuto | -- | Represents the JSON value @"required"@ PostCheckoutSessionsRequestBodyBillingAddressCollection'EnumRequired deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyBillingAddressCollection' where toJSON (PostCheckoutSessionsRequestBodyBillingAddressCollection'Other val) = val toJSON (PostCheckoutSessionsRequestBodyBillingAddressCollection'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyBillingAddressCollection'EnumAuto) = "auto" toJSON (PostCheckoutSessionsRequestBodyBillingAddressCollection'EnumRequired) = "required" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyBillingAddressCollection' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "auto" -> PostCheckoutSessionsRequestBodyBillingAddressCollection'EnumAuto | val GHC.Classes.== "required" -> PostCheckoutSessionsRequestBodyBillingAddressCollection'EnumRequired | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyBillingAddressCollection'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.consent_collection@ in the specification. -- -- Configure fields for the Checkout Session to gather active consent from customers. data PostCheckoutSessionsRequestBodyConsentCollection' = PostCheckoutSessionsRequestBodyConsentCollection' { -- | promotions postCheckoutSessionsRequestBodyConsentCollection'Promotions :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyConsentCollection'Promotions') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyConsentCollection' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("promotions" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyConsentCollection'Promotions obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("promotions" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyConsentCollection'Promotions obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyConsentCollection' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyConsentCollection'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyConsentCollection' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "promotions")) -- | Create a new 'PostCheckoutSessionsRequestBodyConsentCollection'' with all required fields. mkPostCheckoutSessionsRequestBodyConsentCollection' :: PostCheckoutSessionsRequestBodyConsentCollection' mkPostCheckoutSessionsRequestBodyConsentCollection' = PostCheckoutSessionsRequestBodyConsentCollection' {postCheckoutSessionsRequestBodyConsentCollection'Promotions = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.consent_collection.properties.promotions@ in the specification. data PostCheckoutSessionsRequestBodyConsentCollection'Promotions' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyConsentCollection'Promotions'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyConsentCollection'Promotions'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"auto"@ PostCheckoutSessionsRequestBodyConsentCollection'Promotions'EnumAuto deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyConsentCollection'Promotions' where toJSON (PostCheckoutSessionsRequestBodyConsentCollection'Promotions'Other val) = val toJSON (PostCheckoutSessionsRequestBodyConsentCollection'Promotions'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyConsentCollection'Promotions'EnumAuto) = "auto" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyConsentCollection'Promotions' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "auto" -> PostCheckoutSessionsRequestBodyConsentCollection'Promotions'EnumAuto | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyConsentCollection'Promotions'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.customer_creation@ in the specification. -- -- Configure whether a Checkout Session creates a [Customer](https:\/\/stripe.com\/docs\/api\/customers) during Session confirmation. -- -- When a Customer is not created, you can still retrieve email, address, and other customer data entered in Checkout -- with [customer_details](https:\/\/stripe.com\/docs\/api\/checkout\/sessions\/object\#checkout_session_object-customer_details). -- -- Sessions that don\'t create Customers instead create [Guest Customers](https:\/\/support.stripe.com\/questions\/guest-customer-faq) -- in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions. -- -- Can only be set in \`payment\` and \`setup\` mode. data PostCheckoutSessionsRequestBodyCustomerCreation' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyCustomerCreation'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyCustomerCreation'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"always"@ PostCheckoutSessionsRequestBodyCustomerCreation'EnumAlways | -- | Represents the JSON value @"if_required"@ PostCheckoutSessionsRequestBodyCustomerCreation'EnumIfRequired deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyCustomerCreation' where toJSON (PostCheckoutSessionsRequestBodyCustomerCreation'Other val) = val toJSON (PostCheckoutSessionsRequestBodyCustomerCreation'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyCustomerCreation'EnumAlways) = "always" toJSON (PostCheckoutSessionsRequestBodyCustomerCreation'EnumIfRequired) = "if_required" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyCustomerCreation' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "always" -> PostCheckoutSessionsRequestBodyCustomerCreation'EnumAlways | val GHC.Classes.== "if_required" -> PostCheckoutSessionsRequestBodyCustomerCreation'EnumIfRequired | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyCustomerCreation'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.customer_update@ in the specification. -- -- Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when \`customer\` is provided. data PostCheckoutSessionsRequestBodyCustomerUpdate' = PostCheckoutSessionsRequestBodyCustomerUpdate' { -- | address postCheckoutSessionsRequestBodyCustomerUpdate'Address :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyCustomerUpdate'Address'), -- | name postCheckoutSessionsRequestBodyCustomerUpdate'Name :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyCustomerUpdate'Name'), -- | shipping postCheckoutSessionsRequestBodyCustomerUpdate'Shipping :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyCustomerUpdate' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("address" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerUpdate'Address obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("name" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerUpdate'Name obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerUpdate'Shipping obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("address" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerUpdate'Address obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("name" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerUpdate'Name obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyCustomerUpdate'Shipping obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyCustomerUpdate' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyCustomerUpdate'" (\obj -> ((GHC.Base.pure PostCheckoutSessionsRequestBodyCustomerUpdate' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "shipping")) -- | Create a new 'PostCheckoutSessionsRequestBodyCustomerUpdate'' with all required fields. mkPostCheckoutSessionsRequestBodyCustomerUpdate' :: PostCheckoutSessionsRequestBodyCustomerUpdate' mkPostCheckoutSessionsRequestBodyCustomerUpdate' = PostCheckoutSessionsRequestBodyCustomerUpdate' { postCheckoutSessionsRequestBodyCustomerUpdate'Address = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyCustomerUpdate'Name = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyCustomerUpdate'Shipping = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.customer_update.properties.address@ in the specification. data PostCheckoutSessionsRequestBodyCustomerUpdate'Address' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyCustomerUpdate'Address'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyCustomerUpdate'Address'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"auto"@ PostCheckoutSessionsRequestBodyCustomerUpdate'Address'EnumAuto | -- | Represents the JSON value @"never"@ PostCheckoutSessionsRequestBodyCustomerUpdate'Address'EnumNever deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyCustomerUpdate'Address' where toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Address'Other val) = val toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Address'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Address'EnumAuto) = "auto" toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Address'EnumNever) = "never" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyCustomerUpdate'Address' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "auto" -> PostCheckoutSessionsRequestBodyCustomerUpdate'Address'EnumAuto | val GHC.Classes.== "never" -> PostCheckoutSessionsRequestBodyCustomerUpdate'Address'EnumNever | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyCustomerUpdate'Address'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.customer_update.properties.name@ in the specification. data PostCheckoutSessionsRequestBodyCustomerUpdate'Name' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyCustomerUpdate'Name'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyCustomerUpdate'Name'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"auto"@ PostCheckoutSessionsRequestBodyCustomerUpdate'Name'EnumAuto | -- | Represents the JSON value @"never"@ PostCheckoutSessionsRequestBodyCustomerUpdate'Name'EnumNever deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyCustomerUpdate'Name' where toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Name'Other val) = val toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Name'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Name'EnumAuto) = "auto" toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Name'EnumNever) = "never" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyCustomerUpdate'Name' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "auto" -> PostCheckoutSessionsRequestBodyCustomerUpdate'Name'EnumAuto | val GHC.Classes.== "never" -> PostCheckoutSessionsRequestBodyCustomerUpdate'Name'EnumNever | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyCustomerUpdate'Name'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.customer_update.properties.shipping@ in the specification. data PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"auto"@ PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'EnumAuto | -- | Represents the JSON value @"never"@ PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'EnumNever deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping' where toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'Other val) = val toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'EnumAuto) = "auto" toJSON (PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'EnumNever) = "never" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "auto" -> PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'EnumAuto | val GHC.Classes.== "never" -> PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'EnumNever | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyCustomerUpdate'Shipping'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.discounts.items@ in the specification. data PostCheckoutSessionsRequestBodyDiscounts' = PostCheckoutSessionsRequestBodyDiscounts' { -- | coupon -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyDiscounts'Coupon :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | promotion_code -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyDiscounts'PromotionCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyDiscounts' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("coupon" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyDiscounts'Coupon obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("promotion_code" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyDiscounts'PromotionCode obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("coupon" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyDiscounts'Coupon obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("promotion_code" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyDiscounts'PromotionCode obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyDiscounts' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyDiscounts'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyDiscounts' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "coupon")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "promotion_code")) -- | Create a new 'PostCheckoutSessionsRequestBodyDiscounts'' with all required fields. mkPostCheckoutSessionsRequestBodyDiscounts' :: PostCheckoutSessionsRequestBodyDiscounts' mkPostCheckoutSessionsRequestBodyDiscounts' = PostCheckoutSessionsRequestBodyDiscounts' { postCheckoutSessionsRequestBodyDiscounts'Coupon = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyDiscounts'PromotionCode = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.line_items.items@ in the specification. data PostCheckoutSessionsRequestBodyLineItems' = PostCheckoutSessionsRequestBodyLineItems' { -- | adjustable_quantity postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'), -- | dynamic_tax_rates postCheckoutSessionsRequestBodyLineItems'DynamicTaxRates :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | price -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyLineItems'Price :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | price_data postCheckoutSessionsRequestBodyLineItems'PriceData :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyLineItems'PriceData'), -- | quantity postCheckoutSessionsRequestBodyLineItems'Quantity :: (GHC.Maybe.Maybe GHC.Types.Int), -- | tax_rates postCheckoutSessionsRequestBodyLineItems'TaxRates :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyLineItems' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("adjustable_quantity" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("dynamic_tax_rates" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'DynamicTaxRates obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'Price obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("quantity" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'Quantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_rates" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'TaxRates obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("adjustable_quantity" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("dynamic_tax_rates" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'DynamicTaxRates obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'Price obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("price_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("quantity" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'Quantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_rates" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'TaxRates obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyLineItems' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyLineItems'" (\obj -> (((((GHC.Base.pure PostCheckoutSessionsRequestBodyLineItems' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "adjustable_quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "dynamic_tax_rates")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "price")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "price_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "quantity")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_rates")) -- | Create a new 'PostCheckoutSessionsRequestBodyLineItems'' with all required fields. mkPostCheckoutSessionsRequestBodyLineItems' :: PostCheckoutSessionsRequestBodyLineItems' mkPostCheckoutSessionsRequestBodyLineItems' = PostCheckoutSessionsRequestBodyLineItems' { postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'DynamicTaxRates = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'Price = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'Quantity = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'TaxRates = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.line_items.items.properties.adjustable_quantity@ in the specification. data PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' = PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' { -- | enabled postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Enabled :: GHC.Types.Bool, -- | maximum postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Maximum :: (GHC.Maybe.Maybe GHC.Types.Int), -- | minimum postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Minimum :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Enabled obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("maximum" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Maximum obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("minimum" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Minimum obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Enabled obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("maximum" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Maximum obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("minimum" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Minimum obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'" (\obj -> ((GHC.Base.pure PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "enabled")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "maximum")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "minimum")) -- | Create a new 'PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'' with all required fields. mkPostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' :: -- | 'postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Enabled' GHC.Types.Bool -> PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' mkPostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Enabled = PostCheckoutSessionsRequestBodyLineItems'AdjustableQuantity' { postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Enabled = postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Enabled, postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Maximum = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'AdjustableQuantity'Minimum = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.line_items.items.properties.price_data@ in the specification. data PostCheckoutSessionsRequestBodyLineItems'PriceData' = PostCheckoutSessionsRequestBodyLineItems'PriceData' { -- | currency postCheckoutSessionsRequestBodyLineItems'PriceData'Currency :: Data.Text.Internal.Text, -- | product -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyLineItems'PriceData'Product :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | product_data postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'), -- | recurring postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'), -- | tax_behavior postCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'), -- | unit_amount postCheckoutSessionsRequestBodyLineItems'PriceData'UnitAmount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | unit_amount_decimal postCheckoutSessionsRequestBodyLineItems'PriceData'UnitAmountDecimal :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyLineItems'PriceData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["currency" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyLineItems'PriceData'Currency obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("product" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'Product obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("product_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("recurring" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_behavior" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'UnitAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount_decimal" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'UnitAmountDecimal obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["currency" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyLineItems'PriceData'Currency obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("product" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'Product obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("product_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("recurring" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_behavior" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'UnitAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unit_amount_decimal" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'UnitAmountDecimal obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyLineItems'PriceData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyLineItems'PriceData'" (\obj -> ((((((GHC.Base.pure PostCheckoutSessionsRequestBodyLineItems'PriceData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "product")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "product_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "recurring")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_behavior")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "unit_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "unit_amount_decimal")) -- | Create a new 'PostCheckoutSessionsRequestBodyLineItems'PriceData'' with all required fields. mkPostCheckoutSessionsRequestBodyLineItems'PriceData' :: -- | 'postCheckoutSessionsRequestBodyLineItems'PriceData'Currency' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodyLineItems'PriceData' mkPostCheckoutSessionsRequestBodyLineItems'PriceData' postCheckoutSessionsRequestBodyLineItems'PriceData'Currency = PostCheckoutSessionsRequestBodyLineItems'PriceData' { postCheckoutSessionsRequestBodyLineItems'PriceData'Currency = postCheckoutSessionsRequestBodyLineItems'PriceData'Currency, postCheckoutSessionsRequestBodyLineItems'PriceData'Product = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData'UnitAmount = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData'UnitAmountDecimal = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.line_items.items.properties.price_data.properties.product_data@ in the specification. data PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' = PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' { -- | description -- -- Constraints: -- -- * Maximum length of 40000 postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | images postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Images :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | metadata postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | name -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Name :: Data.Text.Internal.Text, -- | tax_code -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'TaxCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("images" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Images obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Metadata obj) : ["name" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Name obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_code" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'TaxCode obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("images" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Images obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Metadata obj) : ["name" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Name obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_code" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'TaxCode obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'" (\obj -> ((((GHC.Base.pure PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "images")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_code")) -- | Create a new 'PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'' with all required fields. mkPostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' :: -- | 'postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Name' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' mkPostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Name = PostCheckoutSessionsRequestBodyLineItems'PriceData'ProductData' { postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Description = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Images = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Metadata = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Name = postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'Name, postCheckoutSessionsRequestBodyLineItems'PriceData'ProductData'TaxCode = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.line_items.items.properties.price_data.properties.recurring@ in the specification. data PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' = PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' { -- | interval postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval :: PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval', -- | interval_count postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'IntervalCount :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["interval" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("interval_count" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'IntervalCount obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["interval" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("interval_count" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'IntervalCount obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "interval")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "interval_count")) -- | Create a new 'PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'' with all required fields. mkPostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' :: -- | 'postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval' PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval' -> PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' mkPostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval = PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring' { postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval = postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval, postCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'IntervalCount = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.line_items.items.properties.price_data.properties.recurring.properties.interval@ in the specification. data PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"day"@ PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumDay | -- | Represents the JSON value @"month"@ PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumMonth | -- | Represents the JSON value @"week"@ PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumWeek | -- | Represents the JSON value @"year"@ PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumYear deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval' where toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'Other val) = val toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumDay) = "day" toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumMonth) = "month" toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumWeek) = "week" toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumYear) = "year" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "day" -> PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumDay | val GHC.Classes.== "month" -> PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumMonth | val GHC.Classes.== "week" -> PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumWeek | val GHC.Classes.== "year" -> PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'EnumYear | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyLineItems'PriceData'Recurring'Interval'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.line_items.items.properties.price_data.properties.tax_behavior@ in the specification. data PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"exclusive"@ PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumExclusive | -- | Represents the JSON value @"inclusive"@ PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumInclusive | -- | Represents the JSON value @"unspecified"@ PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumUnspecified deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior' where toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'Other val) = val toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumExclusive) = "exclusive" toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumInclusive) = "inclusive" toJSON (PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumUnspecified) = "unspecified" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "exclusive" -> PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumExclusive | val GHC.Classes.== "inclusive" -> PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumInclusive | val GHC.Classes.== "unspecified" -> PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'EnumUnspecified | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyLineItems'PriceData'TaxBehavior'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.locale@ in the specification. -- -- The IETF language tag of the locale Checkout is displayed in. If blank or \`auto\`, the browser\'s locale is used. data PostCheckoutSessionsRequestBodyLocale' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyLocale'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyLocale'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"auto"@ PostCheckoutSessionsRequestBodyLocale'EnumAuto | -- | Represents the JSON value @"bg"@ PostCheckoutSessionsRequestBodyLocale'EnumBg | -- | Represents the JSON value @"cs"@ PostCheckoutSessionsRequestBodyLocale'EnumCs | -- | Represents the JSON value @"da"@ PostCheckoutSessionsRequestBodyLocale'EnumDa | -- | Represents the JSON value @"de"@ PostCheckoutSessionsRequestBodyLocale'EnumDe | -- | Represents the JSON value @"el"@ PostCheckoutSessionsRequestBodyLocale'EnumEl | -- | Represents the JSON value @"en"@ PostCheckoutSessionsRequestBodyLocale'EnumEn | -- | Represents the JSON value @"en-GB"@ PostCheckoutSessionsRequestBodyLocale'EnumEnGB | -- | Represents the JSON value @"es"@ PostCheckoutSessionsRequestBodyLocale'EnumEs | -- | Represents the JSON value @"es-419"@ PostCheckoutSessionsRequestBodyLocale'EnumEs_419 | -- | Represents the JSON value @"et"@ PostCheckoutSessionsRequestBodyLocale'EnumEt | -- | Represents the JSON value @"fi"@ PostCheckoutSessionsRequestBodyLocale'EnumFi | -- | Represents the JSON value @"fil"@ PostCheckoutSessionsRequestBodyLocale'EnumFil | -- | Represents the JSON value @"fr"@ PostCheckoutSessionsRequestBodyLocale'EnumFr | -- | Represents the JSON value @"fr-CA"@ PostCheckoutSessionsRequestBodyLocale'EnumFrCA | -- | Represents the JSON value @"hr"@ PostCheckoutSessionsRequestBodyLocale'EnumHr | -- | Represents the JSON value @"hu"@ PostCheckoutSessionsRequestBodyLocale'EnumHu | -- | Represents the JSON value @"id"@ PostCheckoutSessionsRequestBodyLocale'EnumId | -- | Represents the JSON value @"it"@ PostCheckoutSessionsRequestBodyLocale'EnumIt | -- | Represents the JSON value @"ja"@ PostCheckoutSessionsRequestBodyLocale'EnumJa | -- | Represents the JSON value @"ko"@ PostCheckoutSessionsRequestBodyLocale'EnumKo | -- | Represents the JSON value @"lt"@ PostCheckoutSessionsRequestBodyLocale'EnumLt | -- | Represents the JSON value @"lv"@ PostCheckoutSessionsRequestBodyLocale'EnumLv | -- | Represents the JSON value @"ms"@ PostCheckoutSessionsRequestBodyLocale'EnumMs | -- | Represents the JSON value @"mt"@ PostCheckoutSessionsRequestBodyLocale'EnumMt | -- | Represents the JSON value @"nb"@ PostCheckoutSessionsRequestBodyLocale'EnumNb | -- | Represents the JSON value @"nl"@ PostCheckoutSessionsRequestBodyLocale'EnumNl | -- | Represents the JSON value @"pl"@ PostCheckoutSessionsRequestBodyLocale'EnumPl | -- | Represents the JSON value @"pt"@ PostCheckoutSessionsRequestBodyLocale'EnumPt | -- | Represents the JSON value @"pt-BR"@ PostCheckoutSessionsRequestBodyLocale'EnumPtBR | -- | Represents the JSON value @"ro"@ PostCheckoutSessionsRequestBodyLocale'EnumRo | -- | Represents the JSON value @"ru"@ PostCheckoutSessionsRequestBodyLocale'EnumRu | -- | Represents the JSON value @"sk"@ PostCheckoutSessionsRequestBodyLocale'EnumSk | -- | Represents the JSON value @"sl"@ PostCheckoutSessionsRequestBodyLocale'EnumSl | -- | Represents the JSON value @"sv"@ PostCheckoutSessionsRequestBodyLocale'EnumSv | -- | Represents the JSON value @"th"@ PostCheckoutSessionsRequestBodyLocale'EnumTh | -- | Represents the JSON value @"tr"@ PostCheckoutSessionsRequestBodyLocale'EnumTr | -- | Represents the JSON value @"vi"@ PostCheckoutSessionsRequestBodyLocale'EnumVi | -- | Represents the JSON value @"zh"@ PostCheckoutSessionsRequestBodyLocale'EnumZh | -- | Represents the JSON value @"zh-HK"@ PostCheckoutSessionsRequestBodyLocale'EnumZhHK | -- | Represents the JSON value @"zh-TW"@ PostCheckoutSessionsRequestBodyLocale'EnumZhTW deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyLocale' where toJSON (PostCheckoutSessionsRequestBodyLocale'Other val) = val toJSON (PostCheckoutSessionsRequestBodyLocale'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyLocale'EnumAuto) = "auto" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumBg) = "bg" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumCs) = "cs" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumDa) = "da" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumDe) = "de" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumEl) = "el" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumEn) = "en" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumEnGB) = "en-GB" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumEs) = "es" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumEs_419) = "es-419" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumEt) = "et" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumFi) = "fi" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumFil) = "fil" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumFr) = "fr" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumFrCA) = "fr-CA" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumHr) = "hr" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumHu) = "hu" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumId) = "id" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumIt) = "it" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumJa) = "ja" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumKo) = "ko" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumLt) = "lt" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumLv) = "lv" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumMs) = "ms" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumMt) = "mt" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumNb) = "nb" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumNl) = "nl" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumPl) = "pl" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumPt) = "pt" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumPtBR) = "pt-BR" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumRo) = "ro" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumRu) = "ru" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumSk) = "sk" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumSl) = "sl" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumSv) = "sv" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumTh) = "th" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumTr) = "tr" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumVi) = "vi" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumZh) = "zh" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumZhHK) = "zh-HK" toJSON (PostCheckoutSessionsRequestBodyLocale'EnumZhTW) = "zh-TW" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyLocale' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "auto" -> PostCheckoutSessionsRequestBodyLocale'EnumAuto | val GHC.Classes.== "bg" -> PostCheckoutSessionsRequestBodyLocale'EnumBg | val GHC.Classes.== "cs" -> PostCheckoutSessionsRequestBodyLocale'EnumCs | val GHC.Classes.== "da" -> PostCheckoutSessionsRequestBodyLocale'EnumDa | val GHC.Classes.== "de" -> PostCheckoutSessionsRequestBodyLocale'EnumDe | val GHC.Classes.== "el" -> PostCheckoutSessionsRequestBodyLocale'EnumEl | val GHC.Classes.== "en" -> PostCheckoutSessionsRequestBodyLocale'EnumEn | val GHC.Classes.== "en-GB" -> PostCheckoutSessionsRequestBodyLocale'EnumEnGB | val GHC.Classes.== "es" -> PostCheckoutSessionsRequestBodyLocale'EnumEs | val GHC.Classes.== "es-419" -> PostCheckoutSessionsRequestBodyLocale'EnumEs_419 | val GHC.Classes.== "et" -> PostCheckoutSessionsRequestBodyLocale'EnumEt | val GHC.Classes.== "fi" -> PostCheckoutSessionsRequestBodyLocale'EnumFi | val GHC.Classes.== "fil" -> PostCheckoutSessionsRequestBodyLocale'EnumFil | val GHC.Classes.== "fr" -> PostCheckoutSessionsRequestBodyLocale'EnumFr | val GHC.Classes.== "fr-CA" -> PostCheckoutSessionsRequestBodyLocale'EnumFrCA | val GHC.Classes.== "hr" -> PostCheckoutSessionsRequestBodyLocale'EnumHr | val GHC.Classes.== "hu" -> PostCheckoutSessionsRequestBodyLocale'EnumHu | val GHC.Classes.== "id" -> PostCheckoutSessionsRequestBodyLocale'EnumId | val GHC.Classes.== "it" -> PostCheckoutSessionsRequestBodyLocale'EnumIt | val GHC.Classes.== "ja" -> PostCheckoutSessionsRequestBodyLocale'EnumJa | val GHC.Classes.== "ko" -> PostCheckoutSessionsRequestBodyLocale'EnumKo | val GHC.Classes.== "lt" -> PostCheckoutSessionsRequestBodyLocale'EnumLt | val GHC.Classes.== "lv" -> PostCheckoutSessionsRequestBodyLocale'EnumLv | val GHC.Classes.== "ms" -> PostCheckoutSessionsRequestBodyLocale'EnumMs | val GHC.Classes.== "mt" -> PostCheckoutSessionsRequestBodyLocale'EnumMt | val GHC.Classes.== "nb" -> PostCheckoutSessionsRequestBodyLocale'EnumNb | val GHC.Classes.== "nl" -> PostCheckoutSessionsRequestBodyLocale'EnumNl | val GHC.Classes.== "pl" -> PostCheckoutSessionsRequestBodyLocale'EnumPl | val GHC.Classes.== "pt" -> PostCheckoutSessionsRequestBodyLocale'EnumPt | val GHC.Classes.== "pt-BR" -> PostCheckoutSessionsRequestBodyLocale'EnumPtBR | val GHC.Classes.== "ro" -> PostCheckoutSessionsRequestBodyLocale'EnumRo | val GHC.Classes.== "ru" -> PostCheckoutSessionsRequestBodyLocale'EnumRu | val GHC.Classes.== "sk" -> PostCheckoutSessionsRequestBodyLocale'EnumSk | val GHC.Classes.== "sl" -> PostCheckoutSessionsRequestBodyLocale'EnumSl | val GHC.Classes.== "sv" -> PostCheckoutSessionsRequestBodyLocale'EnumSv | val GHC.Classes.== "th" -> PostCheckoutSessionsRequestBodyLocale'EnumTh | val GHC.Classes.== "tr" -> PostCheckoutSessionsRequestBodyLocale'EnumTr | val GHC.Classes.== "vi" -> PostCheckoutSessionsRequestBodyLocale'EnumVi | val GHC.Classes.== "zh" -> PostCheckoutSessionsRequestBodyLocale'EnumZh | val GHC.Classes.== "zh-HK" -> PostCheckoutSessionsRequestBodyLocale'EnumZhHK | val GHC.Classes.== "zh-TW" -> PostCheckoutSessionsRequestBodyLocale'EnumZhTW | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyLocale'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.mode@ in the specification. -- -- The mode of the Checkout Session. Required when using prices or \`setup\` mode. Pass \`subscription\` if the Checkout Session includes at least one recurring item. data PostCheckoutSessionsRequestBodyMode' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyMode'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyMode'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"payment"@ PostCheckoutSessionsRequestBodyMode'EnumPayment | -- | Represents the JSON value @"setup"@ PostCheckoutSessionsRequestBodyMode'EnumSetup | -- | Represents the JSON value @"subscription"@ PostCheckoutSessionsRequestBodyMode'EnumSubscription deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyMode' where toJSON (PostCheckoutSessionsRequestBodyMode'Other val) = val toJSON (PostCheckoutSessionsRequestBodyMode'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyMode'EnumPayment) = "payment" toJSON (PostCheckoutSessionsRequestBodyMode'EnumSetup) = "setup" toJSON (PostCheckoutSessionsRequestBodyMode'EnumSubscription) = "subscription" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyMode' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "payment" -> PostCheckoutSessionsRequestBodyMode'EnumPayment | val GHC.Classes.== "setup" -> PostCheckoutSessionsRequestBodyMode'EnumSetup | val GHC.Classes.== "subscription" -> PostCheckoutSessionsRequestBodyMode'EnumSubscription | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyMode'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_intent_data@ in the specification. -- -- A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in \`payment\` mode. data PostCheckoutSessionsRequestBodyPaymentIntentData' = PostCheckoutSessionsRequestBodyPaymentIntentData' { -- | application_fee_amount postCheckoutSessionsRequestBodyPaymentIntentData'ApplicationFeeAmount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | capture_method postCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'), -- | description -- -- Constraints: -- -- * Maximum length of 1000 postCheckoutSessionsRequestBodyPaymentIntentData'Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | metadata postCheckoutSessionsRequestBodyPaymentIntentData'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | on_behalf_of postCheckoutSessionsRequestBodyPaymentIntentData'OnBehalfOf :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | receipt_email postCheckoutSessionsRequestBodyPaymentIntentData'ReceiptEmail :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'), -- | shipping postCheckoutSessionsRequestBodyPaymentIntentData'Shipping :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'), -- | statement_descriptor -- -- Constraints: -- -- * Maximum length of 22 postCheckoutSessionsRequestBodyPaymentIntentData'StatementDescriptor :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | statement_descriptor_suffix -- -- Constraints: -- -- * Maximum length of 22 postCheckoutSessionsRequestBodyPaymentIntentData'StatementDescriptorSuffix :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | transfer_data postCheckoutSessionsRequestBodyPaymentIntentData'TransferData :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData'), -- | transfer_group postCheckoutSessionsRequestBodyPaymentIntentData'TransferGroup :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentIntentData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("application_fee_amount" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'ApplicationFeeAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("capture_method" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("on_behalf_of" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'OnBehalfOf obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("receipt_email" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'ReceiptEmail obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("statement_descriptor" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'StatementDescriptor obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("statement_descriptor_suffix" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'StatementDescriptorSuffix obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("transfer_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'TransferData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("transfer_group" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'TransferGroup obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("application_fee_amount" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'ApplicationFeeAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("capture_method" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("on_behalf_of" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'OnBehalfOf obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("receipt_email" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'ReceiptEmail obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("statement_descriptor" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'StatementDescriptor obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("statement_descriptor_suffix" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'StatementDescriptorSuffix obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("transfer_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'TransferData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("transfer_group" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'TransferGroup obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentIntentData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentIntentData'" (\obj -> (((((((((((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentIntentData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "application_fee_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "capture_method")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "on_behalf_of")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "receipt_email")) 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..:! "transfer_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "transfer_group")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentIntentData'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentIntentData' :: PostCheckoutSessionsRequestBodyPaymentIntentData' mkPostCheckoutSessionsRequestBodyPaymentIntentData' = PostCheckoutSessionsRequestBodyPaymentIntentData' { postCheckoutSessionsRequestBodyPaymentIntentData'ApplicationFeeAmount = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Description = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Metadata = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'OnBehalfOf = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'ReceiptEmail = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'StatementDescriptor = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'StatementDescriptorSuffix = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'TransferData = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'TransferGroup = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_intent_data.properties.capture_method@ in the specification. data PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"automatic"@ PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'EnumAutomatic | -- | Represents the JSON value @"manual"@ PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'EnumManual deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod' where toJSON (PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'EnumAutomatic) = "automatic" toJSON (PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'EnumManual) = "manual" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "automatic" -> PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'EnumAutomatic | val GHC.Classes.== "manual" -> PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'EnumManual | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentIntentData'CaptureMethod'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_intent_data.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"off_session"@ PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'EnumOffSession | -- | Represents the JSON value @"on_session"@ PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'EnumOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'EnumOffSession) = "off_session" toJSON (PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'EnumOnSession) = "on_session" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "off_session" -> PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'EnumOffSession | val GHC.Classes.== "on_session" -> PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'EnumOnSession | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentIntentData'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_intent_data.properties.shipping@ in the specification. data PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' = PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' { -- | address postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address :: PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address', -- | carrier -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Carrier :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | name -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Name :: Data.Text.Internal.Text, -- | phone -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Phone :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | tracking_number -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'TrackingNumber :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["address" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("carrier" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Carrier obj) : ["name" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Name obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("phone" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Phone obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tracking_number" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'TrackingNumber obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["address" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("carrier" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Carrier obj) : ["name" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Name obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("phone" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Phone obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tracking_number" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'TrackingNumber obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'" (\obj -> ((((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' 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")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' :: -- | 'postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' -> -- | 'postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Name' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' mkPostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Name = PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping' { postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address = postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Carrier = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Name = postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Name, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Phone = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'TrackingNumber = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_intent_data.properties.shipping.properties.address@ in the specification. data PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' = PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' { -- | city -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'City :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | country -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Country :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | line1 -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line1 :: Data.Text.Internal.Text, -- | line2 -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line2 :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | postal_code -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'PostalCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | state -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'State :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("city" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'City obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Country obj) : ["line1" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line1 obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'PostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'State obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("city" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'City obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Country obj) : ["line1" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line1 obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'PostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'State obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'" (\obj -> (((((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'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")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' :: -- | 'postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line1' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' mkPostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line1 = PostCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address' { postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'City = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Country = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line1 = postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line1, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'Line2 = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'PostalCode = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'Shipping'Address'State = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_intent_data.properties.transfer_data@ in the specification. data PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' = PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' { -- | amount postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Amount :: (GHC.Maybe.Maybe GHC.Types.Int), -- | destination postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Destination :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("amount" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Amount obj) : ["destination" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Destination obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("amount" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Amount obj) : ["destination" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Destination obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "destination")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' :: -- | 'postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Destination' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' mkPostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Destination = PostCheckoutSessionsRequestBodyPaymentIntentData'TransferData' { postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Amount = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Destination = postCheckoutSessionsRequestBodyPaymentIntentData'TransferData'Destination } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options@ in the specification. -- -- Payment-method-specific configuration. data PostCheckoutSessionsRequestBodyPaymentMethodOptions' = PostCheckoutSessionsRequestBodyPaymentMethodOptions' { -- | acss_debit postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'), -- | affirm postCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'), -- | afterpay_clearpay postCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'), -- | alipay postCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'), -- | au_becs_debit postCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'), -- | bacs_debit postCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'), -- | bancontact postCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'), -- | boleto postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'), -- | card postCheckoutSessionsRequestBodyPaymentMethodOptions'Card :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'), -- | eps postCheckoutSessionsRequestBodyPaymentMethodOptions'Eps :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'), -- | fpx postCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'), -- | giropay postCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'), -- | grabpay postCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'), -- | ideal postCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'), -- | klarna postCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'), -- | konbini postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'), -- | oxxo postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'), -- | p24 postCheckoutSessionsRequestBodyPaymentMethodOptions'P24 :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'), -- | paynow postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'), -- | sepa_debit postCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'), -- | sofort postCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'), -- | us_bank_account postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'), -- | wechat_pay postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("acss_debit" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("affirm" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("afterpay_clearpay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("alipay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("au_becs_debit" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("bacs_debit" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("bancontact" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("boleto" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("card" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Card obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("eps" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Eps obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("fpx" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("giropay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("grabpay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("ideal" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("klarna" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("konbini" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("oxxo" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("p24" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'P24 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("paynow" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("sepa_debit" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("sofort" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("us_bank_account" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("wechat_pay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("acss_debit" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("affirm" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("afterpay_clearpay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("alipay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("au_becs_debit" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("bacs_debit" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("bancontact" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("boleto" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("card" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Card obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("eps" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Eps obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("fpx" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("giropay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("grabpay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("ideal" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("klarna" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("konbini" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("oxxo" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("p24" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'P24 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("paynow" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("sepa_debit" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("sofort" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("us_bank_account" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("wechat_pay" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'" (\obj -> ((((((((((((((((((((((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "acss_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "affirm")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "afterpay_clearpay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "alipay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "au_becs_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "bacs_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "bancontact")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "boleto")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "card")) 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..:! "grabpay")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "ideal")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "klarna")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "konbini")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "oxxo")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "p24")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "paynow")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "sepa_debit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "sofort")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "us_bank_account")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "wechat_pay")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions' = PostCheckoutSessionsRequestBodyPaymentMethodOptions' { postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Card = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Eps = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'P24 = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' { -- | currency postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'), -- | mandate_options postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'), -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'), -- | verification_method postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("currency" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("mandate_options" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("verification_method" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("currency" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("mandate_options" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("verification_method" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'" (\obj -> (((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "currency")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "mandate_options")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "verification_method")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit' { postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.properties.currency@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"cad"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'EnumCad | -- | Represents the JSON value @"usd"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'EnumUsd deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'EnumCad) = "cad" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'EnumUsd) = "usd" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "cad" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'EnumCad | val GHC.Classes.== "usd" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'EnumUsd | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'Currency'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.properties.mandate_options@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' { -- | custom_mandate_url postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'Variants), -- | default_for postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor :: (GHC.Maybe.Maybe ([PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'])), -- | interval_description -- -- Constraints: -- -- * Maximum length of 500 postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'IntervalDescription :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | payment_schedule postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'), -- | transaction_type postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("custom_mandate_url" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("default_for" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("interval_description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'IntervalDescription obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("payment_schedule" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("transaction_type" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("custom_mandate_url" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("default_for" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("interval_description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'IntervalDescription obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("payment_schedule" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("transaction_type" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'" (\obj -> ((((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "custom_mandate_url")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "default_for")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "interval_description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "payment_schedule")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "transaction_type")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions' { postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'IntervalDescription = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType = GHC.Maybe.Nothing } -- | Defines the oneOf schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.properties.mandate_options.properties.custom_mandate_url.anyOf@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'Variants = -- | Represents the JSON value @""@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'EmptyString | PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'Text Data.Text.Internal.Text deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'Variants where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'Text a) = Data.Aeson.Types.ToJSON.toJSON a toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'EmptyString) = "" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'Variants where parseJSON val = if | val GHC.Classes.== "" -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'EmptyString | GHC.Base.otherwise -> case (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'CustomMandateUrl'Text Data.Functor.<$> Data.Aeson.Types.FromJSON.fromJSON val) GHC.Base.<|> Data.Aeson.Types.Internal.Error "No variant matched" of Data.Aeson.Types.Internal.Success a -> GHC.Base.pure a Data.Aeson.Types.Internal.Error a -> Control.Monad.Fail.fail a -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.properties.mandate_options.properties.default_for.items@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"invoice"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'EnumInvoice | -- | Represents the JSON value @"subscription"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'EnumSubscription deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'EnumInvoice) = "invoice" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'EnumSubscription) = "subscription" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "invoice" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'EnumInvoice | val GHC.Classes.== "subscription" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'EnumSubscription | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'DefaultFor'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.properties.mandate_options.properties.payment_schedule@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"combined"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumCombined | -- | Represents the JSON value @"interval"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumInterval | -- | Represents the JSON value @"sporadic"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumSporadic deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumCombined) = "combined" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumInterval) = "interval" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumSporadic) = "sporadic" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "combined" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumCombined | val GHC.Classes.== "interval" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumInterval | val GHC.Classes.== "sporadic" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'EnumSporadic | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'PaymentSchedule'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.properties.mandate_options.properties.transaction_type@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"business"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'EnumBusiness | -- | Represents the JSON value @"personal"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'EnumPersonal deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'EnumBusiness) = "business" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'EnumPersonal) = "personal" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "business" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'EnumBusiness | val GHC.Classes.== "personal" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'EnumPersonal | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'MandateOptions'TransactionType'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumNone | -- | Represents the JSON value @"off_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumOffSession | -- | Represents the JSON value @"on_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumNone) = "none" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumOffSession) = "off_session" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumOnSession) = "on_session" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumNone | val GHC.Classes.== "off_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumOffSession | val GHC.Classes.== "on_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'EnumOnSession | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'SetupFutureUsage'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.acss_debit.properties.verification_method@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"automatic"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumAutomatic | -- | Represents the JSON value @"instant"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumInstant | -- | Represents the JSON value @"microdeposits"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumMicrodeposits deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumAutomatic) = "automatic" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumInstant) = "instant" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumMicrodeposits) = "microdeposits" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "automatic" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumAutomatic | val GHC.Classes.== "instant" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumInstant | val GHC.Classes.== "microdeposits" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'EnumMicrodeposits | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AcssDebit'VerificationMethod'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.affirm@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.affirm.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Affirm'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.afterpay_clearpay@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay' {postCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.afterpay_clearpay.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AfterpayClearpay'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.alipay@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.alipay.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Alipay'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.au_becs_debit@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit' {postCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.au_becs_debit.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'AuBecsDebit'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.bacs_debit@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit' {postCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.bacs_debit.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumNone | -- | Represents the JSON value @"off_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumOffSession | -- | Represents the JSON value @"on_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumNone) = "none" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumOffSession) = "off_session" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumOnSession) = "on_session" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumNone | val GHC.Classes.== "off_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumOffSession | val GHC.Classes.== "on_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'EnumOnSession | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'BacsDebit'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.bancontact@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.bancontact.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Bancontact'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.boleto@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' { -- | expires_after_days postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'ExpiresAfterDays :: (GHC.Maybe.Maybe GHC.Types.Int), -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expires_after_days" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'ExpiresAfterDays obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expires_after_days" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'ExpiresAfterDays obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "expires_after_days")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto' { postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'ExpiresAfterDays = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.boleto.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumNone | -- | Represents the JSON value @"off_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumOffSession | -- | Represents the JSON value @"on_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumNone) = "none" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumOffSession) = "off_session" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumOnSession) = "on_session" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumNone | val GHC.Classes.== "off_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumOffSession | val GHC.Classes.== "on_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'EnumOnSession | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Boleto'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'), -- | statement_descriptor_suffix_kana -- -- Constraints: -- -- * Maximum length of 22 postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'StatementDescriptorSuffixKana :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | statement_descriptor_suffix_kanji -- -- Constraints: -- -- * Maximum length of 17 postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'StatementDescriptorSuffixKanji :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("statement_descriptor_suffix_kana" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'StatementDescriptorSuffixKana obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("statement_descriptor_suffix_kanji" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'StatementDescriptorSuffixKanji obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("statement_descriptor_suffix_kana" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'StatementDescriptorSuffixKana obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("statement_descriptor_suffix_kanji" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'StatementDescriptorSuffixKanji obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'" (\obj -> ((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "statement_descriptor_suffix_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "statement_descriptor_suffix_kanji")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card' { postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'StatementDescriptorSuffixKana = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Card'StatementDescriptorSuffixKanji = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.card.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"off_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'EnumOffSession | -- | Represents the JSON value @"on_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'EnumOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'EnumOffSession) = "off_session" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'EnumOnSession) = "on_session" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "off_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'EnumOffSession | val GHC.Classes.== "on_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'EnumOnSession | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Card'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.eps@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.eps.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Eps'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.fpx@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.fpx.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Fpx'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.giropay@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.giropay.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Giropay'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.grabpay@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.grabpay.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Grabpay'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.ideal@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.ideal.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Ideal'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.klarna@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.klarna.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Klarna'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.konbini@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' { -- | expires_after_days postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'ExpiresAfterDays :: (GHC.Maybe.Maybe GHC.Types.Int), -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expires_after_days" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'ExpiresAfterDays obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expires_after_days" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'ExpiresAfterDays obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "expires_after_days")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini' { postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'ExpiresAfterDays = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.konbini.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Konbini'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.oxxo@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' { -- | expires_after_days postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'ExpiresAfterDays :: (GHC.Maybe.Maybe GHC.Types.Int), -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expires_after_days" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'ExpiresAfterDays obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("expires_after_days" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'ExpiresAfterDays obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "expires_after_days")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo' { postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'ExpiresAfterDays = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.oxxo.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Oxxo'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.p24@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'), -- | tos_shown_and_accepted postCheckoutSessionsRequestBodyPaymentMethodOptions'P24'TosShownAndAccepted :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tos_shown_and_accepted" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'P24'TosShownAndAccepted obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tos_shown_and_accepted" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'P24'TosShownAndAccepted obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tos_shown_and_accepted")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24' { postCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'P24'TosShownAndAccepted = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.p24.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'P24'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.paynow@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'), -- | tos_shown_and_accepted postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'TosShownAndAccepted :: (GHC.Maybe.Maybe GHC.Types.Bool) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tos_shown_and_accepted" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'TosShownAndAccepted obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tos_shown_and_accepted" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'TosShownAndAccepted obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tos_shown_and_accepted")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow' { postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'TosShownAndAccepted = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.paynow.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Paynow'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sepa_debit@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit' {postCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sepa_debit.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumNone | -- | Represents the JSON value @"off_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumOffSession | -- | Represents the JSON value @"on_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumNone) = "none" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumOffSession) = "off_session" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumOnSession) = "on_session" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumNone | val GHC.Classes.== "off_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumOffSession | val GHC.Classes.== "on_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'EnumOnSession | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'SepaDebit'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sofort@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' { -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort' {postCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.sofort.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'Sofort'SetupFutureUsage'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.us_bank_account@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' { -- | financial_connections postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'), -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'), -- | verification_method postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("financial_connections" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("verification_method" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("financial_connections" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("verification_method" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'" (\obj -> ((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "financial_connections")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "verification_method")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount' { postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.us_bank_account.properties.financial_connections@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' { -- | permissions postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions :: (GHC.Maybe.Maybe ([PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("permissions" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("permissions" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "permissions")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections' {postCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions = GHC.Maybe.Nothing} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.us_bank_account.properties.financial_connections.properties.permissions.items@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"balances"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumBalances | -- | Represents the JSON value @"ownership"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumOwnership | -- | Represents the JSON value @"payment_method"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumPaymentMethod | -- | Represents the JSON value @"transactions"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumTransactions deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumBalances) = "balances" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumOwnership) = "ownership" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumPaymentMethod) = "payment_method" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumTransactions) = "transactions" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "balances" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumBalances | val GHC.Classes.== "ownership" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumOwnership | val GHC.Classes.== "payment_method" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumPaymentMethod | val GHC.Classes.== "transactions" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'EnumTransactions | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'FinancialConnections'Permissions'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.us_bank_account.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumNone | -- | Represents the JSON value @"off_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumOffSession | -- | Represents the JSON value @"on_session"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumOnSession deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumNone) = "none" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumOffSession) = "off_session" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumOnSession) = "on_session" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumNone | val GHC.Classes.== "off_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumOffSession | val GHC.Classes.== "on_session" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'EnumOnSession | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'SetupFutureUsage'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.us_bank_account.properties.verification_method@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"automatic"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'EnumAutomatic | -- | Represents the JSON value @"instant"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'EnumInstant deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'EnumAutomatic) = "automatic" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'EnumInstant) = "instant" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "automatic" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'EnumAutomatic | val GHC.Classes.== "instant" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'EnumInstant | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'UsBankAccount'VerificationMethod'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.wechat_pay@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' = PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' { -- | app_id -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'AppId :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | client postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client :: PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client', -- | setup_future_usage postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("app_id" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'AppId obj) : ["client" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("app_id" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'AppId obj) : ["client" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("setup_future_usage" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'" (\obj -> ((GHC.Base.pure PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "app_id")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "client")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "setup_future_usage")) -- | Create a new 'PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'' with all required fields. mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' :: -- | 'postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client' PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client' -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' mkPostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client = PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay' { postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'AppId = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client = postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client, postCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage = GHC.Maybe.Nothing } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.wechat_pay.properties.client@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"android"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumAndroid | -- | Represents the JSON value @"ios"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumIos | -- | Represents the JSON value @"web"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumWeb deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumAndroid) = "android" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumIos) = "ios" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumWeb) = "web" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "android" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumAndroid | val GHC.Classes.== "ios" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumIos | val GHC.Classes.== "web" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'EnumWeb | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'Client'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_options.properties.wechat_pay.properties.setup_future_usage@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"none"@ PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage'EnumNone deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage'EnumNone) = "none" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "none" -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage'EnumNone | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodOptions'WechatPay'SetupFutureUsage'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.payment_method_types.items@ in the specification. data PostCheckoutSessionsRequestBodyPaymentMethodTypes' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyPaymentMethodTypes'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyPaymentMethodTypes'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"acss_debit"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAcssDebit | -- | Represents the JSON value @"affirm"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAffirm | -- | Represents the JSON value @"afterpay_clearpay"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAfterpayClearpay | -- | Represents the JSON value @"alipay"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAlipay | -- | Represents the JSON value @"au_becs_debit"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAuBecsDebit | -- | Represents the JSON value @"bacs_debit"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBacsDebit | -- | Represents the JSON value @"bancontact"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBancontact | -- | Represents the JSON value @"boleto"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBoleto | -- | Represents the JSON value @"card"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumCard | -- | Represents the JSON value @"eps"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumEps | -- | Represents the JSON value @"fpx"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumFpx | -- | Represents the JSON value @"giropay"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumGiropay | -- | Represents the JSON value @"grabpay"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumGrabpay | -- | Represents the JSON value @"ideal"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumIdeal | -- | Represents the JSON value @"klarna"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumKlarna | -- | Represents the JSON value @"konbini"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumKonbini | -- | Represents the JSON value @"oxxo"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumOxxo | -- | Represents the JSON value @"p24"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumP24 | -- | Represents the JSON value @"paynow"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumPaynow | -- | Represents the JSON value @"promptpay"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumPromptpay | -- | Represents the JSON value @"sepa_debit"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumSepaDebit | -- | Represents the JSON value @"sofort"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumSofort | -- | Represents the JSON value @"us_bank_account"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumUsBankAccount | -- | Represents the JSON value @"wechat_pay"@ PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumWechatPay deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPaymentMethodTypes' where toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'Other val) = val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAcssDebit) = "acss_debit" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAffirm) = "affirm" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAfterpayClearpay) = "afterpay_clearpay" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAlipay) = "alipay" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAuBecsDebit) = "au_becs_debit" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBacsDebit) = "bacs_debit" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBancontact) = "bancontact" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBoleto) = "boleto" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumCard) = "card" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumEps) = "eps" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumFpx) = "fpx" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumGiropay) = "giropay" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumGrabpay) = "grabpay" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumIdeal) = "ideal" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumKlarna) = "klarna" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumKonbini) = "konbini" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumOxxo) = "oxxo" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumP24) = "p24" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumPaynow) = "paynow" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumPromptpay) = "promptpay" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumSepaDebit) = "sepa_debit" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumSofort) = "sofort" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumUsBankAccount) = "us_bank_account" toJSON (PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumWechatPay) = "wechat_pay" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPaymentMethodTypes' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "acss_debit" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAcssDebit | val GHC.Classes.== "affirm" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAffirm | val GHC.Classes.== "afterpay_clearpay" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAfterpayClearpay | val GHC.Classes.== "alipay" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAlipay | val GHC.Classes.== "au_becs_debit" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumAuBecsDebit | val GHC.Classes.== "bacs_debit" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBacsDebit | val GHC.Classes.== "bancontact" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBancontact | val GHC.Classes.== "boleto" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumBoleto | val GHC.Classes.== "card" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumCard | val GHC.Classes.== "eps" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumEps | val GHC.Classes.== "fpx" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumFpx | val GHC.Classes.== "giropay" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumGiropay | val GHC.Classes.== "grabpay" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumGrabpay | val GHC.Classes.== "ideal" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumIdeal | val GHC.Classes.== "klarna" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumKlarna | val GHC.Classes.== "konbini" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumKonbini | val GHC.Classes.== "oxxo" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumOxxo | val GHC.Classes.== "p24" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumP24 | val GHC.Classes.== "paynow" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumPaynow | val GHC.Classes.== "promptpay" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumPromptpay | val GHC.Classes.== "sepa_debit" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumSepaDebit | val GHC.Classes.== "sofort" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumSofort | val GHC.Classes.== "us_bank_account" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumUsBankAccount | val GHC.Classes.== "wechat_pay" -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'EnumWechatPay | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyPaymentMethodTypes'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.phone_number_collection@ in the specification. -- -- Controls phone number collection settings for the session. -- -- We recommend that you review your privacy policy and check with your legal contacts -- before using this feature. Learn more about [collecting phone numbers with Checkout](https:\/\/stripe.com\/docs\/payments\/checkout\/phone-numbers). data PostCheckoutSessionsRequestBodyPhoneNumberCollection' = PostCheckoutSessionsRequestBodyPhoneNumberCollection' { -- | enabled postCheckoutSessionsRequestBodyPhoneNumberCollection'Enabled :: GHC.Types.Bool } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyPhoneNumberCollection' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPhoneNumberCollection'Enabled obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyPhoneNumberCollection'Enabled obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyPhoneNumberCollection' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyPhoneNumberCollection'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyPhoneNumberCollection' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "enabled")) -- | Create a new 'PostCheckoutSessionsRequestBodyPhoneNumberCollection'' with all required fields. mkPostCheckoutSessionsRequestBodyPhoneNumberCollection' :: -- | 'postCheckoutSessionsRequestBodyPhoneNumberCollection'Enabled' GHC.Types.Bool -> PostCheckoutSessionsRequestBodyPhoneNumberCollection' mkPostCheckoutSessionsRequestBodyPhoneNumberCollection' postCheckoutSessionsRequestBodyPhoneNumberCollection'Enabled = PostCheckoutSessionsRequestBodyPhoneNumberCollection' {postCheckoutSessionsRequestBodyPhoneNumberCollection'Enabled = postCheckoutSessionsRequestBodyPhoneNumberCollection'Enabled} -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.setup_intent_data@ in the specification. -- -- A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in \`setup\` mode. data PostCheckoutSessionsRequestBodySetupIntentData' = PostCheckoutSessionsRequestBodySetupIntentData' { -- | description -- -- Constraints: -- -- * Maximum length of 1000 postCheckoutSessionsRequestBodySetupIntentData'Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | metadata postCheckoutSessionsRequestBodySetupIntentData'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | on_behalf_of postCheckoutSessionsRequestBodySetupIntentData'OnBehalfOf :: (GHC.Maybe.Maybe Data.Text.Internal.Text) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodySetupIntentData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySetupIntentData'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySetupIntentData'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("on_behalf_of" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySetupIntentData'OnBehalfOf obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySetupIntentData'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySetupIntentData'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("on_behalf_of" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySetupIntentData'OnBehalfOf obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodySetupIntentData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodySetupIntentData'" (\obj -> ((GHC.Base.pure PostCheckoutSessionsRequestBodySetupIntentData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "description")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "on_behalf_of")) -- | Create a new 'PostCheckoutSessionsRequestBodySetupIntentData'' with all required fields. mkPostCheckoutSessionsRequestBodySetupIntentData' :: PostCheckoutSessionsRequestBodySetupIntentData' mkPostCheckoutSessionsRequestBodySetupIntentData' = PostCheckoutSessionsRequestBodySetupIntentData' { postCheckoutSessionsRequestBodySetupIntentData'Description = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySetupIntentData'Metadata = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySetupIntentData'OnBehalfOf = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_address_collection@ in the specification. -- -- When set, provides configuration for Checkout to collect a shipping address from a customer. data PostCheckoutSessionsRequestBodyShippingAddressCollection' = PostCheckoutSessionsRequestBodyShippingAddressCollection' { -- | allowed_countries postCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries :: ([PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries']) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingAddressCollection' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["allowed_countries" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["allowed_countries" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingAddressCollection' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyShippingAddressCollection'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyShippingAddressCollection' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "allowed_countries")) -- | Create a new 'PostCheckoutSessionsRequestBodyShippingAddressCollection'' with all required fields. mkPostCheckoutSessionsRequestBodyShippingAddressCollection' :: -- | 'postCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries' [PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'] -> PostCheckoutSessionsRequestBodyShippingAddressCollection' mkPostCheckoutSessionsRequestBodyShippingAddressCollection' postCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries = PostCheckoutSessionsRequestBodyShippingAddressCollection' {postCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries = postCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries} -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_address_collection.properties.allowed_countries.items@ in the specification. data PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"AC"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAC | -- | Represents the JSON value @"AD"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAD | -- | Represents the JSON value @"AE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAE | -- | Represents the JSON value @"AF"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAF | -- | Represents the JSON value @"AG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAG | -- | Represents the JSON value @"AI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAI | -- | Represents the JSON value @"AL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAL | -- | Represents the JSON value @"AM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAM | -- | Represents the JSON value @"AO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAO | -- | Represents the JSON value @"AQ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAQ | -- | Represents the JSON value @"AR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAR | -- | Represents the JSON value @"AT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAT | -- | Represents the JSON value @"AU"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAU | -- | Represents the JSON value @"AW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAW | -- | Represents the JSON value @"AX"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAX | -- | Represents the JSON value @"AZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAZ | -- | Represents the JSON value @"BA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBA | -- | Represents the JSON value @"BB"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBB | -- | Represents the JSON value @"BD"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBD | -- | Represents the JSON value @"BE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBE | -- | Represents the JSON value @"BF"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBF | -- | Represents the JSON value @"BG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBG | -- | Represents the JSON value @"BH"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBH | -- | Represents the JSON value @"BI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBI | -- | Represents the JSON value @"BJ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBJ | -- | Represents the JSON value @"BL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBL | -- | Represents the JSON value @"BM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBM | -- | Represents the JSON value @"BN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBN | -- | Represents the JSON value @"BO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBO | -- | Represents the JSON value @"BQ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBQ | -- | Represents the JSON value @"BR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBR | -- | Represents the JSON value @"BS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBS | -- | Represents the JSON value @"BT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBT | -- | Represents the JSON value @"BV"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBV | -- | Represents the JSON value @"BW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBW | -- | Represents the JSON value @"BY"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBY | -- | Represents the JSON value @"BZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBZ | -- | Represents the JSON value @"CA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCA | -- | Represents the JSON value @"CD"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCD | -- | Represents the JSON value @"CF"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCF | -- | Represents the JSON value @"CG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCG | -- | Represents the JSON value @"CH"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCH | -- | Represents the JSON value @"CI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCI | -- | Represents the JSON value @"CK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCK | -- | Represents the JSON value @"CL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCL | -- | Represents the JSON value @"CM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCM | -- | Represents the JSON value @"CN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCN | -- | Represents the JSON value @"CO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCO | -- | Represents the JSON value @"CR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCR | -- | Represents the JSON value @"CV"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCV | -- | Represents the JSON value @"CW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCW | -- | Represents the JSON value @"CY"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCY | -- | Represents the JSON value @"CZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCZ | -- | Represents the JSON value @"DE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDE | -- | Represents the JSON value @"DJ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDJ | -- | Represents the JSON value @"DK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDK | -- | Represents the JSON value @"DM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDM | -- | Represents the JSON value @"DO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDO | -- | Represents the JSON value @"DZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDZ | -- | Represents the JSON value @"EC"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEC | -- | Represents the JSON value @"EE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEE | -- | Represents the JSON value @"EG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEG | -- | Represents the JSON value @"EH"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEH | -- | Represents the JSON value @"ER"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumER | -- | Represents the JSON value @"ES"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumES | -- | Represents the JSON value @"ET"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumET | -- | Represents the JSON value @"FI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFI | -- | Represents the JSON value @"FJ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFJ | -- | Represents the JSON value @"FK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFK | -- | Represents the JSON value @"FO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFO | -- | Represents the JSON value @"FR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFR | -- | Represents the JSON value @"GA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGA | -- | Represents the JSON value @"GB"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGB | -- | Represents the JSON value @"GD"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGD | -- | Represents the JSON value @"GE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGE | -- | Represents the JSON value @"GF"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGF | -- | Represents the JSON value @"GG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGG | -- | Represents the JSON value @"GH"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGH | -- | Represents the JSON value @"GI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGI | -- | Represents the JSON value @"GL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGL | -- | Represents the JSON value @"GM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGM | -- | Represents the JSON value @"GN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGN | -- | Represents the JSON value @"GP"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGP | -- | Represents the JSON value @"GQ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGQ | -- | Represents the JSON value @"GR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGR | -- | Represents the JSON value @"GS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGS | -- | Represents the JSON value @"GT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGT | -- | Represents the JSON value @"GU"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGU | -- | Represents the JSON value @"GW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGW | -- | Represents the JSON value @"GY"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGY | -- | Represents the JSON value @"HK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHK | -- | Represents the JSON value @"HN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHN | -- | Represents the JSON value @"HR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHR | -- | Represents the JSON value @"HT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHT | -- | Represents the JSON value @"HU"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHU | -- | Represents the JSON value @"ID"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumID | -- | Represents the JSON value @"IE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIE | -- | Represents the JSON value @"IL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIL | -- | Represents the JSON value @"IM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIM | -- | Represents the JSON value @"IN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIN | -- | Represents the JSON value @"IO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIO | -- | Represents the JSON value @"IQ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIQ | -- | Represents the JSON value @"IS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIS | -- | Represents the JSON value @"IT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIT | -- | Represents the JSON value @"JE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJE | -- | Represents the JSON value @"JM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJM | -- | Represents the JSON value @"JO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJO | -- | Represents the JSON value @"JP"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJP | -- | Represents the JSON value @"KE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKE | -- | Represents the JSON value @"KG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKG | -- | Represents the JSON value @"KH"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKH | -- | Represents the JSON value @"KI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKI | -- | Represents the JSON value @"KM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKM | -- | Represents the JSON value @"KN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKN | -- | Represents the JSON value @"KR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKR | -- | Represents the JSON value @"KW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKW | -- | Represents the JSON value @"KY"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKY | -- | Represents the JSON value @"KZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKZ | -- | Represents the JSON value @"LA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLA | -- | Represents the JSON value @"LB"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLB | -- | Represents the JSON value @"LC"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLC | -- | Represents the JSON value @"LI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLI | -- | Represents the JSON value @"LK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLK | -- | Represents the JSON value @"LR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLR | -- | Represents the JSON value @"LS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLS | -- | Represents the JSON value @"LT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLT | -- | Represents the JSON value @"LU"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLU | -- | Represents the JSON value @"LV"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLV | -- | Represents the JSON value @"LY"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLY | -- | Represents the JSON value @"MA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMA | -- | Represents the JSON value @"MC"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMC | -- | Represents the JSON value @"MD"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMD | -- | Represents the JSON value @"ME"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumME | -- | Represents the JSON value @"MF"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMF | -- | Represents the JSON value @"MG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMG | -- | Represents the JSON value @"MK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMK | -- | Represents the JSON value @"ML"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumML | -- | Represents the JSON value @"MM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMM | -- | Represents the JSON value @"MN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMN | -- | Represents the JSON value @"MO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMO | -- | Represents the JSON value @"MQ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMQ | -- | Represents the JSON value @"MR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMR | -- | Represents the JSON value @"MS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMS | -- | Represents the JSON value @"MT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMT | -- | Represents the JSON value @"MU"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMU | -- | Represents the JSON value @"MV"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMV | -- | Represents the JSON value @"MW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMW | -- | Represents the JSON value @"MX"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMX | -- | Represents the JSON value @"MY"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMY | -- | Represents the JSON value @"MZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMZ | -- | Represents the JSON value @"NA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNA | -- | Represents the JSON value @"NC"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNC | -- | Represents the JSON value @"NE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNE | -- | Represents the JSON value @"NG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNG | -- | Represents the JSON value @"NI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNI | -- | Represents the JSON value @"NL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNL | -- | Represents the JSON value @"NO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNO | -- | Represents the JSON value @"NP"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNP | -- | Represents the JSON value @"NR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNR | -- | Represents the JSON value @"NU"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNU | -- | Represents the JSON value @"NZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNZ | -- | Represents the JSON value @"OM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumOM | -- | Represents the JSON value @"PA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPA | -- | Represents the JSON value @"PE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPE | -- | Represents the JSON value @"PF"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPF | -- | Represents the JSON value @"PG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPG | -- | Represents the JSON value @"PH"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPH | -- | Represents the JSON value @"PK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPK | -- | Represents the JSON value @"PL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPL | -- | Represents the JSON value @"PM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPM | -- | Represents the JSON value @"PN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPN | -- | Represents the JSON value @"PR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPR | -- | Represents the JSON value @"PS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPS | -- | Represents the JSON value @"PT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPT | -- | Represents the JSON value @"PY"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPY | -- | Represents the JSON value @"QA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumQA | -- | Represents the JSON value @"RE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRE | -- | Represents the JSON value @"RO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRO | -- | Represents the JSON value @"RS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRS | -- | Represents the JSON value @"RU"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRU | -- | Represents the JSON value @"RW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRW | -- | Represents the JSON value @"SA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSA | -- | Represents the JSON value @"SB"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSB | -- | Represents the JSON value @"SC"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSC | -- | Represents the JSON value @"SE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSE | -- | Represents the JSON value @"SG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSG | -- | Represents the JSON value @"SH"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSH | -- | Represents the JSON value @"SI"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSI | -- | Represents the JSON value @"SJ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSJ | -- | Represents the JSON value @"SK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSK | -- | Represents the JSON value @"SL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSL | -- | Represents the JSON value @"SM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSM | -- | Represents the JSON value @"SN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSN | -- | Represents the JSON value @"SO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSO | -- | Represents the JSON value @"SR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSR | -- | Represents the JSON value @"SS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSS | -- | Represents the JSON value @"ST"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumST | -- | Represents the JSON value @"SV"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSV | -- | Represents the JSON value @"SX"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSX | -- | Represents the JSON value @"SZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSZ | -- | Represents the JSON value @"TA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTA | -- | Represents the JSON value @"TC"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTC | -- | Represents the JSON value @"TD"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTD | -- | Represents the JSON value @"TF"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTF | -- | Represents the JSON value @"TG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTG | -- | Represents the JSON value @"TH"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTH | -- | Represents the JSON value @"TJ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTJ | -- | Represents the JSON value @"TK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTK | -- | Represents the JSON value @"TL"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTL | -- | Represents the JSON value @"TM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTM | -- | Represents the JSON value @"TN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTN | -- | Represents the JSON value @"TO"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTO | -- | Represents the JSON value @"TR"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTR | -- | Represents the JSON value @"TT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTT | -- | Represents the JSON value @"TV"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTV | -- | Represents the JSON value @"TW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTW | -- | Represents the JSON value @"TZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTZ | -- | Represents the JSON value @"UA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUA | -- | Represents the JSON value @"UG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUG | -- | Represents the JSON value @"US"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUS | -- | Represents the JSON value @"UY"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUY | -- | Represents the JSON value @"UZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUZ | -- | Represents the JSON value @"VA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVA | -- | Represents the JSON value @"VC"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVC | -- | Represents the JSON value @"VE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVE | -- | Represents the JSON value @"VG"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVG | -- | Represents the JSON value @"VN"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVN | -- | Represents the JSON value @"VU"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVU | -- | Represents the JSON value @"WF"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumWF | -- | Represents the JSON value @"WS"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumWS | -- | Represents the JSON value @"XK"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumXK | -- | Represents the JSON value @"YE"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumYE | -- | Represents the JSON value @"YT"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumYT | -- | Represents the JSON value @"ZA"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZA | -- | Represents the JSON value @"ZM"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZM | -- | Represents the JSON value @"ZW"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZW | -- | Represents the JSON value @"ZZ"@ PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZZ deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries' where toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'Other val) = val toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAC) = "AC" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAD) = "AD" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAE) = "AE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAF) = "AF" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAG) = "AG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAI) = "AI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAL) = "AL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAM) = "AM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAO) = "AO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAQ) = "AQ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAR) = "AR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAT) = "AT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAU) = "AU" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAW) = "AW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAX) = "AX" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAZ) = "AZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBA) = "BA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBB) = "BB" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBD) = "BD" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBE) = "BE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBF) = "BF" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBG) = "BG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBH) = "BH" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBI) = "BI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBJ) = "BJ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBL) = "BL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBM) = "BM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBN) = "BN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBO) = "BO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBQ) = "BQ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBR) = "BR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBS) = "BS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBT) = "BT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBV) = "BV" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBW) = "BW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBY) = "BY" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBZ) = "BZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCA) = "CA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCD) = "CD" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCF) = "CF" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCG) = "CG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCH) = "CH" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCI) = "CI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCK) = "CK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCL) = "CL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCM) = "CM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCN) = "CN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCO) = "CO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCR) = "CR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCV) = "CV" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCW) = "CW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCY) = "CY" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCZ) = "CZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDE) = "DE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDJ) = "DJ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDK) = "DK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDM) = "DM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDO) = "DO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDZ) = "DZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEC) = "EC" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEE) = "EE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEG) = "EG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEH) = "EH" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumER) = "ER" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumES) = "ES" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumET) = "ET" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFI) = "FI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFJ) = "FJ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFK) = "FK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFO) = "FO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFR) = "FR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGA) = "GA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGB) = "GB" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGD) = "GD" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGE) = "GE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGF) = "GF" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGG) = "GG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGH) = "GH" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGI) = "GI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGL) = "GL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGM) = "GM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGN) = "GN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGP) = "GP" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGQ) = "GQ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGR) = "GR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGS) = "GS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGT) = "GT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGU) = "GU" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGW) = "GW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGY) = "GY" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHK) = "HK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHN) = "HN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHR) = "HR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHT) = "HT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHU) = "HU" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumID) = "ID" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIE) = "IE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIL) = "IL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIM) = "IM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIN) = "IN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIO) = "IO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIQ) = "IQ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIS) = "IS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIT) = "IT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJE) = "JE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJM) = "JM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJO) = "JO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJP) = "JP" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKE) = "KE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKG) = "KG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKH) = "KH" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKI) = "KI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKM) = "KM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKN) = "KN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKR) = "KR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKW) = "KW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKY) = "KY" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKZ) = "KZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLA) = "LA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLB) = "LB" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLC) = "LC" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLI) = "LI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLK) = "LK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLR) = "LR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLS) = "LS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLT) = "LT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLU) = "LU" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLV) = "LV" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLY) = "LY" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMA) = "MA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMC) = "MC" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMD) = "MD" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumME) = "ME" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMF) = "MF" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMG) = "MG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMK) = "MK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumML) = "ML" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMM) = "MM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMN) = "MN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMO) = "MO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMQ) = "MQ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMR) = "MR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMS) = "MS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMT) = "MT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMU) = "MU" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMV) = "MV" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMW) = "MW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMX) = "MX" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMY) = "MY" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMZ) = "MZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNA) = "NA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNC) = "NC" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNE) = "NE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNG) = "NG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNI) = "NI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNL) = "NL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNO) = "NO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNP) = "NP" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNR) = "NR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNU) = "NU" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNZ) = "NZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumOM) = "OM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPA) = "PA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPE) = "PE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPF) = "PF" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPG) = "PG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPH) = "PH" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPK) = "PK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPL) = "PL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPM) = "PM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPN) = "PN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPR) = "PR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPS) = "PS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPT) = "PT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPY) = "PY" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumQA) = "QA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRE) = "RE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRO) = "RO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRS) = "RS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRU) = "RU" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRW) = "RW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSA) = "SA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSB) = "SB" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSC) = "SC" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSE) = "SE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSG) = "SG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSH) = "SH" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSI) = "SI" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSJ) = "SJ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSK) = "SK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSL) = "SL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSM) = "SM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSN) = "SN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSO) = "SO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSR) = "SR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSS) = "SS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumST) = "ST" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSV) = "SV" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSX) = "SX" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSZ) = "SZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTA) = "TA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTC) = "TC" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTD) = "TD" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTF) = "TF" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTG) = "TG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTH) = "TH" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTJ) = "TJ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTK) = "TK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTL) = "TL" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTM) = "TM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTN) = "TN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTO) = "TO" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTR) = "TR" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTT) = "TT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTV) = "TV" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTW) = "TW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTZ) = "TZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUA) = "UA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUG) = "UG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUS) = "US" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUY) = "UY" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUZ) = "UZ" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVA) = "VA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVC) = "VC" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVE) = "VE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVG) = "VG" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVN) = "VN" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVU) = "VU" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumWF) = "WF" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumWS) = "WS" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumXK) = "XK" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumYE) = "YE" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumYT) = "YT" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZA) = "ZA" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZM) = "ZM" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZW) = "ZW" toJSON (PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZZ) = "ZZ" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "AC" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAC | val GHC.Classes.== "AD" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAD | val GHC.Classes.== "AE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAE | val GHC.Classes.== "AF" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAF | val GHC.Classes.== "AG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAG | val GHC.Classes.== "AI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAI | val GHC.Classes.== "AL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAL | val GHC.Classes.== "AM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAM | val GHC.Classes.== "AO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAO | val GHC.Classes.== "AQ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAQ | val GHC.Classes.== "AR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAR | val GHC.Classes.== "AT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAT | val GHC.Classes.== "AU" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAU | val GHC.Classes.== "AW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAW | val GHC.Classes.== "AX" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAX | val GHC.Classes.== "AZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumAZ | val GHC.Classes.== "BA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBA | val GHC.Classes.== "BB" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBB | val GHC.Classes.== "BD" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBD | val GHC.Classes.== "BE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBE | val GHC.Classes.== "BF" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBF | val GHC.Classes.== "BG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBG | val GHC.Classes.== "BH" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBH | val GHC.Classes.== "BI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBI | val GHC.Classes.== "BJ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBJ | val GHC.Classes.== "BL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBL | val GHC.Classes.== "BM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBM | val GHC.Classes.== "BN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBN | val GHC.Classes.== "BO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBO | val GHC.Classes.== "BQ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBQ | val GHC.Classes.== "BR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBR | val GHC.Classes.== "BS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBS | val GHC.Classes.== "BT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBT | val GHC.Classes.== "BV" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBV | val GHC.Classes.== "BW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBW | val GHC.Classes.== "BY" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBY | val GHC.Classes.== "BZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumBZ | val GHC.Classes.== "CA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCA | val GHC.Classes.== "CD" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCD | val GHC.Classes.== "CF" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCF | val GHC.Classes.== "CG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCG | val GHC.Classes.== "CH" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCH | val GHC.Classes.== "CI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCI | val GHC.Classes.== "CK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCK | val GHC.Classes.== "CL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCL | val GHC.Classes.== "CM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCM | val GHC.Classes.== "CN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCN | val GHC.Classes.== "CO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCO | val GHC.Classes.== "CR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCR | val GHC.Classes.== "CV" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCV | val GHC.Classes.== "CW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCW | val GHC.Classes.== "CY" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCY | val GHC.Classes.== "CZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumCZ | val GHC.Classes.== "DE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDE | val GHC.Classes.== "DJ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDJ | val GHC.Classes.== "DK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDK | val GHC.Classes.== "DM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDM | val GHC.Classes.== "DO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDO | val GHC.Classes.== "DZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumDZ | val GHC.Classes.== "EC" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEC | val GHC.Classes.== "EE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEE | val GHC.Classes.== "EG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEG | val GHC.Classes.== "EH" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumEH | val GHC.Classes.== "ER" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumER | val GHC.Classes.== "ES" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumES | val GHC.Classes.== "ET" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumET | val GHC.Classes.== "FI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFI | val GHC.Classes.== "FJ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFJ | val GHC.Classes.== "FK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFK | val GHC.Classes.== "FO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFO | val GHC.Classes.== "FR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumFR | val GHC.Classes.== "GA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGA | val GHC.Classes.== "GB" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGB | val GHC.Classes.== "GD" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGD | val GHC.Classes.== "GE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGE | val GHC.Classes.== "GF" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGF | val GHC.Classes.== "GG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGG | val GHC.Classes.== "GH" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGH | val GHC.Classes.== "GI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGI | val GHC.Classes.== "GL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGL | val GHC.Classes.== "GM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGM | val GHC.Classes.== "GN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGN | val GHC.Classes.== "GP" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGP | val GHC.Classes.== "GQ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGQ | val GHC.Classes.== "GR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGR | val GHC.Classes.== "GS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGS | val GHC.Classes.== "GT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGT | val GHC.Classes.== "GU" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGU | val GHC.Classes.== "GW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGW | val GHC.Classes.== "GY" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumGY | val GHC.Classes.== "HK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHK | val GHC.Classes.== "HN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHN | val GHC.Classes.== "HR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHR | val GHC.Classes.== "HT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHT | val GHC.Classes.== "HU" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumHU | val GHC.Classes.== "ID" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumID | val GHC.Classes.== "IE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIE | val GHC.Classes.== "IL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIL | val GHC.Classes.== "IM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIM | val GHC.Classes.== "IN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIN | val GHC.Classes.== "IO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIO | val GHC.Classes.== "IQ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIQ | val GHC.Classes.== "IS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIS | val GHC.Classes.== "IT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumIT | val GHC.Classes.== "JE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJE | val GHC.Classes.== "JM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJM | val GHC.Classes.== "JO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJO | val GHC.Classes.== "JP" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumJP | val GHC.Classes.== "KE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKE | val GHC.Classes.== "KG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKG | val GHC.Classes.== "KH" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKH | val GHC.Classes.== "KI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKI | val GHC.Classes.== "KM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKM | val GHC.Classes.== "KN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKN | val GHC.Classes.== "KR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKR | val GHC.Classes.== "KW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKW | val GHC.Classes.== "KY" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKY | val GHC.Classes.== "KZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumKZ | val GHC.Classes.== "LA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLA | val GHC.Classes.== "LB" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLB | val GHC.Classes.== "LC" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLC | val GHC.Classes.== "LI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLI | val GHC.Classes.== "LK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLK | val GHC.Classes.== "LR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLR | val GHC.Classes.== "LS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLS | val GHC.Classes.== "LT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLT | val GHC.Classes.== "LU" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLU | val GHC.Classes.== "LV" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLV | val GHC.Classes.== "LY" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumLY | val GHC.Classes.== "MA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMA | val GHC.Classes.== "MC" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMC | val GHC.Classes.== "MD" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMD | val GHC.Classes.== "ME" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumME | val GHC.Classes.== "MF" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMF | val GHC.Classes.== "MG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMG | val GHC.Classes.== "MK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMK | val GHC.Classes.== "ML" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumML | val GHC.Classes.== "MM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMM | val GHC.Classes.== "MN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMN | val GHC.Classes.== "MO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMO | val GHC.Classes.== "MQ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMQ | val GHC.Classes.== "MR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMR | val GHC.Classes.== "MS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMS | val GHC.Classes.== "MT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMT | val GHC.Classes.== "MU" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMU | val GHC.Classes.== "MV" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMV | val GHC.Classes.== "MW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMW | val GHC.Classes.== "MX" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMX | val GHC.Classes.== "MY" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMY | val GHC.Classes.== "MZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumMZ | val GHC.Classes.== "NA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNA | val GHC.Classes.== "NC" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNC | val GHC.Classes.== "NE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNE | val GHC.Classes.== "NG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNG | val GHC.Classes.== "NI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNI | val GHC.Classes.== "NL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNL | val GHC.Classes.== "NO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNO | val GHC.Classes.== "NP" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNP | val GHC.Classes.== "NR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNR | val GHC.Classes.== "NU" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNU | val GHC.Classes.== "NZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumNZ | val GHC.Classes.== "OM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumOM | val GHC.Classes.== "PA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPA | val GHC.Classes.== "PE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPE | val GHC.Classes.== "PF" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPF | val GHC.Classes.== "PG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPG | val GHC.Classes.== "PH" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPH | val GHC.Classes.== "PK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPK | val GHC.Classes.== "PL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPL | val GHC.Classes.== "PM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPM | val GHC.Classes.== "PN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPN | val GHC.Classes.== "PR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPR | val GHC.Classes.== "PS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPS | val GHC.Classes.== "PT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPT | val GHC.Classes.== "PY" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumPY | val GHC.Classes.== "QA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumQA | val GHC.Classes.== "RE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRE | val GHC.Classes.== "RO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRO | val GHC.Classes.== "RS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRS | val GHC.Classes.== "RU" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRU | val GHC.Classes.== "RW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumRW | val GHC.Classes.== "SA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSA | val GHC.Classes.== "SB" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSB | val GHC.Classes.== "SC" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSC | val GHC.Classes.== "SE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSE | val GHC.Classes.== "SG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSG | val GHC.Classes.== "SH" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSH | val GHC.Classes.== "SI" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSI | val GHC.Classes.== "SJ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSJ | val GHC.Classes.== "SK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSK | val GHC.Classes.== "SL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSL | val GHC.Classes.== "SM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSM | val GHC.Classes.== "SN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSN | val GHC.Classes.== "SO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSO | val GHC.Classes.== "SR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSR | val GHC.Classes.== "SS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSS | val GHC.Classes.== "ST" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumST | val GHC.Classes.== "SV" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSV | val GHC.Classes.== "SX" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSX | val GHC.Classes.== "SZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumSZ | val GHC.Classes.== "TA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTA | val GHC.Classes.== "TC" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTC | val GHC.Classes.== "TD" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTD | val GHC.Classes.== "TF" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTF | val GHC.Classes.== "TG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTG | val GHC.Classes.== "TH" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTH | val GHC.Classes.== "TJ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTJ | val GHC.Classes.== "TK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTK | val GHC.Classes.== "TL" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTL | val GHC.Classes.== "TM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTM | val GHC.Classes.== "TN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTN | val GHC.Classes.== "TO" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTO | val GHC.Classes.== "TR" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTR | val GHC.Classes.== "TT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTT | val GHC.Classes.== "TV" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTV | val GHC.Classes.== "TW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTW | val GHC.Classes.== "TZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumTZ | val GHC.Classes.== "UA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUA | val GHC.Classes.== "UG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUG | val GHC.Classes.== "US" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUS | val GHC.Classes.== "UY" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUY | val GHC.Classes.== "UZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumUZ | val GHC.Classes.== "VA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVA | val GHC.Classes.== "VC" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVC | val GHC.Classes.== "VE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVE | val GHC.Classes.== "VG" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVG | val GHC.Classes.== "VN" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVN | val GHC.Classes.== "VU" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumVU | val GHC.Classes.== "WF" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumWF | val GHC.Classes.== "WS" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumWS | val GHC.Classes.== "XK" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumXK | val GHC.Classes.== "YE" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumYE | val GHC.Classes.== "YT" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumYT | val GHC.Classes.== "ZA" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZA | val GHC.Classes.== "ZM" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZM | val GHC.Classes.== "ZW" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZW | val GHC.Classes.== "ZZ" -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'EnumZZ | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyShippingAddressCollection'AllowedCountries'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions' = PostCheckoutSessionsRequestBodyShippingOptions' { -- | shipping_rate -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodyShippingOptions'ShippingRate :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | shipping_rate_data postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping_rate" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping_rate_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping_rate" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("shipping_rate_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyShippingOptions'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyShippingOptions' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "shipping_rate")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "shipping_rate_data")) -- | Create a new 'PostCheckoutSessionsRequestBodyShippingOptions'' with all required fields. mkPostCheckoutSessionsRequestBodyShippingOptions' :: PostCheckoutSessionsRequestBodyShippingOptions' mkPostCheckoutSessionsRequestBodyShippingOptions' = PostCheckoutSessionsRequestBodyShippingOptions' { postCheckoutSessionsRequestBodyShippingOptions'ShippingRate = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' { -- | delivery_estimate postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'), -- | display_name -- -- Constraints: -- -- * Maximum length of 100 postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DisplayName :: Data.Text.Internal.Text, -- | fixed_amount postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'), -- | metadata postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | tax_behavior postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'), -- | tax_code postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxCode :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | type postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("delivery_estimate" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate obj) : ["display_name" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DisplayName obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("fixed_amount" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_behavior" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_code" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("type" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("delivery_estimate" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate obj) : ["display_name" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DisplayName obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("fixed_amount" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_behavior" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_code" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("type" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'" (\obj -> ((((((GHC.Base.pure PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "delivery_estimate")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "display_name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "fixed_amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_behavior")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "type")) -- | Create a new 'PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'' with all required fields. mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' :: -- | 'postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DisplayName' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DisplayName = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData' { postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DisplayName = postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DisplayName, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Metadata = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxCode = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data.properties.delivery_estimate@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' { -- | maximum postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'), -- | minimum postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum') } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("maximum" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("minimum" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("maximum" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("minimum" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "maximum")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "minimum")) -- | Create a new 'PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'' with all required fields. mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' :: PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate' { postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data.properties.delivery_estimate.properties.maximum@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' { -- | unit postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit :: PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit', -- | value postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Value :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["unit" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit obj] : ["value" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Value obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["unit" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit obj] : ["value" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Value obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "unit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "value")) -- | Create a new 'PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'' with all required fields. mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' :: -- | 'postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit' PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit' -> -- | 'postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Value' GHC.Types.Int -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Value = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum' { postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit = postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Value = postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Value } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data.properties.delivery_estimate.properties.maximum.properties.unit@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"business_day"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumBusinessDay | -- | Represents the JSON value @"day"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumDay | -- | Represents the JSON value @"hour"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumHour | -- | Represents the JSON value @"month"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumMonth | -- | Represents the JSON value @"week"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumWeek deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit' where toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'Other val) = val toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumBusinessDay) = "business_day" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumDay) = "day" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumHour) = "hour" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumMonth) = "month" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumWeek) = "week" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "business_day" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumBusinessDay | val GHC.Classes.== "day" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumDay | val GHC.Classes.== "hour" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumHour | val GHC.Classes.== "month" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumMonth | val GHC.Classes.== "week" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'EnumWeek | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Maximum'Unit'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data.properties.delivery_estimate.properties.minimum@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' { -- | unit postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit :: PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit', -- | value postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Value :: GHC.Types.Int } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["unit" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit obj] : ["value" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Value obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["unit" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit obj] : ["value" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Value obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "unit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "value")) -- | Create a new 'PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'' with all required fields. mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' :: -- | 'postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit' PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit' -> -- | 'postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Value' GHC.Types.Int -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Value = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum' { postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit = postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Value = postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Value } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data.properties.delivery_estimate.properties.minimum.properties.unit@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"business_day"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumBusinessDay | -- | Represents the JSON value @"day"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumDay | -- | Represents the JSON value @"hour"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumHour | -- | Represents the JSON value @"month"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumMonth | -- | Represents the JSON value @"week"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumWeek deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit' where toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'Other val) = val toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumBusinessDay) = "business_day" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumDay) = "day" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumHour) = "hour" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumMonth) = "month" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumWeek) = "week" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "business_day" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumBusinessDay | val GHC.Classes.== "day" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumDay | val GHC.Classes.== "hour" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumHour | val GHC.Classes.== "month" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumMonth | val GHC.Classes.== "week" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'EnumWeek | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'DeliveryEstimate'Minimum'Unit'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data.properties.fixed_amount@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' { -- | amount postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Amount :: GHC.Types.Int, -- | currency postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Currency :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["amount" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Amount obj] : ["currency" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Currency obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["amount" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Amount obj] : ["currency" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Currency obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "amount")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "currency")) -- | Create a new 'PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'' with all required fields. mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' :: -- | 'postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Amount' GHC.Types.Int -> -- | 'postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Currency' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' mkPostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Amount postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Currency = PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount' { postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Amount = postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Amount, postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Currency = postCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'FixedAmount'Currency } -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data.properties.tax_behavior@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"exclusive"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumExclusive | -- | Represents the JSON value @"inclusive"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumInclusive | -- | Represents the JSON value @"unspecified"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumUnspecified deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior' where toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'Other val) = val toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumExclusive) = "exclusive" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumInclusive) = "inclusive" toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumUnspecified) = "unspecified" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "exclusive" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumExclusive | val GHC.Classes.== "inclusive" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumInclusive | val GHC.Classes.== "unspecified" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'EnumUnspecified | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'TaxBehavior'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.shipping_options.items.properties.shipping_rate_data.properties.type@ in the specification. data PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"fixed_amount"@ PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type'EnumFixedAmount deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type' where toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type'Other val) = val toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type'EnumFixedAmount) = "fixed_amount" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "fixed_amount" -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type'EnumFixedAmount | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodyShippingOptions'ShippingRateData'Type'Other val ) -- | Defines the enum schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.submit_type@ in the specification. -- -- 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 PostCheckoutSessionsRequestBodySubmitType' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. PostCheckoutSessionsRequestBodySubmitType'Other Data.Aeson.Types.Internal.Value | -- | This constructor can be used to send values to the server which are not present in the specification yet. PostCheckoutSessionsRequestBodySubmitType'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"auto"@ PostCheckoutSessionsRequestBodySubmitType'EnumAuto | -- | Represents the JSON value @"book"@ PostCheckoutSessionsRequestBodySubmitType'EnumBook | -- | Represents the JSON value @"donate"@ PostCheckoutSessionsRequestBodySubmitType'EnumDonate | -- | Represents the JSON value @"pay"@ PostCheckoutSessionsRequestBodySubmitType'EnumPay deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodySubmitType' where toJSON (PostCheckoutSessionsRequestBodySubmitType'Other val) = val toJSON (PostCheckoutSessionsRequestBodySubmitType'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (PostCheckoutSessionsRequestBodySubmitType'EnumAuto) = "auto" toJSON (PostCheckoutSessionsRequestBodySubmitType'EnumBook) = "book" toJSON (PostCheckoutSessionsRequestBodySubmitType'EnumDonate) = "donate" toJSON (PostCheckoutSessionsRequestBodySubmitType'EnumPay) = "pay" instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodySubmitType' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "auto" -> PostCheckoutSessionsRequestBodySubmitType'EnumAuto | val GHC.Classes.== "book" -> PostCheckoutSessionsRequestBodySubmitType'EnumBook | val GHC.Classes.== "donate" -> PostCheckoutSessionsRequestBodySubmitType'EnumDonate | val GHC.Classes.== "pay" -> PostCheckoutSessionsRequestBodySubmitType'EnumPay | GHC.Base.otherwise -> PostCheckoutSessionsRequestBodySubmitType'Other val ) -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.subscription_data@ in the specification. -- -- A subset of parameters to be passed to subscription creation for Checkout Sessions in \`subscription\` mode. data PostCheckoutSessionsRequestBodySubscriptionData' = PostCheckoutSessionsRequestBodySubscriptionData' { -- | application_fee_percent postCheckoutSessionsRequestBodySubscriptionData'ApplicationFeePercent :: (GHC.Maybe.Maybe GHC.Types.Double), -- | default_tax_rates postCheckoutSessionsRequestBodySubscriptionData'DefaultTaxRates :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])), -- | description -- -- Constraints: -- -- * Maximum length of 500 postCheckoutSessionsRequestBodySubscriptionData'Description :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | items postCheckoutSessionsRequestBodySubscriptionData'Items :: (GHC.Maybe.Maybe ([PostCheckoutSessionsRequestBodySubscriptionData'Items'])), -- | metadata postCheckoutSessionsRequestBodySubscriptionData'Metadata :: (GHC.Maybe.Maybe Data.Aeson.Types.Internal.Object), -- | transfer_data postCheckoutSessionsRequestBodySubscriptionData'TransferData :: (GHC.Maybe.Maybe PostCheckoutSessionsRequestBodySubscriptionData'TransferData'), -- | trial_end postCheckoutSessionsRequestBodySubscriptionData'TrialEnd :: (GHC.Maybe.Maybe GHC.Types.Int), -- | trial_period_days postCheckoutSessionsRequestBodySubscriptionData'TrialPeriodDays :: (GHC.Maybe.Maybe GHC.Types.Int) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodySubscriptionData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("application_fee_percent" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'ApplicationFeePercent obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("default_tax_rates" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'DefaultTaxRates obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("items" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Items obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("transfer_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'TransferData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("trial_end" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'TrialEnd obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("trial_period_days" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'TrialPeriodDays obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("application_fee_percent" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'ApplicationFeePercent obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("default_tax_rates" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'DefaultTaxRates obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("description" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Description obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("items" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Items obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("metadata" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Metadata obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("transfer_data" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'TransferData obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("trial_end" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'TrialEnd obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("trial_period_days" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'TrialPeriodDays obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodySubscriptionData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodySubscriptionData'" (\obj -> (((((((GHC.Base.pure PostCheckoutSessionsRequestBodySubscriptionData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "application_fee_percent")) 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..:! "items")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "metadata")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "transfer_data")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "trial_end")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "trial_period_days")) -- | Create a new 'PostCheckoutSessionsRequestBodySubscriptionData'' with all required fields. mkPostCheckoutSessionsRequestBodySubscriptionData' :: PostCheckoutSessionsRequestBodySubscriptionData' mkPostCheckoutSessionsRequestBodySubscriptionData' = PostCheckoutSessionsRequestBodySubscriptionData' { postCheckoutSessionsRequestBodySubscriptionData'ApplicationFeePercent = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'DefaultTaxRates = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'Description = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'Items = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'Metadata = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'TransferData = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'TrialEnd = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'TrialPeriodDays = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.subscription_data.properties.items.items@ in the specification. data PostCheckoutSessionsRequestBodySubscriptionData'Items' = PostCheckoutSessionsRequestBodySubscriptionData'Items' { -- | plan -- -- Constraints: -- -- * Maximum length of 5000 postCheckoutSessionsRequestBodySubscriptionData'Items'Plan :: Data.Text.Internal.Text, -- | quantity postCheckoutSessionsRequestBodySubscriptionData'Items'Quantity :: (GHC.Maybe.Maybe GHC.Types.Int), -- | tax_rates postCheckoutSessionsRequestBodySubscriptionData'Items'TaxRates :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodySubscriptionData'Items' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["plan" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodySubscriptionData'Items'Plan obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("quantity" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Items'Quantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_rates" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Items'TaxRates obj) : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["plan" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodySubscriptionData'Items'Plan obj] : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("quantity" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Items'Quantity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_rates" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'Items'TaxRates obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodySubscriptionData'Items' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodySubscriptionData'Items'" (\obj -> ((GHC.Base.pure PostCheckoutSessionsRequestBodySubscriptionData'Items' 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")) -- | Create a new 'PostCheckoutSessionsRequestBodySubscriptionData'Items'' with all required fields. mkPostCheckoutSessionsRequestBodySubscriptionData'Items' :: -- | 'postCheckoutSessionsRequestBodySubscriptionData'Items'Plan' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodySubscriptionData'Items' mkPostCheckoutSessionsRequestBodySubscriptionData'Items' postCheckoutSessionsRequestBodySubscriptionData'Items'Plan = PostCheckoutSessionsRequestBodySubscriptionData'Items' { postCheckoutSessionsRequestBodySubscriptionData'Items'Plan = postCheckoutSessionsRequestBodySubscriptionData'Items'Plan, postCheckoutSessionsRequestBodySubscriptionData'Items'Quantity = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'Items'TaxRates = GHC.Maybe.Nothing } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.subscription_data.properties.transfer_data@ in the specification. data PostCheckoutSessionsRequestBodySubscriptionData'TransferData' = PostCheckoutSessionsRequestBodySubscriptionData'TransferData' { -- | amount_percent postCheckoutSessionsRequestBodySubscriptionData'TransferData'AmountPercent :: (GHC.Maybe.Maybe GHC.Types.Double), -- | destination postCheckoutSessionsRequestBodySubscriptionData'TransferData'Destination :: Data.Text.Internal.Text } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodySubscriptionData'TransferData' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("amount_percent" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'TransferData'AmountPercent obj) : ["destination" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodySubscriptionData'TransferData'Destination obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("amount_percent" Data.Aeson.Types.ToJSON..=)) (postCheckoutSessionsRequestBodySubscriptionData'TransferData'AmountPercent obj) : ["destination" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodySubscriptionData'TransferData'Destination obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodySubscriptionData'TransferData' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodySubscriptionData'TransferData'" (\obj -> (GHC.Base.pure PostCheckoutSessionsRequestBodySubscriptionData'TransferData' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "amount_percent")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "destination")) -- | Create a new 'PostCheckoutSessionsRequestBodySubscriptionData'TransferData'' with all required fields. mkPostCheckoutSessionsRequestBodySubscriptionData'TransferData' :: -- | 'postCheckoutSessionsRequestBodySubscriptionData'TransferData'Destination' Data.Text.Internal.Text -> PostCheckoutSessionsRequestBodySubscriptionData'TransferData' mkPostCheckoutSessionsRequestBodySubscriptionData'TransferData' postCheckoutSessionsRequestBodySubscriptionData'TransferData'Destination = PostCheckoutSessionsRequestBodySubscriptionData'TransferData' { postCheckoutSessionsRequestBodySubscriptionData'TransferData'AmountPercent = GHC.Maybe.Nothing, postCheckoutSessionsRequestBodySubscriptionData'TransferData'Destination = postCheckoutSessionsRequestBodySubscriptionData'TransferData'Destination } -- | Defines the object schema located at @paths.\/v1\/checkout\/sessions.POST.requestBody.content.application\/x-www-form-urlencoded.schema.properties.tax_id_collection@ in the specification. -- -- Controls tax ID collection settings for the session. data PostCheckoutSessionsRequestBodyTaxIdCollection' = PostCheckoutSessionsRequestBodyTaxIdCollection' { -- | enabled postCheckoutSessionsRequestBodyTaxIdCollection'Enabled :: GHC.Types.Bool } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON PostCheckoutSessionsRequestBodyTaxIdCollection' where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyTaxIdCollection'Enabled obj] : GHC.Base.mempty)) toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (["enabled" Data.Aeson.Types.ToJSON..= postCheckoutSessionsRequestBodyTaxIdCollection'Enabled obj] : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON PostCheckoutSessionsRequestBodyTaxIdCollection' where parseJSON = Data.Aeson.Types.FromJSON.withObject "PostCheckoutSessionsRequestBodyTaxIdCollection'" (\obj -> GHC.Base.pure PostCheckoutSessionsRequestBodyTaxIdCollection' GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..: "enabled")) -- | Create a new 'PostCheckoutSessionsRequestBodyTaxIdCollection'' with all required fields. mkPostCheckoutSessionsRequestBodyTaxIdCollection' :: -- | 'postCheckoutSessionsRequestBodyTaxIdCollection'Enabled' GHC.Types.Bool -> PostCheckoutSessionsRequestBodyTaxIdCollection' mkPostCheckoutSessionsRequestBodyTaxIdCollection' postCheckoutSessionsRequestBodyTaxIdCollection'Enabled = PostCheckoutSessionsRequestBodyTaxIdCollection' {postCheckoutSessionsRequestBodyTaxIdCollection'Enabled = postCheckoutSessionsRequestBodyTaxIdCollection'Enabled} -- | Represents a response of the operation 'postCheckoutSessions'. -- -- The response constructor is chosen by the status code of the response. If no case matches (no specific case for the response code, no range case, no default case), 'PostCheckoutSessionsResponseError' is used. data PostCheckoutSessionsResponse = -- | Means either no matching case available or a parse error PostCheckoutSessionsResponseError GHC.Base.String | -- | Successful response. PostCheckoutSessionsResponse200 Checkout'session | -- | Error response. PostCheckoutSessionsResponseDefault Error deriving (GHC.Show.Show, GHC.Classes.Eq)