o
    BiY                     @   sx   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	 d dl
mZmZmZ d dlmZmZmZ G dd	 d	eZd
S )    )
ListObject)Person)RequestOptions)StripeService)sanitize_id)DictListcast)LiteralNotRequired	TypedDictc                   @   s  e Zd ZG dd deZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZG d!d" d"eZG d#d$ d$eZG d%d& d&eZG d'd( d(eZG d)d* d*eZG d+d, d,eZG d-d. d.eZG d/d0 d0eZG d1d2 d2eZG d3d4 d4eZG d5d6 d6eZG d7d8 d8eZG d9d: d:eZ G d;d< d<eZ!G d=d> d>eZ"G d?d@ d@eZ#G dAdB dBeZ$G dCdD dDeZ%G dEdF dFeZ&G dGdH dHeZ'i i fdIe(dJe(dKdLdMe)dNe*f
dOdPZ+i i fdIe(dJe(dKdLdMe)dNe*f
dQdRZ,i i fdIe(dJe(dKdSdMe)dNe*f
dTdUZ-i i fdIe(dJe(dKdSdMe)dNe*f
dVdWZ.i i fdIe(dJe(dKdXdMe)dNe*f
dYdZZ/i i fdIe(dJe(dKdXdMe)dNe*f
d[d\Z0i i fdIe(dKd]dMe)dNe1e* fd^d_Z2i i fdIe(dKd]dMe)dNe1e* fd`daZ3i i fdIe(dKdbdMe)dNe*fdcddZ4i i fdIe(dKdbdMe)dNe*fdedfZ5dgS )hAccountPersonServicec                   @     e Zd ZU ed ed< 	 ed ed< 	 ed ed< 	 ed ed< 	 ed	 ed
< 	 ed ed< 	 ee ed< 	 eee  ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 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d< 	 ee ed< 	 ed ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ee ed < 	 ed! ed"< 	 ed# ed$< 	 ee ed%< 	 ed& ed'< d(S ))!AccountPersonService.CreateParams9AccountPersonService.CreateParamsAdditionalTosAcceptancesadditional_tos_acceptances(AccountPersonService.CreateParamsAddressaddress,AccountPersonService.CreateParamsAddressKanaaddress_kana-AccountPersonService.CreateParamsAddressKanjiaddress_kanjiz0Literal['']|AccountPersonService.CreateParamsDobdob*AccountPersonService.CreateParamsDocuments	documentsemailexpand
first_namefirst_name_kanafirst_name_kanjiLiteral['']|List[str]full_name_aliasesgender	id_numberid_number_secondary	last_namelast_name_kanalast_name_kanjimaiden_nameLiteral['']|Dict[str, str]metadatanationalityperson_tokenphonepolitical_exposure2AccountPersonService.CreateParamsRegisteredAddressregistered_address-AccountPersonService.CreateParamsRelationshiprelationship
ssn_last_4-AccountPersonService.CreateParamsVerificationverificationN__name__
__module____qualname__r   __annotations__strr    r<   r<   ^/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/_account_person_service.pyCreateParams      
 r>   c                   @      e Zd ZU ed ed< dS )r   @AccountPersonService.CreateParamsAdditionalTosAcceptancesAccountaccountNr7   r8   r9   r   r:   r<   r<   r<   r=   $CreateParamsAdditionalTosAcceptances   
   
 rD   c                   @   6   e Zd ZU ee ed< 	 ee ed< 	 ed ed< dS )rA   dateipLiteral['']|str
user_agentNr7   r8   r9   r   intr:   r;   r<   r<   r<   r=   +CreateParamsAdditionalTosAcceptancesAccount      
 rM   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 )r   citycountryline1line2postal_codestateNr7   r8   r9   r   r;   r:   r<   r<   r<   r=   CreateParamsAddress      
 rW   c                   @   n   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 )	r   rP   rQ   rR   rS   rT   rU   townNrV   r<   r<   r<   r=   CreateParamsAddressKana      
 r[   c                   @   rY   )	r   rP   rQ   rR   rS   rT   rU   rZ   NrV   r<   r<   r<   r=   CreateParamsAddressKanji   r\   r]   c                   @   *   e Zd ZU eed< 	 eed< 	 eed< dS )z$AccountPersonService.CreateParamsDobdaymonthyearNr7   r8   r9   rL   r:   r<   r<   r<   r=   CreateParamsDob      
 rc   c                   @   6   e Zd ZU ed ed< 	 ed ed< 	 ed ed< dS )r   >AccountPersonService.CreateParamsDocumentsCompanyAuthorizationcompany_authorization2AccountPersonService.CreateParamsDocumentsPassportpassport.AccountPersonService.CreateParamsDocumentsVisavisaNrC   r<   r<   r<   r=   CreateParamsDocuments     
 rl   c                   @      e Zd ZU eee  ed< dS )rf   filesNr7   r8   r9   r   r   r;   r:   r<   r<   r<   r=   )CreateParamsDocumentsCompanyAuthorization     
 rq   c                   @   rn   )rh   ro   Nrp   r<   r<   r<   r=   CreateParamsDocumentsPassport  rr   rs   c                   @   rn   )rj   ro   Nrp   r<   r<   r<   r=   CreateParamsDocumentsVisa#  rr   rt   c                   @   rO   )r/   rP   rQ   rR   rS   rT   rU   NrV   r<   r<   r<   r=   CreateParamsRegisteredAddress)  rX   ru   c                   @   n   e Zd ZU ee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 ed ed< 	 ee ed< 	 ee ed< d	S )
r1   director	executivelegal_guardianownerLiteral['']|floatpercent_ownershiprepresentativetitleNr7   r8   r9   r   boolr:   r;   r<   r<   r<   r=   CreateParamsRelationshipC  r\   r   c                   @   (   e Zd ZU ed ed< 	 ed ed< dS )r4   ?AccountPersonService.CreateParamsVerificationAdditionalDocumentadditional_document5AccountPersonService.CreateParamsVerificationDocumentdocumentNrC   r<   r<   r<   r=   CreateParamsVerificationa     
 r   c                   @   (   e Zd ZU ee ed< 	 ee ed< dS )r   backfrontNrV   r<   r<   r<   r=   *CreateParamsVerificationAdditionalDocumento  
   
 r   c                   @   r   )r   r   r   NrV   r<   r<   r<   r=    CreateParamsVerificationDocumenty  r   r   c                   @   s   e Zd ZdS )!AccountPersonService.DeleteParamsN)r7   r8   r9   r<   r<   r<   r=   DeleteParams  s    r   c                   @   sV   e Zd ZU ee ed< 	 eee  ed< 	 ee ed< 	 ed ed< 	 ee ed< dS )AccountPersonService.ListParamsending_beforer   limit+AccountPersonService.ListParamsRelationshipr2   starting_afterN)r7   r8   r9   r   r;   r:   r   rL   r<   r<   r<   r=   
ListParams  s   
 r   c                   @   sR   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< dS )r   rw   rx   ry   rz   r}   N)r7   r8   r9   r   r   r:   r<   r<   r<   r=   ListParamsRelationship  s   
 r   c                   @   rn   )#AccountPersonService.RetrieveParamsr   Nrp   r<   r<   r<   r=   RetrieveParams  rr   r   c                   @   r   ))!AccountPersonService.UpdateParams9AccountPersonService.UpdateParamsAdditionalTosAcceptancesr   (AccountPersonService.UpdateParamsAddressr   ,AccountPersonService.UpdateParamsAddressKanar   -AccountPersonService.UpdateParamsAddressKanjir   z0Literal['']|AccountPersonService.UpdateParamsDobr   *AccountPersonService.UpdateParamsDocumentsr   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   2AccountPersonService.UpdateParamsRegisteredAddressr0   -AccountPersonService.UpdateParamsRelationshipr2   r3   -AccountPersonService.UpdateParamsVerificationr5   Nr6   r<   r<   r<   r=   UpdateParams  r?   r   c                   @   r@   )r   @AccountPersonService.UpdateParamsAdditionalTosAcceptancesAccountrB   NrC   r<   r<   r<   r=   $UpdateParamsAdditionalTosAcceptances8  rE   r   c                   @   rF   )r   rG   rH   rI   rJ   NrK   r<   r<   r<   r=   +UpdateParamsAdditionalTosAcceptancesAccount@  rN   r   c                   @   rO   )r   rP   rQ   rR   rS   rT   rU   NrV   r<   r<   r<   r=   UpdateParamsAddressN  rX   r   c                   @   rY   )	r   rP   rQ   rR   rS   rT   rU   rZ   NrV   r<   r<   r<   r=   UpdateParamsAddressKanah  r\   r   c                   @   rY   )	r   rP   rQ   rR   rS   rT   rU   rZ   NrV   r<   r<   r<   r=   UpdateParamsAddressKanji  r\   r   c                   @   r^   )z$AccountPersonService.UpdateParamsDobr_   r`   ra   Nrb   r<   r<   r<   r=   UpdateParamsDob  rd   r   c                   @   re   )r   >AccountPersonService.UpdateParamsDocumentsCompanyAuthorizationrg   2AccountPersonService.UpdateParamsDocumentsPassportri   .AccountPersonService.UpdateParamsDocumentsVisark   NrC   r<   r<   r<   r=   UpdateParamsDocuments  rm   r   c                   @   rn   )r   ro   Nrp   r<   r<   r<   r=   )UpdateParamsDocumentsCompanyAuthorization  rr   r   c                   @   rn   )r   ro   Nrp   r<   r<   r<   r=   UpdateParamsDocumentsPassport  rr   r   c                   @   rn   )r   ro   Nrp   r<   r<   r<   r=   UpdateParamsDocumentsVisa  rr   r   c                   @   rO   )r   rP   rQ   rR   rS   rT   rU   NrV   r<   r<   r<   r=   UpdateParamsRegisteredAddress  rX   r   c                   @   rv   )
