o
    Bi                     @   s   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 d dlmZ d dlmZmZ d d	lmZmZmZmZmZmZ d d
lmZmZmZmZmZ erdd dlmZ d dl m!Z! d dl"m#Z# G dd ded ed ed Z$dS )    )CreateableAPIResource)ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Charge)Customer)SetupAttemptc                	   @   s  e Zd ZU dZdZeed  ed< 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 d0d1 d1eZG d2d3 d3eZ G d4d5 d5eZ!G d6d7 d7eZ"G d8d9 d9eZ#G d:d; d;eZ$G d<d= d=eZ%G d>d? d?eZ&G d@dA dAeZ'G dBdC dCeZ(G dDdE dEeZ)G dFdG dGeZ*G dHdI dIeZ+G dJdK dKeZ,G dLdM dMeZ-G dNdO dOeZ.G dPdQ dQeZ/G dRdS dSeZ0G dTdU dUeZ1G dVdW dWe2Z3G dXdY dYe2Z4G dZd[ d[e5Z6G d\d] d]e5Z7G d^d_ d_e5Z8G d`da dae5Z9G dbdc dce5Z:G ddde dee5Z;G dfdg dge5Z<G dhdi die5Z=G djdk dke5Z>G dldm dme5Z?G dndo doe5Z@G dpdq dqe5ZAG drds dse5ZBG dtdu due5ZCG dvdw dwe5ZDG dxdy dye5ZEG dzd{ d{e5ZFG d|d} d}e5ZGG d~d de5ZHG dd de5ZIG dd de5ZJG dd de5ZKG dd de5ZLG dd de5ZMG dd de5ZNG dd de5ZOG dd de5ZPG dd de5ZQG dd de5ZRG dd de5ZSG dd de5ZTG dd de5ZUG dd de5ZVG dd de5ZWG dd de5ZXG dd de5ZYG dd de5ZZG dd de5Z[G dd de5Z\G dd de5Z]G dd de5Z^G dd de5Z_G dd de5Z`G dd de2ZaG dd de2ZbG dd de2ZcG dd de5ZdG dd de5ZeG dd de5ZfG dd de5ZgG dd de5ZhG dd de5ZiG ddÄ de2Zjeke	 ed< eke
 ed< eke ed< eke ed< eked  ed< 	 eke ed< eke ed< eke ed< eke ed< eed< eke ed< eke ed< eke ed< eke ed< eke ed< eled< 	 ekemd  ed< 	 eke ed< eke ed< eke ed< eke ed< eke ed< ened< 	 eke ed< eke ed< eke ed< eke ed< eke  ed< eoed< 	 ekepenenf  ed< 	 eke! ed< eke" ed< ed ed< 	 eke# ed< eke$ ed< eke% ed< eke& ed< eke' ed< eke( ed< eke) ed< 	 eke* ed< eke+ ed< eke, ed< eke- ed< eke. ed< ed ed< 	 eke/ ed< eke0 ed< eke1 ed< eqdenderd dd fddZseteudenderd dd fddZvetderd dd fddZvewd derd dd fddZveqdenderd dd fddZxeteudenderd dd fddZyetderd dd fddZyewdderd dd fddZyeqderd	 dd fd
dZzeqderd	 dd fddZ{eqdenderd dd fddZ|eteudenderd dd fddZ}etderd dd fddZ}ewdderd dd fddZ}eqdenderd dd fddZ~eteudenderd dd fddZetderd dd fddZewdderd dd fddZeqderd ded  fddZeqderd ded  fd d!Zeqdenderd" dd fd#d$Zeqdenderd" dd fd%d&Zeqdenderd' dd fd(d)Zeqdenderd' dd fd*d+Zi de	de
dededededededededededededededei dedededededede de!de"de#de$de%de&de'de(de)de*e+e,e-e.e/e0e1d,Zd-S (.  PaymentMethoda  
    PaymentMethod objects represent your customer's payment instruments.
    You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to
    Customer objects to store instrument details for future payments.

    Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios).
    payment_methodOBJECT_NAMEc                   @   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 )zPaymentMethod.AcssDebit	bank_namefingerprintinstitution_numberlast4transit_numberN__name__
__module____qualname__r   str__annotations__ r'   r'   V/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/_payment_method.py	AcssDebit)   s   
 r)   c                   @      e Zd ZdS )zPaymentMethod.AffirmNr"   r#   r$   r'   r'   r'   r(   Affirm?       r,   c                   @   r*   )zPaymentMethod.AfterpayClearpayNr+   r'   r'   r'   r(   AfterpayClearpayB   r-   r.   c                   @   r*   )zPaymentMethod.AlipayNr+   r'   r'   r'   r(   AlipayE   r-   r/   c                   @   r*   )zPaymentMethod.AmazonPayNr+   r'   r'   r'   r(   	AmazonPayH   r-   r0   c                   @   6   e Zd ZU ee ed< 	 ee ed< 	 ee ed< dS )zPaymentMethod.AuBecsDebit
