
    _j                         d dl Z d dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
mZmZmZ d dlmZmZ erd dlmZ  G d	 d
ed
                   ZdS )    N)ExpandableField)StripeObject)UpdateableAPIResource)sanitize_id)ClassVarDictListOptional)LiteralTYPE_CHECKING)Filec                      e Zd ZU dZdZeed                  ed<    G d de          Z	 G d de          Z
 G d d	e          Z G d
 de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Z G d de          Zee         ed<   	 ee	         ed<   ee
         ed<   ee         ed<   	 ee         ed<   	 eed<   	 eed                   ed!<   	 ee         ed"<   ee         ed#<   	 ee         ed$<   	 ee         ed%<   	 ee         ed&<   	 eee                  ed'<   	 ee         ed(<   	 ee         ed)<   	 eed*<   	 ee         ed+<   	 ee         ed,<   	 ee         ed-<   	 ee         ed.<   	 ee         ed/<   	 ee         ed0<   	 eeeef                  ed1<   	 ee         ed2<   	 ed         ed3<   	 ee         ed4<   	 eed5                  ed6<   	 ee         ed7<   ee         ed8<   ee         ed9<   	 ee         ed:<   	 ee         ed;<   	 ee         ed<<   d= Zed>             Zed?             Ze	e
eeeeeeeeed@ZdAS )BPersona@  
    This is an object representing a person associated with a Stripe account.

    A platform can only access a subset of data in a person for an account where [account.controller.requirement_collection](https://docs.stripe.com/api/accounts/object#account_object-controller-requirement_collection) is `stripe`, which includes Standard and Express accounts, after creating an Account Link or Account Session to start Connect onboarding.

    See the [Standard onboarding](https://docs.stripe.com/connect/standard-accounts) or [Express onboarding](https://docs.stripe.com/connect/express-accounts) documentation for information about prefilling information and account onboarding steps. Learn more about [handling identity verification with the API](https://docs.stripe.com/connect/handling-api-verification#person-information).
    personOBJECT_NAMEc                   L    e Zd ZU  G d de          Zee         ed<   	 deiZdS )Person.AdditionalTosAcceptancesc                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )'Person.AdditionalTosAcceptances.Accountdateip
user_agentN)__name__
__module____qualname__r
   int__annotations__str     R/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/_person.pyAccountr      sT         3-  !%%% r    r"   accountN)r   r   r   r   r"   r
   r   _inner_class_typesr   r    r!   AdditionalTosAcceptancesr      sa         	 	 	 	 	l 	 	 	 '""""	 (1r    r%   c                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )Person.Addresscitycountryline1line2postal_codestateNr   r   r   r
   r   r   r   r    r!   Addressr'   /            sm	 #	 }	 }	 c]"""	 }	 	r    r/   c                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )	Person.AddressKanar(   r)   r*   r+   r,   r-   townNr.   r   r    r!   AddressKanar2   I            sm	 #	 }	 }	 c]"""	 }	 sm	 	r    r4   c                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )	Person.AddressKanjir(   r)   r*   r+   r,   r-   r3   Nr.   r   r    r!   AddressKanjir7   g   r5   r    r8   c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )
Person.DobdaymonthyearN)r   r   r   r
   r   r   r   r    r!   Dobr:      sT         c]	 }	 sm	 	r    r>   c                       e Zd ZU  G d de          Z G d de          Zeee                  ed<   	 ee	         ed<   	 ee         ed<   	 ee	         ed<   	 ee	         ed	<   	 ee	         ed
