o
    Bia                     @   sl   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 )
    )RequestOptions)StripeService)Token)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'G dIdJ dJeZ(G dKdL dLeZ)G dMdN dNeZ*G dOdP dPeZ+G dQdR dReZ,i i fdSe-dTdUdVe.dWe/fdXdYZ0i i fdSe-dTdUdVe.dWe/fdZd[Z1i i fdTd\dVe.dWe/fd]d^Z2i i fdTd\dVe.dWe/fd_d`Z3daS )bTokenServicec                   @   s   e Zd ZU ed ed< 	 ed ed< 	 ed ed< 	 ee ed< 	 ed ed	< 	 eee  ed
< 	 ed ed< 	 ed ed< dS )TokenService.CreateParams TokenService.CreateParamsAccountaccount$TokenService.CreateParamsBankAccountbank_accountz!TokenService.CreateParamsCard|strcardcustomer"TokenService.CreateParamsCvcUpdate
cvc_updateexpandTokenService.CreateParamsPersonpersonTokenService.CreateParamsPiipiiN)__name__
__module____qualname__r
   __annotations__strr    r    r    U/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/_token_service.pyCreateParams   s"   
 r"   c                   @   sH   e Zd ZU eed  ed< 	 ed ed< 	 ed ed< 	 ee ed< dS )	r   )companygovernment_entity
individual
non_profitbusiness_type'TokenService.CreateParamsAccountCompanyr#   *TokenService.CreateParamsAccountIndividualr%   tos_shown_and_acceptedN)r   r   r   r
   r	   r   boolr    r    r    r!   CreateParamsAccount.   s   
 r,   c                   @   s$  e Zd ZU ed ed< 	 ed 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e ed< 	 ed 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d ed< dS )r(   .TokenService.CreateParamsAccountCompanyAddressaddress2TokenService.CreateParamsAccountCompanyAddressKanaaddress_kana3TokenService.CreateParamsAccountCompanyAddressKanjiaddress_kanjidirectors_providedexecutives_providedexport_license_idexport_purpose_codename	name_kana
name_kanjiowners_provided;TokenService.CreateParamsAccountCompanyOwnershipDeclarationownership_declaration&ownership_declaration_shown_and_signedphoneregistration_numbera>  Literal['']|Literal['free_zone_establishment', 'free_zone_llc', 'government_instrumentality', 'governmental_unit', 'incorporated_non_profit', 'incorporated_partnership', 'limited_liability_partnership', 'llc', 'multi_member_llc', 'private_company', 'private_corporation', 'private_partnership', 'public_company', 'public_corporation', 'public_partnership', 'registered_charity', 'single_member_llc', 'sole_establishment', 'sole_proprietorship', 'tax_exempt_government_instrumentality', 'unincorporated_association', 'unincorporated_non_profit', 'unincorporated_partnership']	structuretax_idtax_id_registrarvat_id3TokenService.CreateParamsAccountCompanyVerificationverificationN)r   r   r   r
   r   r+   r   r    r    r    r!   CreateParamsAccountCompanyB   sf   
 rF   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r   r   r   r
   r   r   r    r    r    r!   !CreateParamsAccountCompanyAddress      
 rO   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/   rH   rI   rJ   rK   rL   rM   townNrN   r    r    r    r!   %CreateParamsAccountCompanyAddressKana      
 rS   c                   @   rQ   )	r1   rH   rI   rJ   rK   rL   rM   rR   NrN   r    r    r    r!   &CreateParamsAccountCompanyAddressKanji   rT   rU   c                   @   s6   e Zd ZU ee ed< 	 ee ed< 	 ee ed< dS )r;   dateip