r   rw   rx   ry   rz   r{   r|   r}   r~   Nr   r<   r<   r<   r=   UpdateParamsRelationship  r\   r   c                   @   r   )r   ?AccountPersonService.UpdateParamsVerificationAdditionalDocumentr   5AccountPersonService.UpdateParamsVerificationDocumentr   NrC   r<   r<   r<   r=   UpdateParamsVerification  r   r   c                   @   r   )r   r   r   NrV   r<   r<   r<   r=   *UpdateParamsVerificationAdditionalDocument  r   r   c                   @   r   )r   r   r   NrV   r<   r<   r<   r=    UpdateParamsVerificationDocument&  r   r   rB   personparamsr   optionsreturnc              	   C   ,   t t| jddjt|t|dd||dS )A  
        Deletes an existing person's relationship to the account's legal entity. Any person with a relationship for an account can be deleted through the API, except if the person is the account_opener. If your integration is using the executive parameter, you cannot delete the only verified executive on file.
        delete'/v1/accounts/{account}/persons/{person}rB   r   apibase_addressr   r   r	   r   _requestformatr   selfrB   r   r   r   r<   r<   r=   r   0     
zAccountPersonService.deletec              	      4   t t| jddjt|t|dd||dI dH S )r   r   r   r   r   r   Nr	   r   _request_asyncr   r   r   r<   r<   r=   delete_asyncH     