bsb_numberr   r   Nr!   r'   r'   r'   r(   AuBecsDebitK      
 r3   c                   @   r1   )zPaymentMethod.BacsDebitr   r   	sort_codeNr!   r'   r'   r'   r(   	BacsDebitY   r4   r6   c                   @   r*   )zPaymentMethod.BancontactNr+   r'   r'   r'   r(   
Bancontactg   r-   r7   c                   @   s^   e Zd ZU G dd deZee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 deiZdS )zPaymentMethod.BillingDetailsc                   @   `   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 )z$PaymentMethod.BillingDetails.Addresscitycountryline1line2postal_codestateNr!   r'   r'   r'   r(   Addressk      
 r?   addressemailnamephoneN)	r"   r#   r$   r   r?   r   r&   r%   _inner_class_typesr'   r'   r'   r(   BillingDetailsj   s   
 rF   c                   @   r*   )zPaymentMethod.BlikNr+   r'   r'   r'   r(   Blik   r-   rG   c                   @      e Zd ZU eed< dS )zPaymentMethod.Boletotax_idNr"   r#   r$   r%   r&   r'   r'   r'   r(   Boleto      
 rK   c                   @   s:  e Zd ZU 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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	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eedZdS )zPaymentMethod.Cardc                   @   r1   )zPaymentMethod.Card.Checksaddress_line1_checkaddress_postal_code_check	cvc_checkNr!   r'   r'   r'   r(   Checks   r4   rP   c                   @   sT   e Zd ZU G dd deZee ed< 	 ee ed< 	 eed  ed< 	 deiZ	dS )z PaymentMethod.Card.GeneratedFromc                   @   s<   e Zd ZU G dd deZee ed< eed< 	 deiZdS )z5PaymentMethod.Card.GeneratedFrom.PaymentMethodDetailsc                   @   s  e Zd ZU G dd deZG dd deZG d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
 e	d< 	 ee
 e	d< 	 ee
 e	d< 	 ee	d< 	 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	d< 	 eee
  e	d< 	 eed  e	d< 	 ee e	d< 	 ee e	d < eeed!Zd"S )#zAPaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresentc                   @   ,   e Zd ZU ee ed< 	 eed  ed< dS )zIPaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Offline	stored_atdeferredtypeNr"   r#   r$   r   intr&   r   r'   r'   r'   r(   Offline   
   
 rW   c                   @   s   e Zd ZU e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
< dS )zIPaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Receipt)checkingcreditprepaidunknownaccount_typeapplication_cryptogramapplication_preferred_nameauthorization_codeauthorization_response_codecardholder_verification_methoddedicated_file_nameterminal_verification_resultstransaction_status_informationN)r"   r#   r$   r   r   r&   r%   r'   r'   r'   r(   Receipt   s*   
 rf   c                   @      e Zd ZU ed ed< dS )zHPaymentMethod.Card.GeneratedFrom.PaymentMethodDetails.CardPresent.Wallet	apple_pay
google_paysamsung_payr\   rT   Nr"   r#   r$   r   r&   r'   r'   r'   r(   Wallet   
   
 rm   amount_authorizedbrandbrand_productcapture_beforecardholder_namer:   descriptionemv_auth_data	exp_monthexp_yearr   fundinggenerated_cardiin#incremental_authorization_supportedissuerr   networknetwork_transaction_idofflineovercapture_supportedpreferred_localescontact_emvcontactless_emvcontactless_magstripe_modemagnetic_stripe_fallbackmagnetic_stripe_track2read_methodreceiptwallet)r   r   r   N)r"   r#   r$   r   rW   rf   rm   r   rV   r&   r%   boolr   r   rE   r'   r'   r'   r(   CardPresent   sz   
 
(	
r   card_presentrT   N)	r"   r#   r$   r   r   r   r&   r%   rE   r'   r'   r'   r(   PaymentMethodDetails   s   
  -r   chargepayment_method_detailsr   setup_attemptN)
r"   r#   r$   r   r   r   r%   r&   r   rE   r'   r'   r'   r(   GeneratedFrom   s   
  5r   c                   @   (   e Zd ZU ee ed< 	 ee ed< dS )zPaymentMethod.Card.Networks	available	preferredNr"   r#   r$   r   r%   r&   r   r'   r'   r'   r(   Networkst  
   
 r   c                   @   rH   )z$PaymentMethod.Card.ThreeDSecureUsage	supportedN)r"   r#   r$   r   r&   r'   r'   r'   r(   ThreeDSecureUsage~  rL   r   c                   @   s  e Zd ZU 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
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eee	e
dZdS )zPaymentMethod.Card.Walletc                   @   r*   )z-PaymentMethod.Card.Wallet.AmexExpressCheckoutNr+   r'   r'   r'   r(   AmexExpressCheckout  r-   r   c                   @   r*   )z"PaymentMethod.Card.Wallet.ApplePayNr+   r'   r'   r'   r(   ApplePay  r-   r   c                   @   r*   )z#PaymentMethod.Card.Wallet.GooglePayNr+   r'   r'   r'   r(   	GooglePay  r-   r   c                   @   r*   )zPaymentMethod.Card.Wallet.LinkNr+   r'   r'   r'   r(   Link  r-   r   c                   @   p   e Zd ZU G dd deZG dd deZee ed< 	 ee ed< 	 ee ed< 	 ee ed< 	 eed	Z	d
S )z$PaymentMethod.Card.Wallet.Masterpassc                   @   r8   )z3PaymentMethod.Card.Wallet.Masterpass.BillingAddressr9   r:   r;   r<   r=   r>   Nr!   r'   r'   r'   r(   BillingAddress  r@   r   c                   @   r8   )z4PaymentMethod.Card.Wallet.Masterpass.ShippingAddressr9   r:   r;   r<   r=   r>   Nr!   r'   r'   r'   r(   ShippingAddress  r@   r   billing_addressrB   rC   shipping_addressr   r   N
r"   r#   r$   r   r   r   r   r&   r%   rE   r'   r'   r'   r(   
Masterpass     
 
r   c                   @   r*   )z$PaymentMethod.Card.Wallet.SamsungPayNr+   r'   r'   r'   r(   
SamsungPay  r-   r   c                   @   r   )z&PaymentMethod.Card.Wallet.VisaCheckoutc                   @   r8   )z5PaymentMethod.Card.Wallet.VisaCheckout.BillingAddressr9   r:   r;   r<   r=   r>   Nr!   r'   r'   r'   r(   r     r@   r   c                   @   r8   )z6PaymentMethod.Card.Wallet.VisaCheckout.ShippingAddressr9   r:   r;   r<   r=   r>   Nr!   r'   r'   r'   r(   r     r@   r   r   rB   rC   r   r   Nr   r'   r'   r'   r(   VisaCheckout  r   r   amex_express_checkoutri   dynamic_last4rj   link
masterpassrk   )r   ri   rj   r   r   rk   visa_checkoutrT   r   N)r"   r#   r$   r   r   r   r   r   r   r   r   r   r&   r%   r   rE   r'   r'   r'   r(   rm     s:   
 JJ	
rm   rp   checksr:   rt   display_brandrv   rw   r   rx   generated_fromrz   r|   r   networksthree_d_secure_usager   )r   r   r   r   r   N)r"   r#   r$   r   rP   r   r   r   rm   r%   r&   r   rV   rE   r'   r'   r'   r(   Card   s\   
  F
 F
r   c                   @   s6  e Zd ZU G dd deZG dd deZG d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	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  e	d< 	 eed  e	d< 	 ee e	d< eeedZdS )zPaymentMethod.CardPresentc                   @   r   )z"PaymentMethod.CardPresent.Networksr   r   Nr   r'   r'   r'   r(   r     r   r   c                   @   rQ   )z!PaymentMethod.CardPresent.OfflinerR   rS   rT   NrU   r'   r'   r'   r(   rW     rX   rW   c                   @   rg   )z PaymentMethod.CardPresent.Walletrh   rT   Nrl   r'   r'   r'   r(   rm        
 rm   rp   rq   rs   r:   rt   rv   rw   r   rx   rz   r|   r   r   r   r   r   r   r   )r   r   r   N)r"   r#   r$   r   r   rW   rm   r   r%   r&   rV   r   r   rE   r'   r'   r'   r(   r     sZ   
 

	
r   c                   @   (   e Zd ZU ee ed< 	 ee ed< dS )zPaymentMethod.Cashappbuyer_idcashtagNr!   r'   r'   r'   r(   Cashapp  r   r   c                   @   r*   )zPaymentMethod.CustomerBalanceNr+   r'   r'   r'   r(   CustomerBalance	  r-   r   c                   @      e Zd ZU eed  ed< dS )zPaymentMethod.Epsarzte_und_apotheker_bankaustrian_anadi_bank_agbank_austriabankhaus_carl_spangler%bankhaus_schelhammer_und_schattera_agbawag_psk_agbks_bank_agbrull_kallmus_bank_agbtv_vier_lander_bankcapital_bank_grawe_gruppe_agdeutsche_bank_agdolomitenbankeasybank_agerste_bank_und_sparkassen#hypo_alpeadriabank_international_ag'hypo_bank_burgenland_aktiengesellschaft'hypo_noe_lb_fur_niederosterreich_u_wien'hypo_oberosterreich_salzburg_steiermarkhypo_tirol_bank_aghypo_vorarlberg_bank_agmarchfelder_bankoberbank_ag"raiffeisen_bankengruppe_osterreichschoellerbank_agsparda_bank_wienvolksbank_gruppevolkskreditbank_agvr_bank_braunaubankNr"   r#   r$   r   r   r&   r'   r'   r'   r(   Eps     
  r   c                   @   ,   e Zd ZU eed  ed< 	 ed ed< dS )zPaymentMethod.Fpxcompany
individualaccount_holder_type
affin_bankagrobankalliance_bankambank
bank_islambank_muamalatbank_of_chinabank_rakyatbsncimbdeutsche_bankhong_leong_bankhsbckfh	maybank2e	maybank2uocbcpb_enterprisepublic_bankrhbstandard_chartereduobr   Nr   r'   r'   r'   r(   Fpx1     
 r   c                   @   r*   )zPaymentMethod.GiropayNr+   r'   r'   r'   r(   GiropayR  r-   r   c                   @   r*   )zPaymentMethod.GrabpayNr+   r'   r'   r'   r(   GrabpayU  r-   r   c                   @   0   e Zd ZU eed  ed< 	 eed  ed< dS )zPaymentMethod.Idealabn_amroasn_bankbunqhandelsbankeningknabmoneyoun26nnrabobank	regiobankrevolutsns_banktriodos_bankvan_lanschotyoursafer   )ABNANL2AASNBNL21BITSNL2ABUNQNL2AFVLBNL22HANDNL2AINGBNL2AKNABNL2HMOYONL21NNBANL2GNTSBDEB1RABONL2URBRBNL21REVOIE23REVOLT21SNSBNL2ATRIONL2UbicNr   r'   r'   r'   r(   IdealX  s   
 r!  c                   @   s   e Zd ZU G d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< 	 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d< 	 ee
d  ed< 	 deiZdS )zPaymentMethod.InteracPresentc                   @   r   )z%PaymentMethod.InteracPresent.Networksr   r   Nr   r'   r'   r'   r(   r     r   r   rp   rs   r:   rt   rv   rw   r   rx   rz   r|   r   r   r   r   r   N)r"   r#   r$   r   r   r   r%   r&   rV   r   r   rE   r'   r'   r'   r(   InteracPresent  sF   
 
	r"  c                   @   s4   e Zd ZU G dd deZee ed< 	 deiZdS )zPaymentMethod.Klarnac                   @   r1   )zPaymentMethod.Klarna.DobdaymonthyearN)r"   r#   r$   r   rV   r&   r'   r'   r'   r(   Dob  r4   r&  dobN)r"   r#   r$   r   r&  r   r&   rE   r'   r'   r'   r(   Klarna  s
   
 r(  c                   @   r*   )zPaymentMethod.KonbiniNr+   r'   r'   r'   r(   Konbini  r-   r)  c                   @   r   )zPaymentMethod.LinkrB   persistent_tokenNr!   r'   r'   r'   r(   r     r   r   c                   @   r*   )zPaymentMethod.MobilepayNr+   r'   r'   r'   r(   	Mobilepay  r-   r+  c                   @   r*   )zPaymentMethod.MultibancoNr+   r'   r'   r'   r(   
Multibanco  r-   r,  c                   @   r*   )zPaymentMethod.OxxoNr+   r'   r'   r'   r(   Oxxo   r-   r-  c                   @   r   )zPaymentMethod.P24
alior_bankbank_millenniumbank_nowy_bfg_sabank_pekao_sabanki_spbdzielczeblikbnp_paribasbozciti_handlowycredit_agricole
envelobanketransfer_pocztowy24
getin_bankideabankr  inteligombank_mtransfernest_przelew	noble_paypbac_z_ipko	plus_banksantander_przelew24tmobile_usbugi_bankowetoyota_bankvelobankvolkswagen_bankr   Nr   r'   r'   r'   r(   P24     
 rH  c                   @   r*   )zPaymentMethod.PaynowNr+   r'   r'   r'   r(   Paynow&  r-   rJ  c                   @   r   )zPaymentMethod.Paypalpayer_emailpayer_idNr!   r'   r'   r'   r(   Paypal)  s
   
 rM  c                   @   r*   )zPaymentMethod.PixNr+   r'   r'   r'   r(   Pix4  r-   rN  c                   @   r*   )zPaymentMethod.PromptpayNr+   r'   r'   r'   r(   	Promptpay7  r-   rO  c                   @      e Zd ZU ee ed< dS )zPaymentMethod.RadarOptionssessionNr!   r'   r'   r'   r(   RadarOptions:  r   rR  c                   @   r*   )zPaymentMethod.RevolutPayNr+   r'   r'   r'   r(   
RevolutPay@  r-   rS  c                   @   sz   e Zd ZU G d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 ed< 	 deiZd	S )
zPaymentMethod.SepaDebitc                   @   r   )z%PaymentMethod.SepaDebit.GeneratedFromr   r   r   r   N)r"   r#   r$   r   r   r&   r'   r'   r'   r(   r   D  
   
 r   	bank_codebranch_coder:   r   r   r   N)	r"   r#   r$   r   r   r   r%   r&   rE   r'   r'   r'   r(   	SepaDebitC  s   
 
rW  c                   @   rP  )zPaymentMethod.Sofortr:   Nr!   r'   r'   r'   r(   Soforth  r   rX  c                   @   r*   )zPaymentMethod.SwishNr+   r'   r'   r'   r(   Swishn  r-   rY  c                   @   r*   )zPaymentMethod.TwintNr+   r'   r'   r'   r(   Twintq  r-   rZ  c                   @   s   e Zd ZU G dd deZG dd deZeed  ed< 	 e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dZ
dS )zPaymentMethod.UsBankAccountc                   @   s,   e Zd ZU ee ed< 	 eed  ed< dS )z$PaymentMethod.UsBankAccount.Networksr   )achus_domestic_wirer   N)r"   r#   r$   r   r%   r&   r   r   r'   r'   r'   r(   r   u  rX   r   c                   @   s2   e Zd ZU G dd deZee ed< deiZdS )z)PaymentMethod.UsBankAccount.StatusDetailsc                   @   r   )z1PaymentMethod.UsBankAccount.StatusDetails.Blocked)R02R03R04R05R07R08R10R11R16R20R29R31network_code)bank_account_closedbank_account_frozenbank_account_invalid_detailsbank_account_restrictedbank_account_unusabledebit_not_authorizedreasonNr   r'   r'   r'   r(   Blocked  s   
 
rq  blockedN)r"   r#   r$   r   rq  r   r&   rE   r'   r'   r'   r(   StatusDetails  s   
 "rs  r   r   rY   savingsr]   r   financial_connections_accountr   r   r   routing_numberstatus_details)r   rx  N)r"   r#   r$   r   r   rs  r   r   r&   r%   rE   r'   r'   r'   r(   UsBankAccountt  s0   
 
&
ry  c                   @   r*   )zPaymentMethod.WechatPayNr+   r'   r'   r'   r(   	WechatPay  r-   rz  c                   @   r*   )zPaymentMethod.ZipNr+   r'   r'   r'   r(   Zip  r-   r{  c                   @   s(   e Zd ZU eed< 	 eee  ed< dS )PaymentMethod.AttachParamscustomerexpandN)r"   r#   r$   r%   r&   r   r   r'   r'   r'   r(   AttachParams  s
   
 r  c                   @   s  e Zd ZU ed ed< 	 ed ed< 	 ed ed< 	 ed ed< 	 e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d ed< 	 ed ed< 	 ed ed< 	 ed ed< 	 ee ed< 	 ed ed< 	 ed  ed!< 	 eee  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d.< 	 ed/ ed0< 	 ed1 ed2< 	 eeeef  ed3< 	 ed4 ed5< 	 ed6 ed7< 	 ed8 ed9< 	 ed: ed;< 	 ee ed<< 	 ed= ed>< 	 ed? ed@< 	 edA edB< 	 edC edD< 	 edE edF< 	 edG edH< 	 edI edJ< 	 edK edL< 	 edM edN< 	 edO edP< 	 eedQ  edR< 	 edS edT< 	 edU edV< 	 edW edX< dYS )ZPaymentMethod.CreateParams#PaymentMethod.CreateParamsAcssDebit
acss_debit PaymentMethod.CreateParamsAffirmaffirm*PaymentMethod.CreateParamsAfterpayClearpayafterpay_clearpay PaymentMethod.CreateParamsAlipayalipayalwayslimitedunspecifiedallow_redisplay#PaymentMethod.CreateParamsAmazonPay
amazon_pay%PaymentMethod.CreateParamsAuBecsDebitau_becs_debit#PaymentMethod.CreateParamsBacsDebit
bacs_debit$PaymentMethod.CreateParamsBancontact
bancontact(PaymentMethod.CreateParamsBillingDetailsbilling_detailsPaymentMethod.CreateParamsBlikr4   PaymentMethod.CreateParamsBoletoboletoPaymentMethod.CreateParamsCardcard!PaymentMethod.CreateParamsCashappcashappr}  )PaymentMethod.CreateParamsCustomerBalancecustomer_balancePaymentMethod.CreateParamsEpsepsr~  PaymentMethod.CreateParamsFpxfpx!PaymentMethod.CreateParamsGiropaygiropay!PaymentMethod.CreateParamsGrabpaygrabpayPaymentMethod.CreateParamsIdealideal(PaymentMethod.CreateParamsInteracPresentinterac_present PaymentMethod.CreateParamsKlarnaklarna!PaymentMethod.CreateParamsKonbinikonbiniPaymentMethod.CreateParamsLinkr   metadata#PaymentMethod.CreateParamsMobilepay	mobilepay$PaymentMethod.CreateParamsMultibanco
multibancoPaymentMethod.CreateParamsOxxooxxoPaymentMethod.CreateParamsP24p24r    PaymentMethod.CreateParamsPaynowpaynow PaymentMethod.CreateParamsPaypalpaypalPaymentMethod.CreateParamsPixpix#PaymentMethod.CreateParamsPromptpay	promptpay&PaymentMethod.CreateParamsRadarOptionsradar_options$PaymentMethod.CreateParamsRevolutPayrevolut_pay#PaymentMethod.CreateParamsSepaDebit
sepa_debit PaymentMethod.CreateParamsSofortsofortPaymentMethod.CreateParamsSwishswishPaymentMethod.CreateParamsTwinttwint%r  r  r  r  r  r  r  r  r4  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  us_bank_account
wechat_payziprT   'PaymentMethod.CreateParamsUsBankAccountr  #PaymentMethod.CreateParamsWechatPayr  PaymentMethod.CreateParamsZipr  N)	r"   r#   r$   r   r&   r   r%   r   r   r'   r'   r'   r(   CreateParams  s   
 )r  c                   @   *   e Zd ZU eed< 	 eed< 	 eed< dS )r  account_numberr   r    NrJ   r'   r'   r'   r(   CreateParamsAcssDebit     
 r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsAffirm  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsAfterpayClearpay  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsAlipay  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsAmazonPay  r-   r  c                   @   s    e Zd ZU eed< 	 eed< dS )r  r  r2   NrJ   r'   r'   r'   r(   CreateParamsAuBecsDebit  s
   
 r  c                   @   r   )r  r  r5   Nr"   r#   r$   r   r%   r&   r'   r'   r'   r(   CreateParamsBacsDebit  r   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsBancontact  r-   r  c                   @   D   e Zd ZU ed ed< 	 ed ed< 	 ed ed< 	 ed ed< dS )r  z;Literal['']|PaymentMethod.CreateParamsBillingDetailsAddressrA   Literal['']|strrB   rC   rD   Nr"   r#   r$   r   r&   r'   r'   r'   r(   CreateParamsBillingDetails     
 r  c                   @   r8   )z/PaymentMethod.CreateParamsBillingDetailsAddressr9   r:   r;   r<   r=   r>   Nr  r'   r'   r'   r(   !CreateParamsBillingDetailsAddress  r@   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsBlik)  r-   r  c                   @   rH   )r  rI   NrJ   r'   r'   r'   r(   CreateParamsBoleto,  rL   r  c                   @   s`   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< 	 ee ed< dS )	r  cvcrv   rw   &PaymentMethod.CreateParamsCardNetworksr   numbertokenN)r"   r#   r$   r   r%   r&   rV   r'   r'   r'   r(   CreateParamsCard2  r@   r  c                   @   r   )r  )cartes_bancaires
