{-# LANGUAGE MultiWayIf #-} -- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator. {-# LANGUAGE OverloadedStrings #-} -- | Contains the types generated from the schema LegalEntityCompany module StripeAPI.Types.LegalEntityCompany where import qualified Control.Monad.Fail import qualified Data.Aeson import qualified Data.Aeson as Data.Aeson.Encoding.Internal import qualified Data.Aeson as Data.Aeson.Types import qualified Data.Aeson as Data.Aeson.Types.FromJSON import qualified Data.Aeson as Data.Aeson.Types.Internal import qualified Data.Aeson as Data.Aeson.Types.ToJSON import qualified Data.ByteString.Char8 import qualified Data.ByteString.Char8 as Data.ByteString.Internal import qualified Data.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 GHC.Base import qualified GHC.Classes import qualified GHC.Int import qualified GHC.Show import qualified GHC.Types import qualified StripeAPI.Common import StripeAPI.TypeAlias import {-# SOURCE #-} StripeAPI.Types.Address import {-# SOURCE #-} StripeAPI.Types.LegalEntityCompanyVerification import {-# SOURCE #-} StripeAPI.Types.LegalEntityCompanyVerificationDocument import {-# SOURCE #-} StripeAPI.Types.LegalEntityJapanAddress import {-# SOURCE #-} StripeAPI.Types.LegalEntityUboDeclaration import qualified Prelude as GHC.Integer.Type import qualified Prelude as GHC.Maybe -- | Defines the object schema located at @components.schemas.legal_entity_company@ in the specification. data LegalEntityCompany = LegalEntityCompany { -- | address: legalEntityCompanyAddress :: (GHC.Maybe.Maybe Address), -- | address_kana: The Kana variation of the company\'s primary address (Japan only). legalEntityCompanyAddressKana :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable LegalEntityCompanyAddressKana'NonNullable)), -- | address_kanji: The Kanji variation of the company\'s primary address (Japan only). legalEntityCompanyAddressKanji :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable LegalEntityCompanyAddressKanji'NonNullable)), -- | directors_provided: Whether the company\'s directors have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all directors are provided via [the \`directors_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-directors_provided). legalEntityCompanyDirectorsProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | executives_provided: Whether the company\'s executives have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all executives are provided via [the \`executives_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-executives_provided), or if Stripe determined that sufficient executives were provided. legalEntityCompanyExecutivesProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | name: The company\'s legal name. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyName :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | name_kana: The Kana variation of the company\'s legal name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyNameKana :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | name_kanji: The Kanji variation of the company\'s legal name (Japan only). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyNameKanji :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | owners_provided: Whether the company\'s owners have been provided. This Boolean will be \`true\` if you\'ve manually indicated that all owners are provided via [the \`owners_provided\` parameter](https:\/\/stripe.com\/docs\/api\/accounts\/update\#update_account-company-owners_provided), or if Stripe determined that sufficient owners were provided. Stripe determines ownership requirements using both the number of owners provided and their total percent ownership (calculated by adding the \`percent_ownership\` of each owner together). legalEntityCompanyOwnersProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | ownership_declaration: This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. legalEntityCompanyOwnershipDeclaration :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable LegalEntityCompanyOwnershipDeclaration'NonNullable)), -- | phone: The company\'s phone number (used for verification). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyPhone :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | structure: The category identifying the legal structure of the company or legal entity. See [Business structure](https:\/\/stripe.com\/docs\/connect\/identity-verification\#business-structure) for more details. legalEntityCompanyStructure :: (GHC.Maybe.Maybe LegalEntityCompanyStructure'), -- | tax_id_provided: Whether the company\'s business ID number was provided. legalEntityCompanyTaxIdProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | tax_id_registrar: The jurisdiction in which the \`tax_id\` is registered (Germany-based companies only). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyTaxIdRegistrar :: (GHC.Maybe.Maybe Data.Text.Internal.Text), -- | vat_id_provided: Whether the company\'s business VAT number was provided. legalEntityCompanyVatIdProvided :: (GHC.Maybe.Maybe GHC.Types.Bool), -- | verification: Information on the verification state of the company. legalEntityCompanyVerification :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable LegalEntityCompanyVerification'NonNullable)) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompany 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..=)) (legalEntityCompanyAddress obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("address_kana" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("address_kanji" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("directors_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyDirectorsProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("executives_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyExecutivesProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("name" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyName obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("name_kana" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyNameKana obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("name_kanji" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyNameKanji obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("owners_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnersProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("ownership_declaration" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnershipDeclaration obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("phone" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyPhone obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("structure" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyStructure obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_id_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyTaxIdProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_id_registrar" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyTaxIdRegistrar obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("vat_id_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyVatIdProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("verification" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyVerification 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..=)) (legalEntityCompanyAddress obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("address_kana" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("address_kanji" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("directors_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyDirectorsProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("executives_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyExecutivesProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("name" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyName obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("name_kana" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyNameKana obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("name_kanji" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyNameKanji obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("owners_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnersProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("ownership_declaration" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnershipDeclaration obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("phone" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyPhone obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("structure" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyStructure obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_id_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyTaxIdProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("tax_id_registrar" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyTaxIdRegistrar obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("vat_id_provided" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyVatIdProvided obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("verification" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyVerification obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompany where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompany" (\obj -> (((((((((((((((GHC.Base.pure LegalEntityCompany GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "address")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "address_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "address_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "directors_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "executives_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "name")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "name_kana")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "name_kanji")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "owners_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "ownership_declaration")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "phone")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "structure")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_id_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "tax_id_registrar")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "vat_id_provided")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "verification")) -- | Create a new 'LegalEntityCompany' with all required fields. mkLegalEntityCompany :: LegalEntityCompany mkLegalEntityCompany = LegalEntityCompany { legalEntityCompanyAddress = GHC.Maybe.Nothing, legalEntityCompanyAddressKana = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji = GHC.Maybe.Nothing, legalEntityCompanyDirectorsProvided = GHC.Maybe.Nothing, legalEntityCompanyExecutivesProvided = GHC.Maybe.Nothing, legalEntityCompanyName = GHC.Maybe.Nothing, legalEntityCompanyNameKana = GHC.Maybe.Nothing, legalEntityCompanyNameKanji = GHC.Maybe.Nothing, legalEntityCompanyOwnersProvided = GHC.Maybe.Nothing, legalEntityCompanyOwnershipDeclaration = GHC.Maybe.Nothing, legalEntityCompanyPhone = GHC.Maybe.Nothing, legalEntityCompanyStructure = GHC.Maybe.Nothing, legalEntityCompanyTaxIdProvided = GHC.Maybe.Nothing, legalEntityCompanyTaxIdRegistrar = GHC.Maybe.Nothing, legalEntityCompanyVatIdProvided = GHC.Maybe.Nothing, legalEntityCompanyVerification = GHC.Maybe.Nothing } -- | Defines the object schema located at @components.schemas.legal_entity_company.properties.address_kana.anyOf@ in the specification. -- -- The Kana variation of the company\\\'s primary address (Japan only). data LegalEntityCompanyAddressKana'NonNullable = LegalEntityCompanyAddressKana'NonNullable { -- | city: City\/Ward. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'NonNullableCity :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'NonNullableCountry :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | line1: Block\/Building number. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'NonNullableLine1 :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | line2: Building details. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'NonNullableLine2 :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'NonNullablePostalCode :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | state: Prefecture. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'NonNullableState :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | town: Town\/cho-me. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKana'NonNullableTown :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyAddressKana'NonNullable 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..=)) (legalEntityCompanyAddressKana'NonNullableCity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableCountry obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line1" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableLine1 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableLine2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullablePostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableState obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("town" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableTown 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..=)) (legalEntityCompanyAddressKana'NonNullableCity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableCountry obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line1" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableLine1 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableLine2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullablePostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableState obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("town" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKana'NonNullableTown obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyAddressKana'NonNullable where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyAddressKana'NonNullable" (\obj -> ((((((GHC.Base.pure LegalEntityCompanyAddressKana'NonNullable GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "town")) -- | Create a new 'LegalEntityCompanyAddressKana'NonNullable' with all required fields. mkLegalEntityCompanyAddressKana'NonNullable :: LegalEntityCompanyAddressKana'NonNullable mkLegalEntityCompanyAddressKana'NonNullable = LegalEntityCompanyAddressKana'NonNullable { legalEntityCompanyAddressKana'NonNullableCity = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'NonNullableCountry = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'NonNullableLine1 = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'NonNullableLine2 = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'NonNullablePostalCode = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'NonNullableState = GHC.Maybe.Nothing, legalEntityCompanyAddressKana'NonNullableTown = GHC.Maybe.Nothing } -- | Defines the object schema located at @components.schemas.legal_entity_company.properties.address_kanji.anyOf@ in the specification. -- -- The Kanji variation of the company\\\'s primary address (Japan only). data LegalEntityCompanyAddressKanji'NonNullable = LegalEntityCompanyAddressKanji'NonNullable { -- | city: City\/Ward. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'NonNullableCity :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | country: Two-letter country code ([ISO 3166-1 alpha-2](https:\/\/en.wikipedia.org\/wiki\/ISO_3166-1_alpha-2)). -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'NonNullableCountry :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | line1: Block\/Building number. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'NonNullableLine1 :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | line2: Building details. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'NonNullableLine2 :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | postal_code: ZIP or postal code. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'NonNullablePostalCode :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | state: Prefecture. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'NonNullableState :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | town: Town\/cho-me. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyAddressKanji'NonNullableTown :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyAddressKanji'NonNullable 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..=)) (legalEntityCompanyAddressKanji'NonNullableCity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableCountry obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line1" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableLine1 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableLine2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullablePostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableState obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("town" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableTown 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..=)) (legalEntityCompanyAddressKanji'NonNullableCity obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("country" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableCountry obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line1" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableLine1 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("line2" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableLine2 obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("postal_code" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullablePostalCode obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("state" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableState obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("town" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyAddressKanji'NonNullableTown obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyAddressKanji'NonNullable where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyAddressKanji'NonNullable" (\obj -> ((((((GHC.Base.pure LegalEntityCompanyAddressKanji'NonNullable GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "city")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "country")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line1")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "line2")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "postal_code")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "state")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "town")) -- | Create a new 'LegalEntityCompanyAddressKanji'NonNullable' with all required fields. mkLegalEntityCompanyAddressKanji'NonNullable :: LegalEntityCompanyAddressKanji'NonNullable mkLegalEntityCompanyAddressKanji'NonNullable = LegalEntityCompanyAddressKanji'NonNullable { legalEntityCompanyAddressKanji'NonNullableCity = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'NonNullableCountry = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'NonNullableLine1 = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'NonNullableLine2 = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'NonNullablePostalCode = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'NonNullableState = GHC.Maybe.Nothing, legalEntityCompanyAddressKanji'NonNullableTown = GHC.Maybe.Nothing } -- | Defines the object schema located at @components.schemas.legal_entity_company.properties.ownership_declaration.anyOf@ in the specification. -- -- This hash is used to attest that the beneficial owner information provided to Stripe is both current and correct. data LegalEntityCompanyOwnershipDeclaration'NonNullable = LegalEntityCompanyOwnershipDeclaration'NonNullable { -- | date: The Unix timestamp marking when the beneficial owner attestation was made. legalEntityCompanyOwnershipDeclaration'NonNullableDate :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable GHC.Types.Int)), -- | ip: The IP address from which the beneficial owner attestation was made. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyOwnershipDeclaration'NonNullableIp :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)), -- | user_agent: The user-agent string from the browser where the beneficial owner attestation was made. -- -- Constraints: -- -- * Maximum length of 5000 legalEntityCompanyOwnershipDeclaration'NonNullableUserAgent :: (GHC.Maybe.Maybe (StripeAPI.Common.Nullable Data.Text.Internal.Text)) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyOwnershipDeclaration'NonNullable where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("date" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnershipDeclaration'NonNullableDate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("ip" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnershipDeclaration'NonNullableIp obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("user_agent" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnershipDeclaration'NonNullableUserAgent 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.. ("date" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnershipDeclaration'NonNullableDate obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("ip" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnershipDeclaration'NonNullableIp obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("user_agent" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyOwnershipDeclaration'NonNullableUserAgent obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyOwnershipDeclaration'NonNullable where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyOwnershipDeclaration'NonNullable" (\obj -> ((GHC.Base.pure LegalEntityCompanyOwnershipDeclaration'NonNullable GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "date")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "ip")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "user_agent")) -- | Create a new 'LegalEntityCompanyOwnershipDeclaration'NonNullable' with all required fields. mkLegalEntityCompanyOwnershipDeclaration'NonNullable :: LegalEntityCompanyOwnershipDeclaration'NonNullable mkLegalEntityCompanyOwnershipDeclaration'NonNullable = LegalEntityCompanyOwnershipDeclaration'NonNullable { legalEntityCompanyOwnershipDeclaration'NonNullableDate = GHC.Maybe.Nothing, legalEntityCompanyOwnershipDeclaration'NonNullableIp = GHC.Maybe.Nothing, legalEntityCompanyOwnershipDeclaration'NonNullableUserAgent = GHC.Maybe.Nothing } -- | Defines the enum schema located at @components.schemas.legal_entity_company.properties.structure@ in the specification. -- -- The category identifying the legal structure of the company or legal entity. See [Business structure](https:\/\/stripe.com\/docs\/connect\/identity-verification\#business-structure) for more details. data LegalEntityCompanyStructure' = -- | This case is used if the value encountered during decoding does not match any of the provided cases in the specification. LegalEntityCompanyStructure'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. LegalEntityCompanyStructure'Typed Data.Text.Internal.Text | -- | Represents the JSON value @"free_zone_establishment"@ LegalEntityCompanyStructure'EnumFreeZoneEstablishment | -- | Represents the JSON value @"free_zone_llc"@ LegalEntityCompanyStructure'EnumFreeZoneLlc | -- | Represents the JSON value @"government_instrumentality"@ LegalEntityCompanyStructure'EnumGovernmentInstrumentality | -- | Represents the JSON value @"governmental_unit"@ LegalEntityCompanyStructure'EnumGovernmentalUnit | -- | Represents the JSON value @"incorporated_non_profit"@ LegalEntityCompanyStructure'EnumIncorporatedNonProfit | -- | Represents the JSON value @"limited_liability_partnership"@ LegalEntityCompanyStructure'EnumLimitedLiabilityPartnership | -- | Represents the JSON value @"llc"@ LegalEntityCompanyStructure'EnumLlc | -- | Represents the JSON value @"multi_member_llc"@ LegalEntityCompanyStructure'EnumMultiMemberLlc | -- | Represents the JSON value @"private_company"@ LegalEntityCompanyStructure'EnumPrivateCompany | -- | Represents the JSON value @"private_corporation"@ LegalEntityCompanyStructure'EnumPrivateCorporation | -- | Represents the JSON value @"private_partnership"@ LegalEntityCompanyStructure'EnumPrivatePartnership | -- | Represents the JSON value @"public_company"@ LegalEntityCompanyStructure'EnumPublicCompany | -- | Represents the JSON value @"public_corporation"@ LegalEntityCompanyStructure'EnumPublicCorporation | -- | Represents the JSON value @"public_partnership"@ LegalEntityCompanyStructure'EnumPublicPartnership | -- | Represents the JSON value @"single_member_llc"@ LegalEntityCompanyStructure'EnumSingleMemberLlc | -- | Represents the JSON value @"sole_establishment"@ LegalEntityCompanyStructure'EnumSoleEstablishment | -- | Represents the JSON value @"sole_proprietorship"@ LegalEntityCompanyStructure'EnumSoleProprietorship | -- | Represents the JSON value @"tax_exempt_government_instrumentality"@ LegalEntityCompanyStructure'EnumTaxExemptGovernmentInstrumentality | -- | Represents the JSON value @"unincorporated_association"@ LegalEntityCompanyStructure'EnumUnincorporatedAssociation | -- | Represents the JSON value @"unincorporated_non_profit"@ LegalEntityCompanyStructure'EnumUnincorporatedNonProfit deriving (GHC.Show.Show, GHC.Classes.Eq) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyStructure' where toJSON (LegalEntityCompanyStructure'Other val) = val toJSON (LegalEntityCompanyStructure'Typed val) = Data.Aeson.Types.ToJSON.toJSON val toJSON (LegalEntityCompanyStructure'EnumFreeZoneEstablishment) = "free_zone_establishment" toJSON (LegalEntityCompanyStructure'EnumFreeZoneLlc) = "free_zone_llc" toJSON (LegalEntityCompanyStructure'EnumGovernmentInstrumentality) = "government_instrumentality" toJSON (LegalEntityCompanyStructure'EnumGovernmentalUnit) = "governmental_unit" toJSON (LegalEntityCompanyStructure'EnumIncorporatedNonProfit) = "incorporated_non_profit" toJSON (LegalEntityCompanyStructure'EnumLimitedLiabilityPartnership) = "limited_liability_partnership" toJSON (LegalEntityCompanyStructure'EnumLlc) = "llc" toJSON (LegalEntityCompanyStructure'EnumMultiMemberLlc) = "multi_member_llc" toJSON (LegalEntityCompanyStructure'EnumPrivateCompany) = "private_company" toJSON (LegalEntityCompanyStructure'EnumPrivateCorporation) = "private_corporation" toJSON (LegalEntityCompanyStructure'EnumPrivatePartnership) = "private_partnership" toJSON (LegalEntityCompanyStructure'EnumPublicCompany) = "public_company" toJSON (LegalEntityCompanyStructure'EnumPublicCorporation) = "public_corporation" toJSON (LegalEntityCompanyStructure'EnumPublicPartnership) = "public_partnership" toJSON (LegalEntityCompanyStructure'EnumSingleMemberLlc) = "single_member_llc" toJSON (LegalEntityCompanyStructure'EnumSoleEstablishment) = "sole_establishment" toJSON (LegalEntityCompanyStructure'EnumSoleProprietorship) = "sole_proprietorship" toJSON (LegalEntityCompanyStructure'EnumTaxExemptGovernmentInstrumentality) = "tax_exempt_government_instrumentality" toJSON (LegalEntityCompanyStructure'EnumUnincorporatedAssociation) = "unincorporated_association" toJSON (LegalEntityCompanyStructure'EnumUnincorporatedNonProfit) = "unincorporated_non_profit" instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyStructure' where parseJSON val = GHC.Base.pure ( if | val GHC.Classes.== "free_zone_establishment" -> LegalEntityCompanyStructure'EnumFreeZoneEstablishment | val GHC.Classes.== "free_zone_llc" -> LegalEntityCompanyStructure'EnumFreeZoneLlc | val GHC.Classes.== "government_instrumentality" -> LegalEntityCompanyStructure'EnumGovernmentInstrumentality | val GHC.Classes.== "governmental_unit" -> LegalEntityCompanyStructure'EnumGovernmentalUnit | val GHC.Classes.== "incorporated_non_profit" -> LegalEntityCompanyStructure'EnumIncorporatedNonProfit | val GHC.Classes.== "limited_liability_partnership" -> LegalEntityCompanyStructure'EnumLimitedLiabilityPartnership | val GHC.Classes.== "llc" -> LegalEntityCompanyStructure'EnumLlc | val GHC.Classes.== "multi_member_llc" -> LegalEntityCompanyStructure'EnumMultiMemberLlc | val GHC.Classes.== "private_company" -> LegalEntityCompanyStructure'EnumPrivateCompany | val GHC.Classes.== "private_corporation" -> LegalEntityCompanyStructure'EnumPrivateCorporation | val GHC.Classes.== "private_partnership" -> LegalEntityCompanyStructure'EnumPrivatePartnership | val GHC.Classes.== "public_company" -> LegalEntityCompanyStructure'EnumPublicCompany | val GHC.Classes.== "public_corporation" -> LegalEntityCompanyStructure'EnumPublicCorporation | val GHC.Classes.== "public_partnership" -> LegalEntityCompanyStructure'EnumPublicPartnership | val GHC.Classes.== "single_member_llc" -> LegalEntityCompanyStructure'EnumSingleMemberLlc | val GHC.Classes.== "sole_establishment" -> LegalEntityCompanyStructure'EnumSoleEstablishment | val GHC.Classes.== "sole_proprietorship" -> LegalEntityCompanyStructure'EnumSoleProprietorship | val GHC.Classes.== "tax_exempt_government_instrumentality" -> LegalEntityCompanyStructure'EnumTaxExemptGovernmentInstrumentality | val GHC.Classes.== "unincorporated_association" -> LegalEntityCompanyStructure'EnumUnincorporatedAssociation | val GHC.Classes.== "unincorporated_non_profit" -> LegalEntityCompanyStructure'EnumUnincorporatedNonProfit | GHC.Base.otherwise -> LegalEntityCompanyStructure'Other val ) -- | Defines the object schema located at @components.schemas.legal_entity_company.properties.verification.anyOf@ in the specification. -- -- Information on the verification state of the company. data LegalEntityCompanyVerification'NonNullable = LegalEntityCompanyVerification'NonNullable { -- | document: legalEntityCompanyVerification'NonNullableDocument :: (GHC.Maybe.Maybe LegalEntityCompanyVerificationDocument) } deriving ( GHC.Show.Show, GHC.Classes.Eq ) instance Data.Aeson.Types.ToJSON.ToJSON LegalEntityCompanyVerification'NonNullable where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("document" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyVerification'NonNullableDocument 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.. ("document" Data.Aeson.Types.ToJSON..=)) (legalEntityCompanyVerification'NonNullableDocument obj) : GHC.Base.mempty))) instance Data.Aeson.Types.FromJSON.FromJSON LegalEntityCompanyVerification'NonNullable where parseJSON = Data.Aeson.Types.FromJSON.withObject "LegalEntityCompanyVerification'NonNullable" (\obj -> GHC.Base.pure LegalEntityCompanyVerification'NonNullable GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "document")) -- | Create a new 'LegalEntityCompanyVerification'NonNullable' with all required fields. mkLegalEntityCompanyVerification'NonNullable :: LegalEntityCompanyVerification'NonNullable mkLegalEntityCompanyVerification'NonNullable = LegalEntityCompanyVerification'NonNullable {legalEntityCompanyVerification'NonNullableDocument = GHC.Maybe.Nothing}