
    Ch                         S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SK	J
r
JrJrJr  S SKJrJr  \(       a  S SKJr   " S	 S
\S
   5      rg)    N)ExpandableField)StripeObject)UpdateableAPIResource)sanitize_id)ClassVarDictListOptional)LiteralTYPE_CHECKING)Filec                      \ rS rSr% SrSr\\S      \S'    " S S\	5      r
 " S S\	5      r " S	 S
\	5      r " S S\	5      r " S S\	5      r " S S\	5      r " S S\	5      r " S S\	5      r " S S\	5      r " S S\	5      r " S S\	5      r\\   \S'    \\
   \S'   \\   \S'   \\   \S'    \\   \S'    \\S '    \\S!      \S"'    \\   \S#'   \\   \S$'    \\   \S%'    \\   \S&'    \\   \S''    \\\      \S('    \\   \S)'    \\   \S*'    \\S+'    \\   \S,'    \\   \S-'    \\   \S.'    \\   \S/'    \\   \S0'    \\   \S1'    \\\\4      \S2'    \\   \S3'    \S   \S4'    \\   \S5'    \\S6      \S7'    \\   \S8'   \\   \S9'   \\   \S:'    \\   \S;'    \\   \S<'    \\   \S='   S> r\S? 5       r\S@ 5       r\
\\\\\\\\\\SA.rSBr gC)DPerson   a0  
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                   F    \ rS rSr%  " S S\5      r\\   \S'    S\0rSr	g)Person.AdditionalTosAcceptances   c                   J    \ rS rSr% \\   \S'    \\   \S'    \\   \S'   Srg)'Person.AdditionalTosAcceptances.Account   dateip
user_agent N)	__name__
__module____qualname____firstlineno__r
   int__annotations__str__static_attributes__r       Q/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/_person.pyAccountr      s3    3-  !%r%   r'   accountr   N)
r   r   r   r    r   r'   r
   r"   _inner_class_typesr$   r   r%   r&   AdditionalTosAcceptancesr      s-    	l 	 '""	 (1r%   r*   c                       \ rS rSr% \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'   Srg	)
Person.Address/   citycountryline1line2postal_codestater   Nr   r   r   r    r
   r#   r"   r$   r   r%   r&   Addressr,   /   f    sm	 #	 }	 }	 c]"	 }	r%   r5   c                       \ rS rSr% \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'   S	rg
)Person.AddressKanaI   r.   r/   r0   r1   r2   r3   townr   Nr4   r   r%   r&   AddressKanar8   I   w    sm	 #	 }	 }	 c]"	 }	 sm	r%   r;   c                       \ rS rSr% \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'   S	rg
)Person.AddressKanjig   r.   r/   r0   r1   r2   r3   r:   r   Nr4   r   r%   r&   AddressKanjir>   g   r<   r%   r@   c                   J    \ rS rSr% \\   \S'    \\   \S'    \\   \S'   Srg)
Person.Dob   daymonthyearr   N)r   r   r   r    r
   r!   r"   r$   r   r%   r&   DobrB      s3    c]	 }	 sm	r%   rG   c                       \ rS rSr%  " S S\5      r " S S\5      r\\\      \	S'    \\
   \	S'    \\   \	S'    \\
   \	S	'    \\
   \	S
'    \\
   \	S'    \\S.rSrg)Person.FutureRequirements   c                   8    \ rS rSr% \\   \S'    \\   \S'   Srg)%Person.FutureRequirements.Alternative   alternative_fields_dueoriginal_fields_duer   Nr   r   r   r    r	   r#   r"   r$   r   r%   r&   AlternativerL      "    $(I- "&c*r%   rQ   c                   >    \ rS rSr% \S   \S'    \\S'    \\S'   Srg)Person.FutureRequirements.Error   _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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requirementr   Nr   r   r   r    r   r"   r#   r$   r   r%   r&   ErrorrT      6    ^/` `B K r%   r   alternativescurrently_dueerrorseventually_duepast_duepending_verificationr   r   r   Nr   r   r   r    r   rQ   r   r
   r	   r"   r#   r)   r$   r   r%   r&   FutureRequirementsrI          	, 	l	L l	\ tK011	 Cy 	 U	 S	!	 s)	 #3i'	 /:UKr%   r   c                       \ rS rSr% \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'   Srg	)