mastercardvisar   Nr"   r#   r$   r   r   r&   r'   r'   r'   r(   CreateParamsCardNetworksL  s
   
 r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsCashappT  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsCustomerBalanceW  r-   r  c                   @   r   )r  r   r   Nr  r'   r'   r'   r(   CreateParamsEpsZ  r   r  c                   @   r   )r  r   r   r   r   Nr  r'   r'   r'   r(   CreateParamsFpx  r   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsGiropay  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsGrabpay  r-   r  c                   @   r   )r  r   r   Nr  r'   r'   r'   r(   CreateParamsIdeal  s   
 r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsInteracPresent  r-   r  c                   @   rg   )r  #PaymentMethod.CreateParamsKlarnaDobr'  Nr  r'   r'   r'   r(   CreateParamsKlarna  r   r  c                   @   r  )r  r#  r$  r%  N)r"   r#   r$   rV   r&   r'   r'   r'   r(   CreateParamsKlarnaDob  r  r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsKonbini  r-   r   c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsLink  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsMobilepay  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsMultibanco  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsOxxo  r-   r  c                   @   r   )r  r.  r   Nr  r'   r'   r'   r(   CreateParamsP24  rI  r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsPaynow  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsPaypal  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsPix  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsPromptpay  r-   r	  c                   @   rP  )r  rQ  Nr  r'   r'   r'   r(   CreateParamsRadarOptions  r   r
  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsRevolutPay  r-   r  c                   @   rH   )r  ibanNrJ   r'   r'   r'   r(   CreateParamsSepaDebit  rL   r  c                   @   rg   )r  )ATBEDEESITNLr:   Nrl   r'   r'   r'   r(   CreateParamsSofort#  r   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsSwish)  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsTwint,  r-   r  c                   @   sZ   e Zd ZU eed  ed< 	 ee ed< 	 eed  ed< 	 ee ed< 	 ee ed< dS )	r  r   r   r  rt  r]   rv  rw  N)r"   r#   r$   r   r   r&   r%   r'   r'   r'   r(   CreateParamsUsBankAccount/  s   
 r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsWechatPayE  r-   r  c                   @   r*   )r  Nr+   r'   r'   r'   r(   CreateParamsZipH  r-   r  c                   @      e Zd ZU eee  ed< dS )PaymentMethod.DetachParamsr~  Nr"   r#   r$   r   r   r%   r&   r'   r'   r'   r(   DetachParamsK     
 r  c                   @   sh   e Zd ZU 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d< dS )	PaymentMethod.ListParamsr}  ending_beforer~  limitstarting_afterr  rT   N)	r"   r#   r$   r   r%   r&   r   rV   r   r'   r'   r'   r(   
