
    h                         d dl mZ d dlmZ d dlmZmZmZmZm	Z	 d dl
mZmZmZmZmZ erd dlmZ d dlmZ  G d ded         Zy	)
    )CreateableAPIResource)RequestOptions)ClassVarDictListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)BankAccount)Cardc                   ,   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 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 G d0 d1e
      Z  G d2 d3e
      Z! G d4 d5e
      Z" G d6 d7e
      Z# G d8 d9e
      Z$ G d: d;e
      Z% G d< d=e
      Z& G d> d?e
      Z' G d@ dAe
      Z( G dB dCe
      Z) G dD dEe
      Z* G dF dGe
      Z+ G dH dIe
      Z, G dJ dKe
      Z- G dL dMe
      Z. G dN dOe
      Z/ G dP dQe
      Z0 G dR dSe
      Z1 G dT dUe
      Z2 G dV dWe
      Z3 G dX dYe
      Z4 G dZ d[e
      Z5 G d\ d]e
      Z6 G d^ d_e      Z7e8d`   eda<   	 e8db   edc<   	 e8e9   edd<   	 e:ede<   	 e9edf<   	 e;edg<   	 ed   edh<   	 e9edi<   	 e;edj<   	 e<dke=dl   dmd fdn       Z>e<dke=dl   dmd fdo       Z?e<dfe9dke=dp   dmd fdq       Z@e<dfe9dke=dp   dmd fdr       ZAys)tTokena  
    Tokenization is the process Stripe uses to collect sensitive card or bank
    account details, or personally identifiable information (PII), directly from
    your customers in a secure manner. A token representing this information is
    returned to your server to use. Use our
    [recommended payments integrations](https://stripe.com/docs/payments) to perform this process
    on the client-side. This guarantees that no sensitive card data touches your server,
    and allows your integration to operate in a PCI-compliant way.

    If you can't use client-side tokenization, you can also create tokens using
    the API with either your publishable or secret API key. If
    your integration uses this method, you're responsible for any PCI compliance
    that it might require, and you must keep your secret API key safe. Unlike with
    client-side tokenization, your customer's information isn't sent directly to
    Stripe, so we can't determine how it's handled or stored.

    You can't store or use tokens more than once. To store card or bank account
    information for later use, create [Customer](https://stripe.com/docs/api#customers)
    objects or [External accounts](https://stripe.com/api#external_accounts).
    [Radar](https://stripe.com/docs/radar), our integrated solution for automatic fraud protection,
    performs best with integrations that use client-side tokenization.
    tokenOBJECT_NAMEc                       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<   y)Token.CreateParamsToken.CreateParamsAccountaccountToken.CreateParamsBankAccountbank_accountzToken.CreateParamsCard|strcardcustomerToken.CreateParamsCvcUpdate
cvc_updateexpandToken.CreateParamsPersonpersonToken.CreateParamsPiipiiN)__name__
__module____qualname__r   __annotations__strr        M/var/www/api/v1/venv_getwork_v1/lib/python3.12/site-packages/stripe/_token.pyCreateParamsr   -   s    899	 ""ABB	 677	 c""	   =>>	 DI&&	 677	 011	r*   r,   c                   Z    e Zd ZU eed      ed<   	 ed   ed<   	 ed   ed<   	 ee   ed<   y)	r   )companygovernment_entity
individual
non_profitbusiness_type Token.CreateParamsAccountCompanyr.   #Token.CreateParamsAccountIndividualr0   tos_shown_and_acceptedN)r$   r%   r&   r   r
   r'   boolr)   r*   r+   CreateParamsAccountzToken.CreateParamsAccountO   sU    "NO
 	
	 ?@@	   EFF	 !,D 11	r*   r7   c                      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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d   ed<   	 ee   ed<   	 ed   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 <   y!)"r3   'Token.CreateParamsAccountCompanyAddressaddress+Token.CreateParamsAccountCompanyAddressKanaaddress_kana,Token.CreateParamsAccountCompanyAddressKanjiaddress_kanjidirectors_provided7Token.CreateParamsAccountCompanyDirectorshipDeclarationdirectorship_declarationexecutives_providedexport_license_idexport_purpose_codename	name_kana
name_kanjiowners_provided4Token.CreateParamsAccountCompanyOwnershipDeclarationownership_declaration&ownership_declaration_shown_and_signedziLiteral['']|Literal['qualified_entity_exceeds_ownership_threshold', 'qualifies_as_financial_institution']ownership_exemption_reasonphonez<Literal['']|Token.CreateParamsAccountCompanyRegistrationDateregistration_date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_id,Token.CreateParamsAccountCompanyVerificationverificationN)r$   r%   r&   r   r'   r6   r(   r)   r*   r+   CreateParamsAccountCompanyz Token.CreateParamsAccountCompanyc   s   FGG	 "9
 	
	 #:
 	
	 (--	 #.E#
 	
	 )..	 's++	 )--	 #	 s##	  $$	 %T**	  +B 
 	
	 1<D0AA	 %0w%
 	
	 3	 'J
 	
 )--	  M	
 	
	 C  	 &c**	 C  	 ":
 	
	r*   rV   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)r9   citycountryline1line2postal_codestateNr$   r%   r&   r   r(   r'   r)   r*   r+   !CreateParamsAccountCompanyAddressz'Token.CreateParamsAccountCompanyAddress   l    #	 S!!	 3	 3	 !%%	 3	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)	r;   rX   rY   rZ   r[   r\   r]   townNr^   r)   r*   r+   %CreateParamsAccountCompanyAddressKanaz+Token.CreateParamsAccountCompanyAddressKana   ~    #	 S!!	 3	 3	 !%%	 3	 #	r*   rc   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)	r=   rX   rY   rZ   r[   r\   r]   rb   Nr^   r)   r*   r+   &CreateParamsAccountCompanyAddressKanjiz,Token.CreateParamsAccountCompanyAddressKanji  rd   r*   rf   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)r@   dateip
user_agentNr$   r%   r&   r   intr'   r(   r)   r*   r+   1CreateParamsAccountCompanyDirectorshipDeclarationz7Token.CreateParamsAccountCompanyDirectorshipDeclaration$  6    #	 	  $$	r*   rm   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)rI   rh   ri   rj   Nrk   r)   r*   r+   .CreateParamsAccountCompanyOwnershipDeclarationz4Token.CreateParamsAccountCompanyOwnershipDeclaration2  rn   r*   rp   c                   0    e Zd ZU eed<   	 eed<   	 eed<   y)0Token.CreateParamsAccountCompanyRegistrationDatedaymonthyearNr$   r%   r&   rl   r'   r)   r*   r+   *CreateParamsAccountCompanyRegistrationDaterr   @  $    	 
	 		r*   rw   c                       e Zd ZU ed   ed<   y)rT   4Token.CreateParamsAccountCompanyVerificationDocumentdocumentNr$   r%   r&   r   r'   r)   r*   r+   &CreateParamsAccountCompanyVerificationz,Token.CreateParamsAccountCompanyVerificationN  s    B
 	
	r*   r}   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)rz   backfrontNr^   r)   r*   r+   .CreateParamsAccountCompanyVerificationDocumentz4Token.CreateParamsAccountCompanyVerificationDocumentV  $    #	 3	r*   r   c                      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!<   y")#r4   *Token.CreateParamsAccountIndividualAddressr:   .Token.CreateParamsAccountIndividualAddressKanar<   /Token.CreateParamsAccountIndividualAddressKanjir>   z2Literal['']|Token.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]metadatarM   existingnonepolitical_exposure4Token.CreateParamsAccountIndividualRegisteredAddressregistered_address/Token.CreateParamsAccountIndividualRelationshiprelationship
ssn_last_4/Token.CreateParamsAccountIndividualVerificationrU   Nr$   r%   r&   r   r'   r(   r
   r)   r*   r+   CreateParamsAccountIndividualz#Token.CreateParamsAccountIndividual`  s   IJJ	 "<
 	
	 #=
 	
	 MNN	 3	  $$	 %S))	 &c**	 ''>??	 C  	 s##	 )--	 s##	 $C((	 %S))	 !%%	 :;;	 3	 (0B(CDD	 (B
 	
	 "=
 	
	  $$	 "=
 	
	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)r   rX   rY   rZ   r[   r\   r]   Nr^   r)   r*   r+   $CreateParamsAccountIndividualAddressz*Token.CreateParamsAccountIndividualAddress  r`   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)	r   rX   rY   rZ   r[   r\   r]   rb   Nr^   r)   r*   r+   (CreateParamsAccountIndividualAddressKanaz.Token.CreateParamsAccountIndividualAddressKana  rd   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)	r   rX   rY   rZ   r[   r\   r]   rb   Nr^   r)   r*   r+   )CreateParamsAccountIndividualAddressKanjiz/Token.CreateParamsAccountIndividualAddressKanji   rd   r*   r   c                   0    e Zd ZU eed<   	 eed<   	 eed<   y)&Token.CreateParamsAccountIndividualDobrs   rt   ru   Nrv   r)   r*   r+    CreateParamsAccountIndividualDobr     rx   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)r   rX   rY   rZ   r[   r\   r]   Nr^   r)   r*   r+   .CreateParamsAccountIndividualRegisteredAddressz4Token.CreateParamsAccountIndividualRegisteredAddress,  r`   r*   r   c                   f    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<   y)r   director	executiveownerLiteral['']|floatpercent_ownershiptitleNr$   r%   r&   r   r6   r'   r(   r)   r*   r+   )CreateParamsAccountIndividualRelationshipz/Token.CreateParamsAccountIndividualRelationshipF  s[    d##	 t$$	 4  	 '':;;	 3	r*   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)r   AToken.CreateParamsAccountIndividualVerificationAdditionalDocumentadditional_document7Token.CreateParamsAccountIndividualVerificationDocumentr{   Nr|   r)   r*   r+   )CreateParamsAccountIndividualVerificationz/Token.CreateParamsAccountIndividualVerification\  s.    (O
 	
	 E
 	
	r*   r   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)r   r   r   Nr^   r)   r*   r+   ;CreateParamsAccountIndividualVerificationAdditionalDocumentzAToken.CreateParamsAccountIndividualVerificationAdditionalDocumentj  s&     #	 3	r*   r   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)r   r   r   Nr^   r)   r*   r+   1CreateParamsAccountIndividualVerificationDocumentz7Token.CreateParamsAccountIndividualVerificationDocumentv  r   r*   r   c                       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