Person.RegisteredAddressi&  r.   r/   r0   r1   r2   r3   r   Nr4   r   r%   r&   RegisteredAddressr   &  r6   r%   r   c                       \ rS rSr% \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\   \S	'   S
r	g)Person.Relationshipi@  
authorizerdirector	executivelegal_guardianownerpercent_ownershiprepresentativetitler   N)
r   r   r   r    r
   boolr"   floatr#   r$   r   r%   r&   Relationshipr   @  s    TN"	 4. 	 D>!	 !&	 ~	 $E?*	 !&	 }	r%   r   c                       \ rS rSr%  " S S\5      r " S S\5      r\\\      \	S'    \\
   \	S'    \\   \	S'    \\
   \	S	'    \\
   \	S
'    \\
   \	S'    \\S.rSrg)Person.Requirementsib  c                   8    \ rS rSr% \\   \S'    \\   \S'   Srg)Person.Requirements.Alternativeic  rN   rO   r   NrP   r   r%   r&   rQ   r   c  rR   r%   rQ   c                   >    \ rS rSr% \S   \S'    \\S'    \\S'   Srg)Person.Requirements.Errorim  rV   r   r   r   r   Nr   r   r%   r&   r   r   m  r   r%   r   r   r   r   r   r   r   r   r   Nr   r   r%   r&   Requirementsr   b  r   r%   r   c                       \ rS rSr%  " S S\5      r " S S\5      r\\   \S'    \\   \S'    \\	   \S'    \\S	.r
S
rg)Person.UsCfpbDatai  c                   D    \ rS rSr% \\\S         \S'    \\   \S'   Sr	g)"Person.UsCfpbData.EthnicityDetailsi  )cubanhispanic_or_latinomexicannot_hispanic_or_latinoother_hispanic_or_latinoprefer_not_to_answerpuerto_rican	ethnicityethnicity_otherr   N
r   r   r   r    r
   r	   r   r"   r#   r$   r   r%   r&   EthnicityDetailsr     s:    (
  &c]*r%   r   c                   D    \ rS rSr% \\\S         \S'    \\   \S'   Sr	g)Person.UsCfpbData.RaceDetailsi  )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_otherr   Nr   r   r%   r&   RaceDetailsr     s:    ! < !%r%   r  ethnicity_detailsrace_detailsself_identified_gender)r  r	  r   N)r   r   r   r    r   r   r  r
   r"   r#   r)   r$   r   r%   r&   
UsCfpbDatar     sa    	| 	,%	, %	N $$455	 {++	 !)-	 "2'
r%   r  c                       \ rS rSr%  " S S\5      r " S S\5      r\\   \S'    \\	   \S'    \\	   \S'    \\   \S	'   \	\S
'    \\S.r
Srg)Person.VerificationiD  c                   h    \ rS rSr% \\S      \S'    \\   \S'    \\   \S'    \\S      \S'   Srg)	&Person.Verification.AdditionalDocumentiE  r   backdetailsdetails_codefrontr   N	r   r   r   r    r
   r   r"   r#   r$   r   r%   r&   AdditionalDocumentr  E  P    ?6233 c]" #3-' OF344r%   r  c                   h    \ rS rSr% \\S      \S'    \\   \S'    \\   \S'    \\S      \S'   Srg)	Person.Verification.DocumentiW  r   r  r  r  r  r   Nr  r   r%   r&   Documentr  W  r  r%   r  additional_documentr  r  documentstatus)r  r  r   N)r   r   r   r    r   r  r  r
   r"   r#   r)   r$   r   r%   r&   Verificationr  D  sv    	 	$	| 	$ &&8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                     U R                   nU R                  n[        R                  R	                  5       nUc   e[        U5      n[        U5      nU< SU< SU< 3$ )N/z	/persons/)r,  r(   striper'   	class_urlr   )selftokenr(   base	acct_extnextns         r&   instance_urlPerson.instance_url  sS    ,,~~'')"""(	5!%)9d;;r%   c                     [        S5      e)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&   modifyPerson.modify  s    !@
 	
r%   c                     [        S5      e)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).rL  )rN  r,  rP  s      r&   retrievePerson.retrieve  s    !B
 	
r%   )r  r  r   r!  r$  r*  r:  r;  r<  r>  r?  r   N)!r   r   r   r    __doc__r   r   r   r"   r   r*   r5   r;   r@   rG   r   r   r   r   r  r  r
   r#   r!   r	   r   r   rI  classmethodrQ  rT  r)   r$   r   r%   r&   r   r      s/    08K'(+,72< 2*, 4l <| <l QL\ QLfL 4 |  DQL| QLfM
\ M
^9
| 9
v c] !))A BBg;'' L)) L gdm$$ 
#C=  c]" sm#  S	** ""455 SM 	G !& #+4.0 } SM! c]" # tCH~&& # H C= !);!<== !!233<((<(( "$' :&& <((< 
 
 
 
 '?#%1/$$"$r%   r   )rB  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!H"8, Hr%   