ListParamsQ  s"   
 )r#  c                   @   sv   e Zd ZU eed  ed< 	 ed ed< 	 ed ed< 	 eee  ed< 	 ed ed	< 	 ed
 ed< 	 ed ed< dS )PaymentMethod.ModifyParamsr  r  (PaymentMethod.ModifyParamsBillingDetailsr  PaymentMethod.ModifyParamsCardr  r~  PaymentMethod.ModifyParamsLinkr   zLiteral['']|Dict[str, str]r  'PaymentMethod.ModifyParamsUsBankAccountr  N)r"   r#   r$   r   r   r&   r   r%   r'   r'   r'   r(   ModifyParams  s&   
 r)  c                   @   r  )r%  z;Literal['']|PaymentMethod.ModifyParamsBillingDetailsAddressrA   r  rB   rC   rD   Nr  r'   r'   r'   r(   ModifyParamsBillingDetails  r  r*  c                   @   r8   )z/PaymentMethod.ModifyParamsBillingDetailsAddressr9   r:   r;   r<   r=   r>   Nr  r'   r'   r'   r(   !ModifyParamsBillingDetailsAddress  r@   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   &PaymentMethod.ModifyParamsCardNetworksr   N)r"   r#   r$   r   rV   r&   r'   r'   r'   r(   ModifyParamsCard  r4   r-  c                   @   rg   )r,  z=Literal['']|Literal['cartes_bancaires', 'mastercard', 'visa']r   Nr  r'   r'   r'   r(   ModifyParamsCardNetworks  rn   r.  c                   @   r*   )r'  Nr+   r'   r'   r'   r(   ModifyParamsLink  r-   r/  c                   @   r   )r(  r   r   rt  r]   Nr  r'   r'   r'   r(   ModifyParamsUsBankAccount  rT  r0  c                   @   r  )PaymentMethod.RetrieveParamsr~  Nr  r'   r'   r'   r(   RetrieveParams  r  r2  r  r  r  r  r  r  r  r  r  r  r  r4  r  r  r   r  createdr   r}  r  r  r  r  r  idr  r  r  r  r   livemoder  r  r  objectr  r  r  r  r  r  r  r  r  r  r  r  )'r  r  r  r  r  r  r  r  r4  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  rT   r  r  r  paramsr|  returnc                 K   "   t d| jddjt|d|dS )  
        Attaches a PaymentMethod object to a Customer.

        To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://stripe.com/docs/api/setup_intents)
        or a PaymentIntent with [setup_future_usage](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage).
        These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach
        endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for
        future use, which makes later declines and payment friction more likely.
        See [Optimizing cards for future payments](https://stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up
        future payments.

        To use this PaymentMethod as the default for invoice or subscription payments,
        set [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method),
        on the Customer to the PaymentMethod's ID.
        r   post+/v1/payment_methods/{payment_method}/attachr   r7  r   _static_requestformatr
   clsr   r7  r'   r'   r(   _cls_attach  s   zPaymentMethod._cls_attachc                 K      dS r:  Nr'   r   r7  r'   r'   r(   attach  s   zPaymentMethod.attachc                 K   rE  rF  r'   selfr7  r'   r'   r(   rH    s   rD  c              	   K   (   t d| jddjt| dd|dS )r:  r   r;  r<  r4  r=  r>  r   _requestrA  r
   getrI  r'   r'   r(   rH    s   c                    *   t d| jddjt|d|dI dH S )r:  r   r;  r<  r=  r>  Nr   _static_request_asyncrA  r
   rB  r'   r'   r(   _cls_attach_async  s   
zPaymentMethod._cls_attach_asyncc                       dS rF  r'   rG  r'   r'   r(   attach_async
	  s   zPaymentMethod.attach_asyncc                    rS  rF  r'   rI  r'   r'   r(   rT   	  s   rR  c              	      0   t d| jddjt| dd|dI dH S )r:  r   r;  r<  r4  r=  r>  Nr   _request_asyncrA  r
   rN  rI  r'   r'   r(   rT  5	  s   
r  c                 K   s   t d| jd|  |dS )  
        Creates a PaymentMethod object. Read the [Stripe.js reference](https://stripe.com/docs/stripe-js/reference#stripe-create-payment-method) to learn how to create PaymentMethods via Stripe.js.

        Instead of creating a PaymentMethod directly, we recommend using the [PaymentIntents API to accept a payment immediately or the <a href="/docs/payments/save-and-reuse">SetupIntent](https://stripe.com/docs/payments/accept-a-payment) API to collect payment method details ahead of a future payment.
        r   r;  r>  )r   r@  	class_urlrC  r7  r'   r'   r(   createS	  s   	zPaymentMethod.createc                    s"   t d| jd|  |dI dH S )rX  r   r;  r>  N)r   rQ  rY  rZ  r'   r'   r(   create_asynce	  s   	
zPaymentMethod.create_asyncr  c                 K   r9  )
        Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.
        r   r;  +/v1/payment_methods/{payment_method}/detachr=  r>  r?  rB  r'   r'   r(   _cls_detachw	  s   	zPaymentMethod._cls_detachc                 K   rE  r]  Nr'   rG  r'   r'   r(   detach	  s   zPaymentMethod.detachc                 K   rE  r`  r'   rI  r'   r'   r(   ra  	  s   r_  c              	   K   rK  )r]  r   r;  r^  r4  r=  r>  rL  rI  r'   r'   r(   ra  	  s   c                    rO  )r]  r   r;  r^  r=  r>  NrP  rB  r'   r'   r(   _cls_detach_async	  s   	
zPaymentMethod._cls_detach_asyncc                    rS  r`  r'   rG  r'   r'   r(   detach_async	  s   zPaymentMethod.detach_asyncc                    rS  r`  r'   rI  r'   r'   r(   rc  	  s   rb  c              	      rU  )r]  r   r;  r^  r4  r=  r>  NrV  rI  r'   r'   r(   rc  	  s   
r  c                 K   s4   | j d|  |d}t|tstdt|j |S )  
        Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the [List a Customer's PaymentMethods](https://stripe.com/docs/api/payment_methods/customer_list) API instead.
        rN  r>  %Expected list object from API, got %s)r@  rY  
isinstancer   	TypeErrorrT   r"   rC  r7  resultr'   r'   r(   list	  s   
zPaymentMethod.listc                    s<   | j d|  |dI dH }t|tstdt|j |S )rd  rN  r>  Nre  )rQ  rY  rf  r   rg  rT   r"   rh  r'   r'   r(   
list_async	  s   
zPaymentMethod.list_asyncr$  c                 K   s*   d|   t|f }td| jd||dS )l
        Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
        %s/%sr   r;  r>  )rY  r
   r   r@  rC  r4  r7  urlr'   r'   r(   modify
  s   zPaymentMethod.modifyc                    s2   d|   t|f }td| jd||dI dH S )rl  rm  r   r;  r>  N)rY  r
   r   rQ  rn  r'   r'   r(   modify_async"
  s   
zPaymentMethod.modify_asyncr1  c                 K   s   | |fi |}|   |S )
        Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use [Retrieve a Customer's PaymentMethods](https://stripe.com/docs/api/payment_methods/customer)
        )refreshrC  r4  r7  instancer'   r'   r(   retrieve3
  s   zPaymentMethod.retrievec                    s$   | |fi |}|  I dH  |S )rr  N)refresh_asyncrt  r'   r'   r(   retrieve_async>
  s   zPaymentMethod.retrieve_async)r  r  r  r  r  r  r  N)r"   r#   r$   __doc__r   r   r   r&   r   r)   r,   r.   r/   r0   r3   r6   r7   rF   rG   rK   r   r   r   r   r   r   r   r   r!  r"  r(  r)  r   r+  r,  r-  rH  rJ  rM  rN  rO  rR  rS  rW  rX  rY  rZ  ry  rz  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  r  r  r  r  r  r#  r)  r*  r+  r-  r.  r/  r0  r2  r   rV   r   r%   r   r   classmethodr   rD  r   staticmethodrH  r	   rR  rT  r[  r\  r_  ra  rb  rc  r   rj  rk  rp  rq  rv  rx  rE   r'   r'   r'   r(   r      s8  
 -   vl
%!1O
#%Z
 m

%!#B"
)

	
 !"#r   N)%stripe._createable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr	   r
   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   stripe._charger   stripe._customerr   stripe._setup_attemptr   r   r'   r'   r'   r(   <module>   s&    