z!AccountPersonService.delete_asyncr   c              	   C   r   )/
        Retrieves an existing person.
        getr   r   r   r   r   r   r<   r<   r=   retrieve`  r   zAccountPersonService.retrievec              	      r   )r   r   r   r   r   r   Nr   r   r<   r<   r=   retrieve_asyncx  r   z#AccountPersonService.retrieve_asyncr   c              	   C   r   )-
        Updates an existing person.
        postr   r   r   r   r   r   r<   r<   r=   update  r   zAccountPersonService.updatec              	      r   )r   r   r   r   r   r   Nr   r   r<   r<   r=   update_async  r   z!AccountPersonService.update_asyncr   c              	   C   s*   t tt | jddjt|dd||dS )
        Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
        r   /v1/accounts/{account}/personsrB   r   r   )r	   r   r   r   r   r   r   rB   r   r   r<   r<   r=   list  s   	zAccountPersonService.listc              	      s2   t tt | jddjt|dd||dI dH S )r   r   r   r   r   r   N)r	   r   r   r   r   r   r   r<   r<   r=   
list_async  s   	
zAccountPersonService.list_asyncr   c              	   C   s&   t t| jddjt|dd||dS )'
        Creates a new person.
        r   r   r   r   r   r   r   r<   r<   r=   create  s   	zAccountPersonService.createc              	      s.   t t| jddjt|dd||dI dH S )r   r   r   r   r   r   Nr   r   r<   r<   r=   create_async  s   	
z!AccountPersonService.create_asyncN)6r7   r8   r9   r   r>   rD   rM   rW   r[   r]   rc   rl   rq   rs   rt   ru   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r;   r   r   r   r   r   r   r   r   r   r   r   r   r   r<   r<   r<   r=   r      s>   ~

~









r   N)stripe._list_objectr   stripe._personr   stripe._request_optionsr   stripe._stripe_servicer   stripe._utilr   typingr   r   r	   typing_extensionsr
   r   r   r   r<   r<   r<   r=   <module>   s   