
    <@gMy                         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y)    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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   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d,<   	 eeeef      ed-<   	 ee   ed.<   	 ed   ed/<   	 ee   ed0<   	 eed1      ed2<   	 ee   ed3<   ee   ed4<   ee   ed5<   	 ee   ed6<   	 ee   ed7<   eed8      ed9<   	 d: Zed;        Zed<        Ze	e
eeeeeeeed=
Zy>)?Persona  
    This is an object representing a person associated with a Stripe account.

    A platform cannot access a person for an account where [account.controller.requirement_collection](https://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://stripe.com/connect/standard-accounts) or [Express onboarding](https://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://stripe.com/connect/handling-api-verification#person-information).
    personOBJECT_NAMEc                   >    e Zd ZU  G d de      Zee   ed<   	 deiZy)Person.AdditionalTosAcceptancesc                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)'Person.AdditionalTosAcceptances.Accountdateip
user_agentN)__name__
__module____qualname__r
   int__annotations__str     M/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_person.pyAccountr      s3    3-  !%r    r"   accountN)r   r   r   r   r"   r
   r   _inner_class_typesr   r    r!   AdditionalTosAcceptancesr      s-    	l 	 '""	 (1r    r%   c                   x    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<   y)Person.Addresscitycountryline1line2postal_codestateNr   r   r   r
   r   r   r   r    r!   Addressr'   /   f    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<   y)	Person.AddressKanar(   r)   r*   r+   r,   r-   townNr.   r   r    r!   AddressKanar2   I   w    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<   y)	Person.AddressKanjir(   r)   r*   r+   r,   r-   r3   Nr.   r   r    r!   AddressKanjir7   g   r5   r    r8   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)
Person.DobdaymonthyearN)r   r   r   r
   r   r   r   r    r!   Dobr:      s3    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
y)Person.FutureRequirementsc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)%Person.FutureRequirements.Alternativealternative_fields_dueoriginal_fields_dueNr   r   r   r	   r   r   r   r    r!   AlternativerB      "    $(I- "&c*r    rF   c                   6    e Zd ZU ed   ed<   	 eed<   	 eed<   y)Person.FutureRequirements.ErrorZ&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_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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_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_missing_directorsverification_missing_executivesverification_missing_owners;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      6    Y/[ [x K 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@          	, 	g	L g	R tK011	 Cy 	 U	 S	!	 s)	 #3i'	 /:UKr    r   c                   x    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<   y)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<   y	)
Person.Relationship
authorizerdirector	executivelegal_guardianownerpercent_ownershiprepresentativetitleN)r   r   r   r
   boolr   floatr   r   r    r!   Relationshipr   ;  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
y)Person.Requirementsc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)Person.Requirements.AlternativerC   rD   NrE   r   r    r!   rF   r   ^  rG   r    rF   c                   6    e Zd ZU ed   ed<   	 eed<   	 eed<   y)Person.Requirements.ErrorrJ   r   r   r   Nr   r   r    r!   r   r   h  r   r    r   r   r   r   r   r   r   r   Nr   r   r    r!   Requirementsr   ]  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   ed<   eed	<   	 eed
Z	y)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<   y)&Person.Verification.AdditionalDocumentr   backdetailsdetails_codefrontNr   r   r   r
   r   r   r   r   r    r!   AdditionalDocumentr     P    ?6233 c]" #3-' OF3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<   y)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     sv    	 	$	| 	$ &&899	 #	 sm#	 8$$	 $6 
r    r   r#   additional_tos_acceptancesaddressaddress_kanaaddress_kanjicreated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verificationTdeletedc                     | j                   }| j                  }t        j                  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  sS    ,,~~'')"""(	5!%)9d;;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).r
  )r  r   r  s      r!   retrievezPerson.retrieve  s    !B
 	
r    )
r   r   r   r   r   r   r   r   r   r   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  classmethodr  r  r$   r   r    r!   r   r      s	    08K'(+,72< 2*, 4l <| <l LL\ LL\L 4 |  DLL| LL\9
| 9
v c] !))A BBg;'' L)) L 
#C=  c]" sm#  S	** ""455 SM 	G !& #+4.0 } SM! c]" # tCH~&& # H C= !);!<== !!233<((<(( "$' <((gdm$$< 
 
 
 
 '?#%1/$$$r    r   )r  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>r     s9     4 . A $ 1 1 4!j
"8, j
r    