<   y)r   account_holder_name)r.   r0   account_holder_typeaccount_number)checkingfutsusavingstozaaccount_typerY   currencypayment_methodrouting_numberN)r$   r%   r&   r   r(   r'   r
   r)   r*   r+   CreateParamsBankAccountzToken.CreateParamsBankAccount  s    (--	 )1H)IJJ	 	 ":;
 	
	 	 c""	 $C((	 $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<   	 ee   ed<   	 eed	<   	 eed
<   	 ee   ed<   	 ed   ed<   	 eed<   y)Token.CreateParamsCardaddress_cityaddress_countryaddress_line1address_line2address_stateaddress_zipr   cvc	exp_monthexp_yearrE   Token.CreateParamsCardNetworksnetworksnumberNr^   r)   r*   r+   CreateParamsCardr     s    !#&&	 %S))	 #3''	 #3''	 #3''	 !%%	 c""	 	 	 	 #	 >??	 	r*   r   c                   $    e Zd ZU eed      ed<   y)r   )cartes_bancaires
mastercardvisa	preferredN)r$   r%   r&   r   r
   r'   r)   r*   r+   CreateParamsCardNetworkszToken.CreateParamsCardNetworks  s    <=
 	
	r*   r   c                       e Zd ZU eed<   y)r   r   N)r$   r%   r&   r(   r'   r)   r*   r+   CreateParamsCvcUpdatezToken.CreateParamsCvcUpdate  s    	r*   r   c                      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d      ed<   	 ed    ed!<   	 ed"   ed#<   	 ee   ed$<   	 ed%   ed&<   	 ed'   ed(<   y))*r    0Token.CreateParamsPersonAdditionalTosAcceptancesadditional_tos_acceptancesToken.CreateParamsPersonAddressr:   #Token.CreateParamsPersonAddressKanar<   $Token.CreateParamsPersonAddressKanjir>   z'Literal['']|Token.CreateParamsPersonDobr   !Token.CreateParamsPersonDocuments	documentsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   nationalityrM   r   r   )Token.CreateParamsPersonRegisteredAddressr   $Token.CreateParamsPersonRelationshipr   r   "Token.CreateParamsPersonUsCfpbDataus_cfpb_data$Token.CreateParamsPersonVerificationrU   Nr   r)   r*   r+   CreateParamsPersonzToken.CreateParamsPerson  s    $/>%
 	
	 >??	 ""GHH	 ##IJJ	 BCC	 BCC	 3	  $$	 %S))	 &c**	 ''>??	 C  	 s##	 )--	 s##	 $C((	 %S))	 !%%	 :;;	 !%%	 3	 (0B(CDD	 (7
 	
	 ""HII	  $$	 ""FGG	 ""HII	r*   r   c                       e Zd ZU ed   ed<   y)r   7Token.CreateParamsPersonAdditionalTosAcceptancesAccountr   Nr|   r)   r*   r+   *CreateParamsPersonAdditionalTosAcceptancesz0Token.CreateParamsPersonAdditionalTosAcceptancesZ  s    E
 	
	r*   r   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ed   ed<   y)r   rh   ri   zLiteral['']|strrj   Nrk   r)   r*   r+   1CreateParamsPersonAdditionalTosAcceptancesAccountz7Token.CreateParamsPersonAdditionalTosAcceptancesAccountb  s7    #	 	   122	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)r   rX   rY   rZ   r[   r\   r]   Nr^   r)   r*   r+   CreateParamsPersonAddresszToken.CreateParamsPersonAddressp  r`   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)	r   rX   rY   rZ   r[   r\   r]   rb   Nr^   r)   r*   r+   CreateParamsPersonAddressKanaz#Token.CreateParamsPersonAddressKana  rd   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)	r   rX   rY   rZ   r[   r\   r]   rb   Nr^   r)   r*   r+   CreateParamsPersonAddressKanjiz$Token.CreateParamsPersonAddressKanji  rd   r*   r   c                   0    e Zd ZU eed<   	 eed<   	 eed<   y)Token.CreateParamsPersonDobrs   rt   ru   Nrv   r)   r*   r+   CreateParamsPersonDobr     rx   r*   r   c                   B    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   y)r   5Token.CreateParamsPersonDocumentsCompanyAuthorizationcompany_authorization)Token.CreateParamsPersonDocumentsPassportpassport%Token.CreateParamsPersonDocumentsVisar   Nr|   r)   r*   r+   CreateParamsPersonDocumentsz!Token.CreateParamsPersonDocuments  s=    *C 
 	
	 IJJ	 ABB	r*   r  c                   $    e Zd ZU eee      ed<   y)r  filesNr$   r%   r&   r   r   r(   r'   r)   r*   r+   /CreateParamsPersonDocumentsCompanyAuthorizationz5Token.CreateParamsPersonDocumentsCompanyAuthorization      49%%	r*   r  c                   $    e Zd ZU eee      ed<   y)r  r	  Nr
  r)   r*   r+   #CreateParamsPersonDocumentsPassportz)Token.CreateParamsPersonDocumentsPassport  r  r*   r  c                   $    e Zd ZU eee      ed<   y)r  r	  Nr
  r)   r*   r+   CreateParamsPersonDocumentsVisaz%Token.CreateParamsPersonDocumentsVisa  r  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)r   rX   rY   rZ   r[   r\   r]   Nr^   r)   r*   r+   #CreateParamsPersonRegisteredAddressz)Token.CreateParamsPersonRegisteredAddress  r`   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d   ed<   	 ee   ed<   	 ee   ed	<   y
)r   
authorizerr   r   legal_guardianr   r   r   representativer   Nr   r)   r*   r+   CreateParamsPersonRelationshipz$Token.CreateParamsPersonRelationship  s    %%	 d##	 t$$	 $D))	 4  	 '':;;	 $D))	 3	r*   r  c                   B    e Zd ZU ed   ed<   	 ed   ed<   	 ee   ed<   y)r   2Token.CreateParamsPersonUsCfpbDataEthnicityDetailsethnicity_details-Token.CreateParamsPersonUsCfpbDataRaceDetailsrace_detailsself_identified_genderN)r$   r%   r&   r   r'   r(   r)   r*   r+   CreateParamsPersonUsCfpbDataz"Token.CreateParamsPersonUsCfpbData2  s@    &@
 	
	 ";
 	
	 !,C 00	r*   r  c                   <    e Zd ZU eeed         ed<   	 ee   ed<   y)r  )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+   ,CreateParamsPersonUsCfpbDataEthnicityDetailsz2Token.CreateParamsPersonUsCfpbDataEthnicityDetailsD  s;    $

 	
	 %S))	r*   r*  c                   <    e Zd ZU eeed         ed<   	 ee   ed<   y)r  )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+   'CreateParamsPersonUsCfpbDataRaceDetailsz-Token.CreateParamsPersonUsCfpbDataRaceDetailsZ  s;    
 	