user_agentNr   r   r   r
   intr   r   r    r    r    r!   .CreateParamsAccountCompanyOwnershipDeclaration      
 r[   c                   @      e Zd ZU ed ed< dS )rD   ;TokenService.CreateParamsAccountCompanyVerificationDocumentdocumentNr   r   r   r
   r   r    r    r    r!   &CreateParamsAccountCompanyVerification  
   
 ra   c                   @   (   e Zd ZU ee ed< 	 ee ed< dS )r^   backfrontNrN   r    r    r    r!   .CreateParamsAccountCompanyVerificationDocument
  
   
 rf   c                   @   sR  e Zd ZU ed ed< 	 ed ed< 	 ed 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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d  ed< 	 ed ed< 	 ed ed< 	 ee ed< 	 ed  ed!< d"S )#r)   1TokenService.CreateParamsAccountIndividualAddressr.   5TokenService.CreateParamsAccountIndividualAddressKanar0   6TokenService.CreateParamsAccountIndividualAddressKanjir2   z9Literal['']|TokenService.CreateParamsAccountIndividualDobdobemail
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]metadatar>   )existingnonepolitical_exposure;TokenService.CreateParamsAccountIndividualRegisteredAddressregistered_address6TokenService.CreateParamsAccountIndividualRelationshiprelationship
ssn_last_46TokenService.CreateParamsAccountIndividualVerificationrE   N)r   r   r   r
   r   r   r	   r    r    r    r!   CreateParamsAccountIndividual  sz   
 r   c                   @   rG   )rh   rH   rI   rJ   rK   rL   rM   NrN   r    r    r    r!   $CreateParamsAccountIndividualAddress  rP   r   c                   @   rQ   )	ri   rH   rI   rJ   rK   rL   rM   rR   NrN   r    r    r    r!   (CreateParamsAccountIndividualAddressKana  rT   r   c                   @   rQ   )	rj   rH   rI   rJ   rK   rL   rM   rR   NrN   r    r    r    r!   )CreateParamsAccountIndividualAddressKanji  rT   r   c                   @   *   e Zd ZU eed< 	 eed< 	 eed< dS )z-TokenService.CreateParamsAccountIndividualDobdaymonthyearNr   r   r   rZ   r   r    r    r    r!    CreateParamsAccountIndividualDob     
 r   c                   @   rG   )r~   rH   rI   rJ   rK   rL   rM   NrN   r    r    r    r!   .CreateParamsAccountIndividualRegisteredAddress  rP   r   c                   @   sR   e Zd ZU ee ed< 	 ee ed< 	 ee ed< 	 ed ed< 	 ee ed< dS )r   director	executiveownerLiteral['']|floatpercent_ownershiptitleNr   r   r   r
   r+   r   r   r    r    r    r!   )CreateParamsAccountIndividualRelationship  s   
 r   c                   @   (   e Zd ZU ed ed< 	 ed ed< dS )r   HTokenService.CreateParamsAccountIndividualVerificationAdditionalDocumentadditional_document>TokenService.CreateParamsAccountIndividualVerificationDocumentr_   Nr`   r    r    r    r!   )CreateParamsAccountIndividualVerification     
 r   c                   @   rc   )r   rd   re   NrN   r    r    r    r!   ;CreateParamsAccountIndividualVerificationAdditionalDocument"  s
   
 r   c                   @   rc   )r   rd   re   NrN   r    r    r    r!   1CreateParamsAccountIndividualVerificationDocument.  rg   r   c                   @   s|   e Zd ZU ee ed< 	 eed  ed< 	 eed< 	 eed  ed< 	 eed< 	 ee ed< 	 ee ed	< 	 ee ed
< dS )r   account_holder_name)r#   r%   account_holder_typeaccount_number)checkingfutsusavingstozaaccount_typerI   currencypayment_methodrouting_numberN)r   r   r   r
   r   r   r	   r    r    r    r!   CreateParamsBankAccount8  s&   
 r   c                   @   s   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< 	 eed	< 	 eed
< 	 ee ed< 	 ed ed< 	 eed< dS )zTokenService.CreateParamsCardaddress_cityaddress_countryaddress_line1address_line2address_stateaddress_zipr   cvc	exp_monthexp_yearr7   %TokenService.CreateParamsCardNetworksnetworksnumberNrN   r    r    r    r!   CreateParamsCard\  s6   
 r   c                   @   s   e Zd ZU eed  ed< dS )r   )cartes_bancaires
mastercardvisa	preferredN)r   r   r   r
   r	   r   r    r    r    r!   CreateParamsCardNetworks  s
   
 r   c                   @   s   e Zd ZU eed< dS )r   r   N)r   r   r   r   r   r    r    r    r!   CreateParamsCvcUpdate  s   
 r   c                   @   sx  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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d ed < 	 ed! ed"< 	 ee ed#< 	 ed$ ed%< d&S )'r   7TokenService.CreateParamsPersonAdditionalTosAcceptancesadditional_tos_acceptances&TokenService.CreateParamsPersonAddressr.   *TokenService.CreateParamsPersonAddressKanar0   +TokenService.CreateParamsPersonAddressKanjir2   z.Literal['']|TokenService.CreateParamsPersonDobrk   (TokenService.CreateParamsPersonDocuments	documentsrl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   nationalityr>   r}   0TokenService.CreateParamsPersonRegisteredAddressr   +TokenService.CreateParamsPersonRelationshipr   r   +TokenService.CreateParamsPersonVerificationrE   N)r   r   r   r
   r   r   r    r    r    r!   CreateParamsPerson  s~   
 r   c                   @   r]   )r   >TokenService.CreateParamsPersonAdditionalTosAcceptancesAccountr   Nr`   r    r    r    r!   *CreateParamsPersonAdditionalTosAcceptances  rb   r   c                   @   s6   e Zd ZU ee ed< 	 ee ed< 	 ed ed< dS )r   rV   rW   zLiteral['']|strrX   NrY   r    r    r    r!   1CreateParamsPersonAdditionalTosAcceptancesAccount  r\   r   c                   @   rG   )r   rH   rI   rJ   rK   rL   rM   NrN   r    r    r    r!   CreateParamsPersonAddress*  rP   r   c                   @   rQ   )	r   rH   rI   rJ   rK   rL   rM   rR   NrN   r    r    r    r!   CreateParamsPersonAddressKanaD  rT   r   c                   @   rQ   )	r   rH   rI   rJ   rK   rL   rM   rR   NrN   r    r    r    r!   CreateParamsPersonAddressKanjib  rT   r   c                   @   r   )z"TokenService.CreateParamsPersonDobr   r   r   Nr   r    r    r    r!   CreateParamsPersonDob  r   r   c                   @   s6   e Zd ZU ed ed< 	 ed ed< 	 ed ed< dS )r   <TokenService.CreateParamsPersonDocumentsCompanyAuthorizationcompany_authorization0TokenService.CreateParamsPersonDocumentsPassportpassport,TokenService.CreateParamsPersonDocumentsVisar   Nr`   r    r    r    r!   CreateParamsPersonDocuments  s   
 r   c                   @      e Zd ZU eee  ed< dS )r   filesNr   r   r   r
   r   r   r   r    r    r    r!   /CreateParamsPersonDocumentsCompanyAuthorization     
 r   c                   @   r   )r   r   Nr   r    r    r    r!   #CreateParamsPersonDocumentsPassport  r   r   c                   @   r   )r   r   Nr   r    r    r    r!   CreateParamsPersonDocumentsVisa  r   r   c                   @   rG   )r   rH   rI   rJ   rK   rL   rM   NrN   r    r    r    r!   #CreateParamsPersonRegisteredAddress  rP   r   c                   @   sn   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 )