<   	 eedZ
dS )Person.FutureRequirementsc                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )%Person.FutureRequirements.Alternativealternative_fields_dueoriginal_fields_dueNr   r   r   r	   r   r   r   r    r!   AlternativerB      =         $(I--- "&c*** r    rF   c                   >    e Zd ZU ed         ed<   	 eed<   	 eed<   dS )Person.FutureRequirements.Erroraexternal_requestinformation_missing&invalid_address_city_state_postal_code$invalid_address_highway_contract_boxinvalid_address_private_mailboxinvalid_business_profile_name(invalid_business_profile_name_denylistedinvalid_company_name_denylistedinvalid_dob_age_over_maximuminvalid_dob_age_under_18invalid_dob_age_under_minimum"invalid_product_description_length%invalid_product_description_url_matchinvalid_representative_countryinvalid_signator.invalid_statement_descriptor_business_mismatch'invalid_statement_descriptor_denylisted#invalid_statement_descriptor_length.invalid_statement_descriptor_prefix_denylisted,invalid_statement_descriptor_prefix_mismatchinvalid_street_addressinvalid_tax_idinvalid_tax_id_formatinvalid_tos_acceptanceinvalid_url_denylistedinvalid_url_formatinvalid_url_length!invalid_url_web_presence_detected1invalid_url_website_business_information_mismatchinvalid_url_website_empty invalid_url_website_inaccessible+invalid_url_website_inaccessible_geoblocked3invalid_url_website_inaccessible_password_protectedinvalid_url_website_incomplete2invalid_url_website_incomplete_cancellation_policy7invalid_url_website_incomplete_customer_service_details1invalid_url_website_incomplete_legal_restrictions,invalid_url_website_incomplete_refund_policy,invalid_url_website_incomplete_return_policy3invalid_url_website_incomplete_terms_and_conditions1invalid_url_website_incomplete_under_constructioninvalid_url_website_otherinvalid_value_otherunsupported_business_typeverification_directors_mismatch&verification_document_address_mismatch%verification_document_address_missingverification_document_corrupt+verification_document_country_not_supported(verification_document_directors_mismatch"verification_document_dob_mismatch$verification_document_duplicate_typeverification_document_expired!verification_document_failed_copy&verification_document_failed_greyscale"verification_document_failed_other&verification_document_failed_test_mode verification_document_fraudulent(verification_document_id_number_mismatch'verification_document_id_number_missing verification_document_incompleteverification_document_invalid2verification_document_issue_or_expiry_date_missing!verification_document_manipulated"verification_document_missing_back#verification_document_missing_front#verification_document_name_mismatch"verification_document_name_missing*verification_document_nationality_mismatch"verification_document_not_readable verification_document_not_signed"verification_document_not_uploaded$verification_document_photo_mismatchverification_document_too_large(verification_document_type_not_supported!verification_extraneous_directors!verification_failed_address_match(verification_failed_authorizer_authority'verification_failed_business_iec_number"verification_failed_document_match#verification_failed_id_number_match"verification_failed_keyed_identityverification_failed_keyed_matchverification_failed_name_matchverification_failed_other,verification_failed_representative_authority'verification_failed_residential_address verification_failed_tax_id_match%verification_failed_tax_id_not_issued,verification_legal_entity_structure_mismatchverification_missing_directorsverification_missing_executivesverification_missing_owners0verification_rejected_ownership_exemption_reason;verification_requires_additional_memorandum_of_associations6verification_requires_additional_proof_of_registrationverification_supportabilitycodereasonrequirementNr   r   r   r   r   r   r   r    r!   ErrorrI      [         `/b b b bF KKK  r    r   alternativescurrently_dueerrorseventually_duepast_duepending_verificationr   r   Nr   r   r   r   rF   r   r
   r	   r   r   r$   r   r    r!   FutureRequirementsr@              	 	 	 	 	, 	 	 	n	 n	 n	 n	 n	L n	 n	 n	` tK01111	 Cy   	 U	 S	!!!	 s)	 #3i'''	 /:UKKr    r   c                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )Person.RegisteredAddressr(   r)   r*   r+   r,   r-   Nr.   r   r    r!   RegisteredAddressr   (  r0   r    r   c                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   d	S )
Person.Relationship
authorizerdirector	executivelegal_guardianownerpercent_ownershiprepresentativetitleN)r   r   r   r
   boolr   floatr   r   r    r!   Relationshipr   B  s         TN"""	 4.   	 D>!!!	 !&&&	 ~	 $E?***	 !&&&	 }	 	r    r   c                       e Zd ZU  G d de          Z G d de          Zeee                  ed<   	 ee	         ed<   	 ee         ed<   	 ee	         ed<   	 ee	         ed	<   	 ee	         ed
<   	 eedZ
dS )Person.Requirementsc                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )Person.Requirements.AlternativerC   rD   NrE   r   r    r!   rF   r   e  rG   r    rF   c                   >    e Zd ZU ed         ed<   	 eed<   	 eed<   dS )Person.Requirements.ErrorrJ   r   r   r   Nr   r   r    r!   r   r   o  r   r    r   r   r   r   r   r   r   r   Nr   r   r    r!   Requirementsr   d  r   r    r   c                       e Zd ZU  G d de          Z G d de          Zee         ed<   	 ee         ed<   	 ee         ed<   	 eedZ	d	S )
Person.UsCfpbDatac                   V    e Zd ZU eeed                           ed<   	 ee         ed<   dS )"Person.UsCfpbData.EthnicityDetails)cubanhispanic_or_latinomexicannot_hispanic_or_latinoother_hispanic_or_latinoprefer_not_to_answerpuerto_rican	ethnicityethnicity_otherNr   r   r   r
   r	   r   r   r   r   r    r!   EthnicityDetailsr     sY         (
    &c]*** r    r   c                   V    e Zd ZU eeed                           ed<   	 ee         ed<   dS )Person.UsCfpbData.RaceDetails)african_american american_indian_or_alaska_nativeasianasian_indianblack_or_african_americanchinese	ethiopianfilipinoguamanian_or_chamorrohaitianjamaicanjapanesekoreannative_hawaiian)native_hawaiian_or_other_pacific_islandernigerianother_asianother_black_or_african_americanother_pacific_islanderr   samoansomali
vietnamesewhiterace
race_otherNr   r   r    r!   RaceDetailsr     sY         !   < !%%% r    r   ethnicity_detailsrace_detailsself_identified_gender)r   r   N)
r   r   r   r   r   r   r
   r   r   r$   r   r    r!   
UsCfpbDatar     s         	 	 	 	 	| 	 	 	,%	 %	 %	 %	 %	, %	 %	 %	N $$45555	 {++++	 !)---	 "2'
 
r    r  c                       e Zd ZU  G d de          Z G d de          Zee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   eed	<   	 eed
Z	dS )Person.Verificationc                       e Zd ZU eed                  ed<   	 ee         ed<   	 ee         ed<   	 eed                  ed<   dS )&Person.Verification.AdditionalDocumentr   backdetailsdetails_codefrontNr   r   r   r
   r   r   r   r   r    r!   AdditionalDocumentr  I  w         ?623333 c]""" #3-''' OF34444 r    r  c                       e Zd ZU eed                  ed<   	 ee         ed<   	 ee         ed<   	 eed                  ed<   dS )Person.Verification.Documentr   r  r  r  r	  Nr
  r   r    r!   Documentr  [  r  r    r  additional_documentr  r  documentstatus)r  r  N)
r   r   r   r   r  r  r
   r   r   r$   r   r    r!   Verificationr  H  s         	 	 	 	 	 	 	 	$	 	 	 	 	| 	 	 	$ &&89999	 #	 sm###	 8$$$$	 $6 
 
r    r  r#   additional_tos_acceptancesaddressaddress_kanaaddress_kanjicreatedTdeleteddobemail
first_namefirst_name_kanafirst_name_kanjifull_name_aliasesfuture_requirementsgenderidid_number_providedid_number_secondary_provided	last_namelast_name_kanalast_name_kanjimaiden_namemetadatanationalityobjectphone)existingnonepolitical_exposureregistered_addressrelationshiprequirementsssn_last_4_providedus_cfpb_dataverificationc                     | j         }| j        }t          j                                        }|J t          |          }t          |          }|d|d|S )N/z	/persons/)r"  r#   striper"   	class_urlr   )selftokenr#   base	acct_extnextns         r!   instance_urlzPerson.instance_url  s`    ,~''))"""((	5!!%)TT999dd;;r    c                      t          d          )NzCan't modify a person without an account ID. Use stripe.Account.modify_person('account_id', 'person_id', ...) (see https://stripe.com/docs/api/persons/update).NotImplementedError)clssidparamss      r!   modifyzPerson.modify  s    !@
 
 	
r    c                      t          d          )NzCan't retrieve a person without an account ID. Use stripe.Account.retrieve_person('account_id', 'person_id') (see https://stripe.com/docs/api/persons/retrieve).rA  )rC  r"  rE  s      r!   retrievezPerson.retrieve  s    !B
 
 	
r    )r  r  r  r  r  r   r0  r1  r2  r4  r5  N)r   r   r   __doc__r   r   r   r   r   r%   r/   r4   r8   r>   r   r   r   r   r  r  r
   r   r   r	   r   r   r?  classmethodrF  rH  r$   r   r    r!   r   r      s          08K'(+,7772 2 2 2 2< 2 2 2*    ,   4    l   <    |   <    l   SL SL SL SL SL\ SL SL SLj    L   4         |      DSL SL SL SL SL| SL SL SLjM
 M
 M
 M
 M
\ M
 M
 M
^9
 9
 9
 9
 9
| 9
 9
 9
v c] !))A BBBBg;'''' L)))) LLL gdm$$$$ 
#C=  c]""" sm###  S	**** ""45555 SM 	GGG !&&& #+4.000 } SM!!! c]""" # tCH~&&&& # H C= !);!<==== !!23333<((((<(((( "$''' :&&&& <((((< < < 
 
 [
 
 
 [
 '?#%1/$$"$ r    r   )r8  stripe._expandable_fieldr   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr   typingr   r   r	   r
   typing_extensionsr   r   stripe._filer   r   r   r    r!   <module>rR     s     4 4 4 4 4 4 . . . . . . A A A A A A $ $ $ $ $ $ 1 1 1 1 1 1 1 1 1 1 1 1 4 4 4 4 4 4 4 4 "!!!!!!L L L L L"8, L L L L Lr    