<	  $$	r*   rE  c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)r   6Token.CreateParamsPersonVerificationAdditionalDocumentr   ,Token.CreateParamsPersonVerificationDocumentr{   Nr|   r)   r*   r+   CreateParamsPersonVerificationz$Token.CreateParamsPersonVerification  s*    (D
 	
	 LMM	r*   rI  c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)rG  r   r   Nr^   r)   r*   r+   0CreateParamsPersonVerificationAdditionalDocumentz6Token.CreateParamsPersonVerificationAdditionalDocument  r   r*   rK  c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)rH  r   r   Nr^   r)   r*   r+   &CreateParamsPersonVerificationDocumentz,Token.CreateParamsPersonVerificationDocument  r   r*   rM  c                       e Zd ZU ee   ed<   y)r"   r   Nr^   r)   r*   r+   CreateParamsPiizToken.CreateParamsPii  s    s##	r*   rO  c                   $    e Zd ZU eee      ed<   y)Token.RetrieveParamsr   Nr
  r)   r*   r+   RetrieveParamsrQ    s    DI&&	r*   rR  r   r   r   r   	client_ipcreatedidlivemodeobjecttypeusedparamsr   returnc                 Z    t        d| j                  d| j                         |            S )  
        Creates a single-use token that represents a bank account's details.
        You can use this token with any v1 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.
        r   postrZ  )r	   _static_request	class_urlclsrZ  s     r+   createzToken.create  s6        
 	