r   r   r   legal_guardianr   r   r   representativer   Nr   r    r    r    r!   CreateParamsPersonRelationship  rT   r   c                   @   r   )r   =TokenService.CreateParamsPersonVerificationAdditionalDocumentr   3TokenService.CreateParamsPersonVerificationDocumentr_   Nr`   r    r    r    r!   CreateParamsPersonVerification  r   r   c                   @   rc   )r   rd   re   NrN   r    r    r    r!   0CreateParamsPersonVerificationAdditionalDocument  rg   r   c                   @   rc   )r   rd   re   NrN   r    r    r    r!   &CreateParamsPersonVerificationDocument  rg   r   c                   @   s   e Zd ZU ee ed< dS )r   rs   NrN   r    r    r    r!   CreateParamsPii  s   
 r   c                   @   r   )TokenService.RetrieveParamsr   Nr   r    r    r    r!   RetrieveParams  r   r   tokenparamsr   optionsreturnc              	   C   s&   t t| jddjt|dd||dS )8
        Retrieves the token with the given ID.
        get/v1/tokens/{token}r   apibase_addressr   r   )r   r   _requestformatr   selfr   r   r   r    r    r!   retrieve  s   	zTokenService.retrievec              	      s.   t t| jddjt|dd||dI dH S )r   r   r   r   r   r   N)r   r   _request_asyncr   r   r   r    r    r!   retrieve_async,  s   	
zTokenService.retrieve_asyncr   c              	   C   s   t t| jddd||dS )  
        Creates a single-use token that represents a bank account's details.
        You can use this token with any API method in place of a bank account dictionary. You can only use this token once. To do so, attach it to a [connected account](https://stripe.com/docs/api#accounts) where [controller.requirement_collection](https://stripe.com/api/accounts/object#account_object-controller-requirement_collection) is application, which includes Custom accounts.
        post
/v1/tokensr   r   )r   r   r   r   r   r   r    r    r!   create@  s   	zTokenService.createc              	      s"   t t| jddd||dI dH S )r   r   r   r   r   N)r   r   r   r   r    r    r!   create_asyncT  s   	
zTokenService.create_asyncN)4r   r   r   r   r"   r,   rF   rO   rS   rU   r[   ra   rf   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!   r      s    "\
l

$6t

	


r   N)stripe._request_optionsr   stripe._stripe_servicer   stripe._tokenr   stripe._utilr   typingr   r   r   typing_extensionsr	   r
   r   r   r    r    r    r!   <module>   s   