r*   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r]  r   r^  r_  N)r	   _static_request_asyncra  rb  s     r+   create_asynczToken.create_async  sD      ++ ,  
 	
s   ,97
	9rQ  c                 8     | |fi |}|j                          |S )8
        Retrieves the token with the given ID.
        )refreshrc  rU  rZ  instances       r+   retrievezToken.retrieve  s$     r$V$r*   c                 T   K    | |fi |}|j                          d{    |S 7 w)ri  N)refresh_asyncrk  s       r+   retrieve_asynczToken.retrieve_async  s3      r$V$$$&&& 	's   (&(N)Br$   r%   r&   __doc__r   r   r
   r'   r   r,   r   r7   rV   r_   rc   rf   rm   rp   rw   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*  rE  rI  rK  rM  rO  rR  r   r(   rl   r6   classmethodr   rd  rg  rm  rp  r)   r*   r+   r   r      s   . /6K''*+5 ~  Di (iY iVI 4	 < <I  Y   f	 fPy 49 <I <9  4I ,I 

I ") "H49 4l9 	 pY pdY I I 4	 < <	 i  ) i ) i 4   Dy $y ,%) %N
 
9  )   =)) 6
 } L 	G N G I J 
f%9: 
w 
 
 
23
	
 
   &'= >	   &'= >	 r*   r   N)stripe._createable_api_resourcer   stripe._request_optionsr   typingr   r   r   r   r	   typing_extensionsr
   r   r   r   r   stripe._bank_accountr   stripe._cardr   r   r)   r*   r+   <module>ry     s=    B 2 7 7  0!}!'* }r*   