
    jof                       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 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!m"Z"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+ e+rNd dl,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9 d dl:m;Z; d dl<m=Z= d dl>m?Z? d dl@mAZA d dlBmCZC d dlDmEZE  ed           ed           ed           ed            G d! d"ed"         ed"         e	d"         ed"         ed"                                                                   ZFeFeFjG        _H        d#S )$    )CreateableAPIResource)DeletableAPIResource)ExpandableField)
ListObject)ListableAPIResource)nested_resource_class_methods)RequestOptions)SearchResultObject)SearchableAPIResource)StripeObject)APIResourceTestHelpers)UpdateableAPIResource)class_method_variantsanitize_id)	AsyncIteratorClassVarDictIteratorListOptionalUnioncastoverload)LiteralNotRequiredType	TypedDictUnpackTYPE_CHECKING)Account)BankAccount)Card)CashBalance)CustomerBalanceTransaction)CustomerCashBalanceTransaction)Discount)FundingInstructions)PaymentMethod)Source)Subscription)TaxId)	TestClockbalance_transactioncash_balance_transactionsourcetax_idc            
       ,   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          Z0 G dP dQe          Z1 G dR dSe          Z2 G dT dUe          Z3 G dV dWe          Z4 G dX dYe          Z5 G dZ d[e          Z6 G d\ d]e          Z7 G d^ d_e          Z8 G d` dae          Z9 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          ZA G dr dse          ZB G dt due          ZCeDe	         edv<   	 eDeE         edw<   	 eDdx         edy<   	 eEedz<   	 eDeF         ed{<   	 eDeGeHd|                           ed}<   	 eDeI         ed~<   	 eDeF         ed<   	 eDd         ed<   	 eDeF         ed<   	 eFed<   	 eDeJeFeEf                  ed<   	 eDeF         ed<   	 eDe
         ed<   eIed<   	 eDeJeFeFf                  ed<   	 eDeF         ed<   	 eDeE         ed<   	 ed         ed<   	 eDeF         ed<   	 eDeKeF                  ed<   	 eDe         ed<   	 eDeLeHd|                           ed<   	 eDeLd                  ed<   	 eDe         ed<   eDed                  ed<   	 eDeLd                  ed<   	 eDeGd                  ed<   	 eDed                  ed<   	 eMdeNd         dd fd            ZOeMdeNd         dd fd            ZPeMdeFdeNd         ddfd            ZQeReSdeFdeNd         ddfd                        ZTeRdeNd         ddfd            ZT eUd          deNd         ddfd            ZTeMdeFdeNd         ddfd            ZVeReSdeFdeNd         ddfd                        ZWeRdeNd         ddfd            ZW eUd          deNd         ddfd            ZWeMdeFdeNd         dd fd            ZXeReSdeFdeNd         dd fd                        ZYeRdeNd         dd fd            ZY eUd          deNd         dd fd            ZYeMdeFdeNd         dd fd            ZZeReSdeFdeNd         dd fd                        Z[eRdeNd         dd fd            Z[ eUd          deNd         dd fd            Z[eMdeFdeNd         ddfd            Z\eReSdeFdeNd         ddfd                        Z]eRdeNd         ddfd            Z] eUd          deNd         ddfd            Z]eMdeFdeNd         ddfd            Z^eReSdeFdeNd         ddfd                        Z_eRdeNd         ddfd            Z_ eUd          deNd         ddfd            Z_eMdeNd         deLd          fdĄ            Z`eMdeNd         deLd          fdń            ZaeMdeFdeNd         deLd         fdȄ            ZbeReSdeFdeNd         deLd         fdɄ                        ZceRdeNd         deLd         fdʄ            Zc eUd˦          deNd         deLd         fd̄            ZceMdeFdeNd         deLd         fd̈́            ZdeReSdeFdeNd         deLd         fd΄                        ZeeRdeNd         deLd         fdτ            Ze eUdЦ          deNd         deLd         fdф            ZeeMdeFdeNd         dd fdӄ            ZfeMdeFdeNd         dd fdԄ            ZgeMdeFdeNd         dd fdք            ZheMdeFdeNd         dd fdׄ            ZieMdeFdeFdeNd         ddfdڄ            ZjeReSdeFdeFdeNd         ddfdۄ                        ZkeRdeFdeNd         ddfd܄            Zk eUdݦ          deFdeNd         ddfdބ            ZkeMdeFdeFdeNd         ddfd߄            ZleReSdeFdeFdeNd         ddfd                        ZmeRdeFdeNd         ddfd            Zm eUd          deFdeNd         ddfd            ZmeMdeNd         dend          fd            ZoeMdeNd         dend          fd            ZpeMdeNd         deqd          fd            ZreMdeNd         desd          fd            ZteMdeFdeNd         ddfd            ZueMdeFdeNd         ddfd            ZveMdeFdeFdeNd         ddfd            ZweMdeFdeFdeNd         ddfd            ZxeMdeFdeFdeNd         ddfd            ZyeMdeFdeFdeNd         ddfd            ZzeMdeFdeNd         deLd         fd            Z{eMdeFdeNd         deLd         fd            Z|eMdeFdeFdeNd         ddfd            Z}eMdeFdeFdeNd         ddfd            Z~eMdeFdeNd         deLd         fd            ZeMdeFdeNd         deLd         fd            ZeMdeFdeNd         deHd|         fd             ZeMdeFdeNd         deHd|         fd            ZeMdeFdeFdeNd         deHd|         fd            ZeMdeFdeFdeNd         deHd|         fd            ZeMdeFdeFdeNd         deHd|         fd            ZeMdeFdeFdeNd         deHd|         fd            ZeMdeFdeFdeNd         deHd|         fd	            ZeMdeFdeFdeNd         deHd|         fd
            ZeMdeFdeNd         deLeHd|                  fd            ZeMdeFdeNd         deLeHd|                  fd            ZeMdeFdeNd         ddfd            ZeMdeFdeNd         ddfd            ZeMdeFdeFdeNd         ddfd            ZeMdeFdeFdeNd         ddfd            ZeMdeFdeFdeNd         ddfd            ZeMdeFdeFdeNd         ddfd            ZeMdeFdeNd         deLd         fd            ZeMdeFdeNd         deLd         fd            ZeMdeFdeNd         ddxfd            ZeMdeFdeNd         ddxfd            ZeMdeFdeNd         ddxfd            ZeMdeFdeNd         ddxfd            Z G d  d!ed                    Zed"             Ze	e
eed#Zd$S (%  Customerz
    This object represents a customer of your business. Use it to create recurring charges and track payments that belong to the same customer.

    Related guide: [Save a card during payment](https://stripe.com/docs/payments/save-during-payment)
    customerOBJECT_NAMEc                       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 )Customer.Addresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     J/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_customer.pyAddressr6   I   s         sm	 #	 }	 }	 c]"""	 }	 	rD   rF   c                       e Zd ZU  G d de          Z G d de          Zeee                  ed<   	 ee	d                  ed<   	 ee
         ed<   	 ee         ed	<   	 eed
ZdS )Customer.InvoiceSettingsc                   &    e Zd ZU eed<   	 eed<   dS )$Customer.InvoiceSettings.CustomFieldnamevalueNr>   r?   r@   rA   rB   rC   rD   rE   CustomFieldrJ   d   s/         III JJJ rD   rN   c                   &    e Zd ZU ee         ed<   dS ))Customer.InvoiceSettings.RenderingOptionsamount_tax_displayNr=   rC   rD   rE   RenderingOptionsrP   n   s&          (--- rD   rR   custom_fieldsr(   default_payment_methodfooterrendering_options)rS   rV   N)r>   r?   r@   r   rN   rR   r   r   rB   r   rA   _inner_class_typesrC   rD   rE   InvoiceSettingsrH   c   s         	 	 	 	 	, 	 	 		 	 	 	 	| 	 	 	  [ 12222	 !))I JJJJ	 	 $$45555	 )!1
 
rD   rX   c                       e Zd ZU  G d de          Z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 )	Customer.Shippingc                       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 )Customer.Shipping.Addressr7   r8   r9   r:   r;   r<   Nr=   rC   rD   rE   rF   r\      s         3- c]""" C=    C=    "#&&& C=    rD   rF   addresscarrierrK   phonetracking_numberN)	r>   r?   r@   r   rF   r   rB   rA   rW   rC   rD   rE   ShippingrZ      s         	 	 	 	 	l 	 	 	4 '""""#	 sm	 }	 "#&&&	 (1rD   ra   c                   |    e Zd ZU  G d de          Zed         ed<   	 ee         ed<   	 ee         ed<   	 deiZ	dS )Customer.Taxc                   J    e Zd ZU eed<   	 ed         ed<   	 ee         ed<   dS )Customer.Tax.Locationr8   )billing_address
ip_addresspayment_methodshipping_destinationr/   r<   N)r>   r?   r@   rA   rB   r   r   rC   rD   rE   Locationre      sY         LLL (    C=    rD   rj   )failednot_collecting	supportedunrecognized_locationautomatic_taxrg   locationN)
r>   r?   r@   r   rj   r   rB   r   rA   rW   rC   rD   rE   Taxrc      s         	 	 	 	 	| 	 	 	& L
 	
 	
 	
	 SM!!!	 8$$$$	 )(3rD   rq   c                   z    e Zd ZU eed<   	 eed<   	 ee         ed<   	 eee                  ed<   	 ed         ed<   dS )'Customer.CreateBalanceTransactionParamsamountcurrencydescriptionexpandLiteral['']|Dict[str, str]metadataNr>   r?   r@   intrB   rA   r   r   rC   rD   rE   CreateBalanceTransactionParamsrs      s|         	 	 !%%%%	 DI&&&&	 :;;;;	 	rD   r|   c                   b    e Zd ZU ded<   	 eed<   	 eee                  ed<   	 ed         ed<   dS )(Customer.CreateFundingInstructionsParams4Customer.CreateFundingInstructionsParamsBankTransferbank_transferru   rw   funding_typeN)r>   r?   r@   rB   rA   r   r   r   rC   rD   rE   CreateFundingInstructionsParamsr~      sf         MMMM	 	 DI&&&&	 o....	 	rD   r   c                   n    e Zd ZU ed         ed<   	 eeed                           ed<   	 ed         ed<   dS )r   BCustomer.CreateFundingInstructionsParamsBankTransferEuBankTransfereu_bank_transfer)iban	sort_codespeizenginrequested_address_types)r   gb_bank_transferjp_bank_transfermx_bank_transferus_bank_transfertypeN)r>   r?   r@   r   rB   r   r   rC   rD   rE   +CreateFundingInstructionsParamsBankTransferz4Customer.CreateFundingInstructionsParamsBankTransfer  s         %P
 	
 	
 	
	 "->?@"
 	
 	
 	
	
  
 	
 	
 	
	 	rD   r   c                       e Zd ZU eed<   dS )r   r8   NrM   rC   rD   rE   9CreateFundingInstructionsParamsBankTransferEuBankTransferzBCustomer.CreateFundingInstructionsParamsBankTransferEuBankTransfer  s         	 	rD   r   c                   T   e Zd ZU 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                  ed	<   	 ee         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                  ed<   	 ee         ed<   	 ed         ed<   	 ee         ed<   ed         ed<   	 ed         ed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   d S )!Customer.CreateParamsz(Literal['']|Customer.CreateParamsAddressr]   balance Customer.CreateParamsCashBalancecash_balancecouponrv   emailrw   invoice_prefix$Customer.CreateParamsInvoiceSettingsinvoice_settingsrx   ry   rK   next_invoice_sequencerh   r_   preferred_localespromotion_codez)Literal['']|Customer.CreateParamsShippingshippingr/   Customer.CreateParamsTaxtax0Literal['']|Literal['exempt', 'none', 'reverse']
tax_exemptCustomer.CreateParamsTaxIdDatumtax_id_data
test_clockvalidateN	r>   r?   r@   r   rB   r{   rA   r   boolrC   rD   rE   CreateParamsr   #  s;        GHHHH	 S!!!!	 ""DEEEE	 C     %%%%	 3	 DI&&&&	 $C((((	 &&LMMMM	 :;;;;	 #	  +3////	 $C((((3	 'tCy1111	 $C((((	 IJJJJ	 C    34444	  >
 	
 	
 	
	 !&G!HIIII	  $$$$	 d######rD   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<   dS )Customer.CreateParamsAddressr7   r8   r9   r:   r;   r<   Nr>   r?   r@   r   rA   rB   rC   rD   rE   CreateParamsAddressr   w           #	 S!!!!	 3	 3	 !%%%%	 3	 	rD   r   c                   &    e Zd ZU ed         ed<   dS )r   (Customer.CreateParamsCashBalanceSettingssettingsNr>   r?   r@   r   rB   rC   rD   rE   CreateParamsCashBalancez Customer.CreateParamsCashBalance  (         HIIII	 	rD   r   c                   2    e Zd ZU eed                  ed<   dS )r   	automaticmanualmerchant_defaultreconciliation_modeNr>   r?   r@   r   r   rB   rC   rD   rE   CreateParamsCashBalanceSettingsz(Customer.CreateParamsCashBalanceSettings  6         (=>
 	
 	
 	
	 	rD   r   c                   n    e Zd ZU ed         ed<   	 ee         ed<   	 ee         ed<   	 ed         ed<   dS )r   zALiteral['']|List[Customer.CreateParamsInvoiceSettingsCustomField]rS   rT   rU   z@Literal['']|Customer.CreateParamsInvoiceSettingsRenderingOptionsrV   Nr>   r?   r@   r   rB   rA   rC   rD   rE   CreateParamsInvoiceSettingsz$Customer.CreateParamsInvoiceSettings           "O
 	
 	
 	
	 !,C 0000	 C    	 'N
 	
 	
 	
	 	rD   r   c                   &    e Zd ZU eed<   	 eed<   dS )/Customer.CreateParamsInvoiceSettingsCustomFieldrK   rL   NrM   rC   rD   rE   &CreateParamsInvoiceSettingsCustomFieldr     /         				 


	 	rD   r   c                   &    e Zd ZU ed         ed<   dS )4Customer.CreateParamsInvoiceSettingsRenderingOptions;Literal['']|Literal['exclude_tax', 'include_inclusive_tax']rQ   Nr   rC   rD   rE   +CreateParamsInvoiceSettingsRenderingOptionsr     0         'I
 	
 	
 	
	 	rD   r   c                   >    e Zd ZU ded<   	 eed<   	 ee         ed<   dS )Customer.CreateParamsShipping$Customer.CreateParamsShippingAddressr]   rK   r_   Nr>   r?   r@   rB   rA   r   rC   rD   rE   CreateParamsShippingr     J         7777	 				 3	 	rD   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<   dS )r   r7   r8   r9   r:   r;   r<   Nr   rC   rD   rE   CreateParamsShippingAddressz$Customer.CreateParamsShippingAddress  r   rD   r   c                   J    e Zd ZU ed         ed<   	 eed                  ed<   dS )r   Literal['']|strrg   deferredimmediatelyvalidate_locationNr>   r?   r@   r   rB   r   rC   rD   rE   CreateParamsTaxzCustomer.CreateParamsTax  F          12222	 'w/H'IJJJJ	 	rD   r   c                   2    e Zd ZU ed         ed<   	 eed<   dS )r   Iad_nrtae_trnar_cuitau_abnau_arnbg_uicbh_vatbo_tinbr_cnpjbr_cpfca_bn
ca_gst_hst	ca_pst_bc	ca_pst_mb	ca_pst_skca_qstch_uidch_vatcl_tincn_tinco_nitcr_tinde_stndo_rcnec_ruceg_tines_cif
eu_oss_vateu_vatgb_vatge_vathk_brhu_tinid_npwpil_vatin_gstis_vatjp_cnjp_rnjp_trnke_pinkr_brnkz_binli_uidmx_rfcmy_frpmy_itnmy_sstng_tinno_vatno_voecnz_gstom_vatpe_rucph_tinro_tinrs_pibru_innru_kppsa_vatsg_gstsg_uensi_tinsv_nitth_vattr_tintw_vatua_vatus_einuy_rucve_rifvn_tinza_vatr   rL   N)r>   r?   r@   r   rB   rA   rC   rD   rE   CreateParamsTaxIdDatumzCustomer.CreateParamsTaxIdDatum  sH         HJ
 J	
 J	
 J	
V	 


	 	rD   r)  c                   ~    e Zd ZU eee                  ed<   	 eeeef                  ed<   	 eed<   	 ee         ed<   dS )Customer.CreateSourceParamsrw   ry   r/   r   N)	r>   r?   r@   r   r   rA   rB   r   r   rC   rD   rE   CreateSourceParamsr+  N  so         DI&&&&	 d38n----	 	 d######rD   r,  c                   V    e Zd ZU eee                  ed<   	 ed         ed<   	 eed<   dS )Customer.CreateTaxIdParamsrw   r   r   rL   N)r>   r?   r@   r   r   rA   rB   r   rC   rD   rE   CreateTaxIdParamsr.  ]  sd         DI&&&&	 HJ
 J	
 J	
 J	
V	 


	 	rD   r/  c                       e Zd ZdS )Customer.DeleteDiscountParamsNr>   r?   r@   rC   rD   rE   DeleteDiscountParamsr1            rD   r3  c                       e Zd ZdS )Customer.DeleteParamsNr2  rC   rD   rE   DeleteParamsr6    r4  rD   r7  c                   2    e Zd ZU eee                  ed<   dS )Customer.DeleteSourceParamsrw   Nr>   r?   r@   r   r   rA   rB   rC   rD   rE   DeleteSourceParamsr9    +         DI&&&&	 	rD   r;  c                       e Zd ZdS )Customer.DeleteTaxIdParamsNr2  rC   rD   rE   DeleteTaxIdParamsr>    r4  rD   r?  c                   b    e Zd ZU eed<   	 eed<   	 eee                  ed<   	 ee         ed<   dS )Customer.FundCashBalanceParamsrt   ru   rw   	referenceNrz   rC   rD   rE   FundCashBalanceParamsrA    sc         	 	 DI&&&&	 s####	 	rD   rC  c                   z    e Zd ZU ee         ed<   	 eee                  ed<   	 ee         ed<   	 ee         ed<   dS )&Customer.ListBalanceTransactionsParamsending_beforerw   limitstarting_afterNr>   r?   r@   r   rA   rB   r   r{   rC   rD   rE   ListBalanceTransactionsParamsrE    s         "3''''	 DI&&&&	 3	 $C((((	 	rD   rJ  c                   z    e Zd ZU ee         ed<   	 eee                  ed<   	 ee         ed<   	 ee         ed<   dS )*Customer.ListCashBalanceTransactionsParamsrF  rw   rG  rH  NrI  rC   rD   rE   !ListCashBalanceTransactionsParamsrM    rK  rD   rN  c                       e Zd ZU ed         ed<   	 ee         ed<   	 ee         ed<   	 eee                  ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   d	S )
Customer.ListParamszCustomer.ListParamsCreated|intcreatedr   rF  rw   rG  rH  r   N)r>   r?   r@   r   rB   rA   r   r{   rC   rD   rE   
ListParamsrP    s         =>>>>	 3	 #3''''	 DI&&&&	 3	 $C((((	  $$$$	 	rD   rR  c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )Customer.ListParamsCreatedgtgteltlteN)r>   r?   r@   r   r{   rB   rC   rD   rE   ListParamsCreatedrT    so         	 	 	 	 	rD   rY  c                       e Zd ZU eed                  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 )
!Customer.ListPaymentMethodsParams)alwayslimitedunspecifiedallow_redisplayrF  rw   rG  rH  )%
acss_debitaffirmafterpay_clearpayalipay
amazon_payau_becs_debit
bacs_debit
bancontactblikboletocardcashappcustomer_balanceepsfpxgiropaygrabpayidealklarnakonbinilink	mobilepay
multibancooxxop24paynowpaypalpix	promptpayrevolut_pay
sepa_debitsofortswishtwintus_bank_account
wechat_payzipr   N)	r>   r?   r@   r   r   rB   rA   r   r{   rC   rD   rE   ListPaymentMethodsParamsr[  *  s         $67
 	
 	
 	
	 #3''''	 DI&&&&	 3	 $C((((	 $&(
 (	
 (	
 (	
R	 	rD   r  c                       e Zd ZU ee         ed<   	 eee                  ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )Customer.ListSourcesParamsrF  rw   rG  objectrH  NrI  rC   rD   rE   ListSourcesParamsr  n  s         "3''''	 DI&&&&	 3	 C    	 $C((((	 	rD   r  c                   z    e Zd ZU ee         ed<   	 eee                  ed<   	 ee         ed<   	 ee         ed<   dS )Customer.ListTaxIdsParamsrF  rw   rG  rH  NrI  rC   rD   rE   ListTaxIdsParamsr    rK  rD   r  c                   b    e Zd ZU ee         ed<   	 eee                  ed<   	 ed         ed<   dS )'Customer.ModifyBalanceTransactionParamsrv   rw   rx   ry   N)r>   r?   r@   r   rA   rB   r   rC   rD   rE   ModifyBalanceTransactionParamsr    s\          %%%%	 DI&&&&	 :;;;;	 	rD   r  c                   J    e Zd ZU eee                  ed<   	 ed         ed<   dS ) Customer.ModifyCashBalanceParamsrw   (Customer.ModifyCashBalanceParamsSettingsr   Nr:  rC   rD   rE   ModifyCashBalanceParamsr    sD         DI&&&&	 HIIII	 	rD   r  c                   2    e Zd ZU eed                  ed<   dS )r  r   r   Nr   rC   rD   rE   ModifyCashBalanceParamsSettingsz(Customer.ModifyCashBalanceParamsSettings  r   rD   r  c                      e Zd ZU 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                  ed
<   	 ee         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                  ed<   	 ee         ed<   	 ed         ed<   	 ee         ed<   ed         ed<   	 ed         ed<   	 ee         ed<   dS )Customer.ModifyParamsz(Literal['']|Customer.ModifyParamsAddressr]   r    Customer.ModifyParamsCashBalancer   r   default_sourcerv   r   rw   r   $Customer.ModifyParamsInvoiceSettingsr   rx   ry   rK   r   r_   r   r   z)Literal['']|Customer.ModifyParamsShippingr   r/   Customer.ModifyParamsTaxr   r   r   r   Nr   rC   rD   rE   ModifyParamsr    s        GHHHH	 S!!!!	 ""DEEEE	 C    #C((((	 !%%%%	 3	 DI&&&&	 $C((((	 &&LMMMM	 :;;;;	 #	  +3////	 3	 'tCy1111	 $C((((	 IJJJJ	 C    34444	  >
 	
 	
 	
	 d######rD   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<   dS )Customer.ModifyParamsAddressr7   r8   r9   r:   r;   r<   Nr   rC   rD   rE   ModifyParamsAddressr  	  r   rD   r  c                   &    e Zd ZU ed         ed<   dS )r  (Customer.ModifyParamsCashBalanceSettingsr   Nr   rC   rD   rE   ModifyParamsCashBalancez Customer.ModifyParamsCashBalance#  r   rD   r  c                   2    e Zd ZU eed                  ed<   dS )r  r   r   Nr   rC   rD   rE   ModifyParamsCashBalanceSettingsz(Customer.ModifyParamsCashBalanceSettings*  r   rD   r  c                   n    e Zd ZU ed         ed<   	 ee         ed<   	 ee         ed<   	 ed         ed<   dS )r  zALiteral['']|List[Customer.ModifyParamsInvoiceSettingsCustomField]rS   rT   rU   z@Literal['']|Customer.ModifyParamsInvoiceSettingsRenderingOptionsrV   Nr   rC   rD   rE   ModifyParamsInvoiceSettingsz$Customer.ModifyParamsInvoiceSettings2  r   rD   r  c                   &    e Zd ZU eed<   	 eed<   dS )/Customer.ModifyParamsInvoiceSettingsCustomFieldrK   rL   NrM   rC   rD   rE   &ModifyParamsInvoiceSettingsCustomFieldr  H  r   rD   r  c                   &    e Zd ZU ed         ed<   dS )4Customer.ModifyParamsInvoiceSettingsRenderingOptionsr   rQ   Nr   rC   rD   rE   +ModifyParamsInvoiceSettingsRenderingOptionsr  R  r   rD   r  c                   >    e Zd ZU ded<   	 eed<   	 ee         ed<   dS )Customer.ModifyParamsShipping$Customer.ModifyParamsShippingAddressr]   rK   r_   Nr   rC   rD   rE   ModifyParamsShippingr  Z  r   rD   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<   dS )r  r7   r8   r9   r:   r;   r<   Nr   rC   rD   rE   ModifyParamsShippingAddressz$Customer.ModifyParamsShippingAddressh  r   rD   r  c                   J    e Zd ZU ed         ed<   	 eed                  ed<   dS )r  r   rg   r   r   Nr   rC   rD   rE   ModifyParamsTaxzCustomer.ModifyParamsTax  r   rD   r  c                   v   e Zd ZU ee         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         ed<   	 eee                  ed<   	 ed         ed<   	 ee         ed<   	 ed         ed<   dS )Customer.ModifySourceParamsaccount_holder_name)company
individualaccount_holder_typeaddress_cityaddress_countryaddress_line1address_line2address_stateaddress_zip	exp_monthexp_yearrw   rx   ry   rK    Customer.ModifySourceParamsOwnerownerN)r>   r?   r@   r   rA   rB   r   r   rC   rD   rE   ModifySourceParamsr    sg        (----	 )1H)IJJJJ	 "#&&&&	 %S))))	 #3''''	 #3''''	 #3''''	 !%%%%	 s####	 c""""	 DI&&&&	 :;;;;	 #	 =>>>>>>rD   r  c                   n    e Zd ZU ed         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )r  'Customer.ModifySourceParamsOwnerAddressr]   r   rK   r_   Nr   rC   rD   rE   ModifySourceParamsOwnerz Customer.ModifySourceParamsOwner  sp         FGGGG	 3	 #	 3	 	rD   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<   dS )r  r7   r8   r9   r:   r;   r<   Nr   rC   rD   rE   ModifySourceParamsOwnerAddressz'Customer.ModifySourceParamsOwnerAddress  r   rD   r  c                   2    e Zd ZU eee                  ed<   dS ))Customer.RetrieveBalanceTransactionParamsrw   Nr:  rC   rD   rE    RetrieveBalanceTransactionParamsr    r<  rD   r  c                   2    e Zd ZU eee                  ed<   dS )"Customer.RetrieveCashBalanceParamsrw   Nr:  rC   rD   rE   RetrieveCashBalanceParamsr    r<  rD   r  c                   2    e Zd ZU eee                  ed<   dS )-Customer.RetrieveCashBalanceTransactionParamsrw   Nr:  rC   rD   rE   $RetrieveCashBalanceTransactionParamsr    r<  rD   r  c                   2    e Zd ZU eee                  ed<   dS )Customer.RetrieveParamsrw   Nr:  rC   rD   rE   RetrieveParamsr    r<  rD   r  c                   2    e Zd ZU eee                  ed<   dS )$Customer.RetrievePaymentMethodParamsrw   Nr:  rC   rD   rE   RetrievePaymentMethodParamsr    r<  rD   r  c                   2    e Zd ZU eee                  ed<   dS )Customer.RetrieveSourceParamsrw   Nr:  rC   rD   rE   RetrieveSourceParamsr    r<  rD   r  c                   2    e Zd ZU eee                  ed<   dS )Customer.RetrieveTaxIdParamsrw   Nr:  rC   rD   rE   RetrieveTaxIdParamsr    r<  rD   r  c                   n    e Zd ZU eee                  ed<   	 ee         ed<   	 ee         ed<   	 eed<   dS )Customer.SearchParamsrw   rG  pagequeryN)r>   r?   r@   r   r   rA   rB   r{   rC   rD   rE   SearchParamsr    sk         DI&&&&	 3	 #	 


	 	rD   r  r]   r   r#   r   rQ  ru   r    r!   r"   r)   r  
delinquentrv   r&   discountr   idinvoice_credit_balancer   r   livemodery   rK   r   r  r_   r   r   sourcesr*   subscriptionsr   )exemptnonereverser   r+   tax_idsr,   r   Tdeletedparamsr   returnc                 r    t          d|                     d|                                 |                    S )0
        Creates a new customer object.
        r2   postr  )r   _static_request	class_urlclsr  s     rE   createzCustomer.create  sB    
     
 
 	
rD   c                    K   t          d|                     d|                                 |           d{V           S )r  r2   r  r  N)r   _static_request_asyncr  r  s     rE   create_asynczCustomer.create_async  sd       ++ ,        
 
 	
rD   r~   r'   c                     t          d|                     dd                    t          |                    |                    S )  
        Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new
        funding instructions will be created. If funding instructions have already been created for a given customer, the same
        funding instructions will be retrieved. In other words, we will return the same funding instructions each time.
        r'   r  -/v1/customers/{customer}/funding_instructionsr3   r  r   r  formatr   r  r3   r  s      rE    _cls_create_funding_instructionsz)Customer._cls_create_funding_instructions  s]     !?FF(22 G       	
 	
 		
rD   c                     dS r  NrC   r3   r  s     rE   create_funding_instructionsz$Customer.create_funding_instructions  s	     	rD   c                     dS r	  rC   selfr  s     rE   r  z$Customer.create_funding_instructions  	     	rD   r  c                     t          d|                     dd                    t          |                     d                              |                    S )r  r'   r  r  r  r  r  r   _requestr  r   getr  s     rE   r  z$Customer.create_funding_instructions  se     !MM?FF($88 G      	
 	
 		
rD   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r'   r  r  r  r  Nr   r  r  r   r  s      rE   &_cls_create_funding_instructions_asyncz/Customer._cls_create_funding_instructions_async  s       !++?FF(22 G    ,        	
 	
 		
rD   c                 
   K   dS r	  rC   r
  s     rE   !create_funding_instructions_asyncz*Customer.create_funding_instructions_async  s       	rD   c                 
   K   dS r	  rC   r  s     rE   r  z*Customer.create_funding_instructions_async'         	rD   r  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r  r'   r  r  r  r  r  Nr   _request_asyncr  r   r  r  s     rE   r  z*Customer.create_funding_instructions_async2  s       !%%?FF($88 G    &        	
 	
 		
rD   sidr6  c                     |                                  dt          |          }t          d|                     d||                    S )
        Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.
        /r2   deleter  r  r   r   r  r  r  r  urls       rE   _cls_deletezCustomer._cls_deleteF  s[     +c*:*:*:;    
 
 	
rD   c                     dS r   NrC   r  r  s     rE   r"  zCustomer.deleteW  	     	rD   c                     dS r(  rC   r  s     rE   r"  zCustomer.deletea  s	    
 	rD   r&  c                 V    |                      d|                                 |          S )r   r"  r  )_request_and_refreshinstance_urlr  s     rE   r"  zCustomer.deleteh  s6     (( ) 
 
 	
rD   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r   r!  r2   r"  r  Nr  r   r   r  r$  s       rE   _cls_delete_asynczCustomer._cls_delete_asyncu  s}       +c*:*:*:;++ ,        
 
 	
rD   c                 
   K   dS r(  rC   r)  s     rE   delete_asynczCustomer.delete_async         	rD   c                 
   K   dS r(  rC   r  s     rE   r3  zCustomer.delete_async         	rD   r1  c                 f   K   |                      d|                                 |           d{V S )r   r"  r  N)_request_and_refresh_asyncr.  r  s     rE   r3  zCustomer.delete_async  sX       44 5 
 
 
 
 
 
 
 
 	
rD   r1  c                     t          d|                     dd                    t          |                    |                    S )G
        Removes the currently applied discount on a customer.
        r&   r"  !/v1/customers/{customer}/discountr  r  r  r  s      rE   _cls_delete_discountzCustomer._cls_delete_discount  s\     3::(22 ;       	
 	
 		
rD   c                     dS r:  NrC   r
  s     rE   delete_discountzCustomer.delete_discount  r*  rD   c                     dS r>  rC   r  s     rE   r?  zCustomer.delete_discount  	     	rD   r<  c                     t          d|                     dd                    t          |                     d                              |                    S )r:  r&   r"  r;  r  r  r  r  r  s     rE   r?  zCustomer.delete_discount  sd     MM3::($88 ;      	
 	
 		
rD   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r:  r&   r"  r;  r  r  Nr  r  s      rE   _cls_delete_discount_asyncz#Customer._cls_delete_discount_async  s~       ++3::(22 ;    ,        	
 	
 		
rD   c                 
   K   dS r>  rC   r
  s     rE   delete_discount_asynczCustomer.delete_discount_async  r4  rD   c                 
   K   dS r>  rC   r  s     rE   rF  zCustomer.delete_discount_async  r6  rD   rD  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r:  r&   r"  r;  r  r  r  Nr  r  s     rE   rF  zCustomer.delete_discount_async  s       %%3::($88 ;    &        	
 	
 		
rD   rP  c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )
        Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.
        r  r  %Expected list object from API, got %s)r  r  
isinstancer   	TypeErrorr   r>   r  r  results      rE   listzCustomer.list  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 rD   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )rJ  r  r  NrK  )r  r  rL  r   rM  r   r>   rN  s      rE   
list_asynczCustomer.list_async(  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 rD   r[  r(   c                     t          t          d         |                     dd                    t	          |                    |                    S )G
        Returns a list of PaymentMethods for a given Customer
        r(   r  (/v1/customers/{customer}/payment_methodsr  r  r   r   r  r  r   r  s      rE   _cls_list_payment_methodsz"Customer._cls_list_payment_methods<  sb     ':AA(22 B       	
 	
 		
rD   c                     dS rT  NrC   r
  s     rE   list_payment_methodszCustomer.list_payment_methodsP  r*  rD   c                     dS rY  rC   r  s     rE   rZ  zCustomer.list_payment_methodsZ  rA  rD   rW  c                     t          t          d         |                     dd                    t	          |                     d                              |                    S )rT  r(   r  rU  r  r  r  )r   r   r  r  r   r  r  s     rE   rZ  zCustomer.list_payment_methodsc  sj     'MM:AA($88 B      	
 	
 		
rD   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )rT  r(   r  rU  r  r  Nr   r   r  r  r   r  s      rE   _cls_list_payment_methods_asyncz(Customer._cls_list_payment_methods_asyncu  s       '++:AA(22 B    ,        	
 	
 		
rD   c                 
   K   dS rY  rC   r
  s     rE   list_payment_methods_asyncz#Customer.list_payment_methods_async  r4  rD   c                 
   K   dS rY  rC   r  s     rE   ra  z#Customer.list_payment_methods_async  r6  rD   r_  c                    K   t          t          d         |                     dd                    t	          |                     d                              |           d{V           S )rT  r(   r  rU  r  r  r  N)r   r   r  r  r   r  r  s     rE   ra  z#Customer.list_payment_methods_async  s       '%%:AA($88 B    &        	
 	
 		
rD   r  c                     |                                  dt          |          }t          d|                     d||                    S )w  
        Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer's active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer's current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.

        This request accepts mostly the same arguments as the customer creation call.
        r!  r2   r  r  r#  r  r  r  r%  s       rE   modifyzCustomer.modify  sX     +b///:    
 
 	
rD   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )re  r!  r2   r  r  Nr0  rf  s       rE   modify_asynczCustomer.modify_async  sz       +b///:++ ,        
 
 	
rD   r  c                 @     | |fi |}|                                  |S ).
        Retrieves a Customer object.
        )refreshr  r  r  instances       rE   retrievezCustomer.retrieve  s2     3r$$V$$rD   c                 P   K    | |fi |}|                                  d{V  |S )rk  N)refresh_asyncrm  s       rE   retrieve_asynczCustomer.retrieve_async  sH       3r$$V$$$$&&&&&&&&&rD   rh   r  c                     t          d|                     dd                    t          |          t          |                    |                    S )H
        Retrieves a PaymentMethod object for a given Customer.
        r(   r  9/v1/customers/{customer}/payment_methods/{payment_method}r3   rh   r  r  r  r3   rh   r  s       rE   _cls_retrieve_payment_methodz%Customer._cls_retrieve_payment_method  sh     KRR(22#.~#>#> S       

 

 
	
rD   c                     dS rt  NrC   r3   rh   r  s      rE   retrieve_payment_methodz Customer.retrieve_payment_method   s	     	rD   c                     dS rz  rC   r  rh   r  s      rE   r|  z Customer.retrieve_payment_method  r  rD   rx  c                     t          d|                     dd                    t          |                     d                    t          |                    |                    S )rt  r(   r  ru  r  rv  r  r  r~  s      rE   r|  z Customer.retrieve_payment_method  sp     MMKRR($88#.~#>#> S      

 

 
	
rD   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )rt  r(   r  ru  rv  r  Nr  rw  s       rE   "_cls_retrieve_payment_method_asyncz+Customer._cls_retrieve_payment_method_async,  s       ++KRR(22#.~#>#> S    ,        

 

 
	
rD   c                 
   K   dS rz  rC   r{  s      rE   retrieve_payment_method_asyncz&Customer.retrieve_payment_method_asyncB  s       	rD   c                 
   K   dS rz  rC   r~  s      rE   r  z&Customer.retrieve_payment_method_asyncN  r  rD   r  c                    K   t          d|                     dd                    t          |                     d                    t          |                    |           d{V           S )rt  r(   r  ru  r  rv  r  Nr  r~  s      rE   r  z&Customer.retrieve_payment_method_asyncY  s       %%KRR($88#.~#>#> S    &        

 

 
	
rD   kwargsr  c                       | j         |ddi|S )  
        Search for customers you've previously created using Stripe's [Search Query Language](https://stripe.com/docs/search#search-query-language).
        Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating
        conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
        to an hour behind during outages. Search functionality is not available to merchants in India.
        
search_url/v1/customers/search)_searchr  argsr  s      rE   searchzCustomer.searchn  s!     s{tN&<NvNNNrD   c                 0   K    | j         |ddi| d{V S )r  r  r  N)_search_asyncr  s      rE   search_asynczCustomer.search_asyncz  sP       'S&04
-
8>
 
 
 
 
 
 
 
 	
rD   c                 @     | j         |i |                                S N)r  auto_paging_iterr  s      rE   search_auto_paging_iterz Customer.search_auto_paging_iter  s'     sz4*6**;;===rD   c                 P   K    | j         |i | d {V                                 S r  )r  r  r  s      rE   search_auto_paging_iter_asyncz&Customer.search_auto_paging_iter_async  s>       'c&777777777IIKKKrD   rs   r$   c                     t          d|                     dd                    t          |                    |                    S )
        Creates an immutable transaction that updates the customer's credit [balance](https://stripe.com/docs/billing/customer/balance).
        r$   r  -/v1/customers/{customer}/balance_transactionsr  r  r  r  s      rE   create_balance_transactionz#Customer.create_balance_transaction  s]     (?FF(22 G       	
 	
 		
rD   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r$   r  r  r  r  Nr  r  s      rE    create_balance_transaction_asyncz)Customer.create_balance_transaction_async  s       (++?FF(22 G    ,        	
 	
 		
rD   transactionr  c                     t          d|                     dd                    t          |          t          |                    |                    S )
        Retrieves a specific customer balance transaction that updated the customer's [balances](https://stripe.com/docs/billing/customer/balance).
        r$   r  ;/v1/customers/{customer}/balance_transactions/{transaction}r3   r  r  r  r  r3   r  r  s       rE   retrieve_balance_transactionz%Customer.retrieve_balance_transaction  sh     (MTT(22 +K 8 8 U       

 

 
	
rD   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )r  r$   r  r  r  r  Nr  r  s       rE   "retrieve_balance_transaction_asyncz+Customer.retrieve_balance_transaction_async  s       (++MTT(22 +K 8 8 U    ,        

 

 
	
rD   r  c                     t          d|                     dd                    t          |          t          |                    |                    S )x
        Most credit balance transaction fields are immutable, but you may update its description and metadata.
        r$   r  r  r  r  r  r  s       rE   modify_balance_transactionz#Customer.modify_balance_transaction  sh     (MTT(22 +K 8 8 U       

 

 
	
rD   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )r  r$   r  r  r  r  Nr  r  s       rE    modify_balance_transaction_asyncz)Customer.modify_balance_transaction_async  s       (++MTT(22 +K 8 8 U    ,        

 

 
	
rD   rE  c                     t          t          d         |                     dd                    t	          |                    |                    S )
        Returns a list of transactions that updated the customer's [balances](https://stripe.com/docs/billing/customer/balance).
        r$   r  r  r  r  rV  r  s      rE   list_balance_transactionsz"Customer.list_balance_transactions	  sc     34?FF(22 G       	
 	
 		
rD   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r  r$   r  r  r  r  Nr^  r  s      rE   list_balance_transactions_asyncz(Customer.list_balance_transactions_async(	  s       34++?FF(22 G    ,        	
 	
 		
rD   r  r%   c                     t          d|                     dd                    t          |          t          |                    |                    S )
        Retrieves a specific cash balance transaction, which updated the customer's [cash balance](https://stripe.com/docs/payments/customer-balance).
        r%   r  @/v1/customers/{customer}/cash_balance_transactions/{transaction}r  r  r  r  s       rE   !retrieve_cash_balance_transactionz*Customer.retrieve_cash_balance_transaction<	  sh     ,RYY(22 +K 8 8 Z       

 

 
	
rD   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )r  r%   r  r  r  r  Nr  r  s       rE   'retrieve_cash_balance_transaction_asyncz0Customer.retrieve_cash_balance_transaction_asyncR	  s       ,++RYY(22 +K 8 8 Z    ,        

 

 
	
rD   rM  c                     t          t          d         |                     dd                    t	          |                    |                    S )
        Returns a list of transactions that modified the customer's [cash balance](https://stripe.com/docs/payments/customer-balance).
        r%   r  2/v1/customers/{customer}/cash_balance_transactionsr  r  rV  r  s      rE   list_cash_balance_transactionsz'Customer.list_cash_balance_transactionsh	  sc     78DKK(22 L       	
 	
 		
rD   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r  r%   r  r  r  r  Nr^  r  s      rE   $list_cash_balance_transactions_asyncz-Customer.list_cash_balance_transactions_async|	  s       78++DKK(22 L    ,        	
 	
 		
rD   r+  c                     t          t          d         |                     dd                    t	          |                    |                    S )  
        When you create a new credit card, you must specify a customer or recipient on which to create it.

        If the card's owner has no default card, then the new card will become the default.
        However, if the owner already has a default, then it will not change.
        To change the default, you should [update the customer](https://stripe.com/docs/api#update_customer) to have a new default_source.
        r  r   /v1/customers/{customer}/sourcesr  r  r   r   r  r  r   r  s      rE   create_sourcezCustomer.create_source	  sb     <=299(22 :       	
 	
 		
rD   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r  r  r  r  r  r  Nr   r   r  r  r   r  s      rE   create_source_asynczCustomer.create_source_async	  s       <=++299(22 :    ,        	
 	
 		
rD   r  c                     t          t          d         |                     dd                    t	          |          t	          |                    |                    S )C
        Retrieve a specified source for a given customer.
        r  r  %/v1/customers/{customer}/sources/{id}r3   r  r  r  r  r3   r  r  s       rE   retrieve_sourcezCustomer.retrieve_source	  sj     <=7>>(22{2 ?       	
 	
 		
rD   c                    K   t          t          d         |                     dd                    t	          |          t	          |                    |           d{V           S )r  r  r  r  r  r  Nr  r  s       rE   retrieve_source_asynczCustomer.retrieve_source_async	  s       <=++7>>(22{2 ?    ,        	
 	
 		
rD   r  c                     t          t          d         |                     dd                    t	          |          t	          |                    |                    S )A
        Update a specified source for a given customer.
        r  r  r  r  r  r  r  s       rE   modify_sourcezCustomer.modify_source	  sj     <=7>>(22{2 ?       	
 	
 		
rD   c                    K   t          t          d         |                     dd                    t	          |          t	          |                    |           d{V           S )r  r  r  r  r  r  Nr  r  s       rE   modify_source_asynczCustomer.modify_source_async	  s       <=++7>>(22{2 ?    ,        	
 	
 		
rD   r9  c                     t          t          d         |                     dd                    t	          |          t	          |                    |                    S )A
        Delete a specified source for a given customer.
        r  r"  r  r  r  r  r  s       rE   delete_sourcezCustomer.delete_source
  sj     <=7>>(22{2 ?       	
 	
 		
rD   c                    K   t          t          d         |                     dd                    t	          |          t	          |                    |           d{V           S )r  r  r"  r  r  r  Nr  r  s       rE   delete_source_asynczCustomer.delete_source_async%
  s       <=++7>>(22{2 ?    ,        	
 	
 		
rD   r  c                     t          t          t          d                  |                     dd                    t          |                    |                    S )8
        List sources for a specified customer.
        r  r  r  r  r  )r   r   r   r  r  r   r  s      rE   list_sourceszCustomer.list_sources:
  sg     uGHI299(22 :       	
 	
 		
rD   c                    K   t          t          t          d                  |                     dd                    t          |                    |           d{V           S )r  r  r  r  r  r  N)r   r   r   r  r  r   r  s      rE   list_sources_asynczCustomer.list_sources_asyncL
  s       uGHI++299(22 :    ,        	
 	
 		
rD   r.  c                     t          d|                     dd                    t          |                    |                    S )=
        Creates a new tax_id object for a customer.
        r+   r   /v1/customers/{customer}/tax_idsr  r  r  r  s      rE   create_tax_idzCustomer.create_tax_id^
  s\     299(22 :       	
 	
 		
rD   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r+   r  r  r  r  Nr  r  s      rE   create_tax_id_asynczCustomer.create_tax_id_asyncp
  s~       ++299(22 :    ,        	
 	
 		
rD   r  c                     t          d|                     dd                    t          |          t          |                    |                    S )H
        Retrieves the tax_id object with the given identifier.
        r+   r  %/v1/customers/{customer}/tax_ids/{id}r  r  r  r  s       rE   retrieve_tax_idzCustomer.retrieve_tax_id
  sd     7>>(22{2 ?       	
 	
 		
rD   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )r  r+   r  r  r  r  Nr  r  s       rE   retrieve_tax_id_asynczCustomer.retrieve_tax_id_async
  s       ++7>>(22{2 ?    ,        	
 	
 		
rD   r>  c                     t          d|                     dd                    t          |          t          |                    |                    S )4
        Deletes an existing tax_id object.
        r+   r"  r  r  r  r  r  s       rE   delete_tax_idzCustomer.delete_tax_id
  sd     7>>(22{2 ?       	
 	
 		
rD   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )r  r+   r"  r  r  r  Nr  r  s       rE   delete_tax_id_asynczCustomer.delete_tax_id_async
  s       ++7>>(22{2 ?    ,        	
 	
 		
rD   r  c                     t          t          d         |                     dd                    t	          |                    |                    S );
        Returns a list of tax IDs for a customer.
        r+   r  r  r  r  rV  r  s      rE   list_tax_idszCustomer.list_tax_ids
  sa     w299(22 :       	
 	
 		
rD   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r  r+   r  r  r  r  Nr^  r  s      rE   list_tax_ids_asynczCustomer.list_tax_ids_async
  s       w++299(22 :    ,        	
 	
 		
rD   r  c                     t          d|                     dd                    t          |                    |                    S )6
        Retrieves a customer's cash balance.
        r#   r  %/v1/customers/{customer}/cash_balancer  r  r  r  s      rE   retrieve_cash_balancezCustomer.retrieve_cash_balance
  s\     7>>(22 ?       	
 	
 		
rD   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r#   r  r  r  r  Nr  r  s      rE   retrieve_cash_balance_asyncz$Customer.retrieve_cash_balance_async  s~       ++7>>(22 ?    ,        	
 	
 		
rD   r  c                     t          d|                     dd                    t          |                    |                    S )D
        Changes the settings on a customer's cash balance.
        r#   r  r  r  r  r  r  s      rE   modify_cash_balancezCustomer.modify_cash_balance"  s\     7>>(22 ?       	
 	
 		
rD   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r#   r  r  r  r  Nr  r  s      rE   modify_cash_balance_asyncz"Customer.modify_cash_balance_async6  s~       ++7>>(22 ?    ,        	
 	
 		
rD   c                      e Zd ZU ed         ed<   ededed         ddfd            Ze	e
deded         ddfd	                        Ze	ded         ddfd
            Z ed          ded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed          ded         ddfd            ZdS )Customer.TestHelpersr2   _resource_clsr3   r  rA  r  r%   c                     t          d|                     dd                    t          |                    |                    S )C
            Create an incoming testmode bank transfer
            r%   r  7/v1/test_helpers/customers/{customer}/fund_cash_balancer  r  r  r  s      rE   _cls_fund_cash_balancez+Customer.TestHelpers._cls_fund_cash_balanceM  s]     0##MTT!,X!6!6 U   " $  	 	 	rD   c                     dS r  NrC   r
  s     rE   fund_cash_balancez&Customer.TestHelpers.fund_cash_balancea  s	     CrD   c                     dS r  rC   r  s     rE   r  z&Customer.TestHelpers.fund_cash_balancek  s	     CrD   r  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r  r%   r  r  r  r  r  )r   resourcer  r  r   r  r  s     rE   r  z&Customer.TestHelpers.fund_cash_balancet  so     0&&MTT!,T]->->t-D-D!E!E U   " '  	 	 	rD   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r%   r  r  r  r  Nr  r  s      rE   _cls_fund_cash_balance_asyncz1Customer.TestHelpers._cls_fund_cash_balance_async  s       0//MTT!,X!6!6 U   " 0        	 	 	rD   c                 
   K   dS r  rC   r
  s     rE   fund_cash_balance_asyncz,Customer.TestHelpers.fund_cash_balance_async  s       CrD   c                 
   K   dS r  rC   r  s     rE   r  z,Customer.TestHelpers.fund_cash_balance_async  s       CrD   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r  r%   r  r  r  r  r  N)r   r	  r  r  r   r  r  s     rE   r  z,Customer.TestHelpers.fund_cash_balance_async  s       0m22MTT!,T]->->t-D-D!E!E U   " 3        	 	 	rD   N)r>   r?   r@   r   rB   classmethodrA   r   r  r   staticmethodr  r   r  r  rC   rD   rE   TestHelpersr  J  s+        J''''			 =>	 .		 	 	 
	& 
			%+,L%M	-	 	 	 
 
	 
	"#CD	-	 	 	 
	 
	6	7	7	"#CD	-	 	 	 
8	7	" 
		 =>	 .		 	 	 
	& 
			%+,L%M	-	 	 	 
 
	 
	"#CD	-	 	 	 
	 
	<	=	=	"#CD	-	 	 	 
>	=	 	 	rD   r  c                 ,    |                      |           S r  )r  )r  s    rE   test_helperszCustomer.test_helpers  s    %%%rD   )r]   r   r   r   N)r>   r?   r@   __doc__r4   r   r   rB   r   rF   rX   ra   rq   r	   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r)  r,  r/  r3  r7  r;  r?  rC  rJ  rN  rR  rY  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{   rA   r   r   r   r   r   r   r  r   r  r  r  r   r  r  r   r  r  r&  r"  r1  r3  r<  r?  rD  rF  rP  rR  rW  rZ  r_  ra  rg  ri  ro  rr  rx  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  propertyr  rW   rC   rD   rE   r2   r2   6   s $          2<K'*-.;;;    ,   4$
 $
 $
 $
 $
, $
 $
 $
L,2 ,2 ,2 ,2 ,2< ,2 ,2 ,2\"4 "4 "4 "4 "4l "4 "4 "4H       ,    .   $    i   4    I   R$ R$ R$ R$ R$~ R$ R$ R$h    i   4    )       )       i   ,           i       y       i   4    )   R R R R R R R Rh$ $ $ $ $^ $ $ $V V V V VN V V Vp    ~       ~       ^       N          $       $    N   $    ^   <    I   $B B B B B> B B BH    N   ,    >   $           .       )   Q$ Q$ Q$ Q$ Q$~ Q$ Q$ Q$f    i   4    )       )       i   ,           i       y       i   4    )   5? 5? 5? 5? 5?^ 5? 5? 5?n    )   $       4    >       N       ~              n       ~       n       ~   $ g c] =)))) LLL sm HIJ   
  # z"""" C= 	GGG %T#s(^4444 SM!!! ////NNN tCH~&&&& 3- $C=((( J C=  S	**** x     5CDE    J~67777 
#!<=>>>> j)**** 56666 gdm$$$$ 
f%<= 
* 
 
 
 [
 
56
	
 
 
 [
 

 CD
 
	
 
 
 [
* 		CD	 
	 	 	 \ X	 IJ	   X <==
IJ
	
 
 
 >=
& 

 CD
 
	
 
 
 [
* 		CD	 
	 	 	 \ X	 IJ	   X BCC
IJ
	
 
 
 DC
& 

!'(?!@
	
 
 
 [
  "#:;	   \ X v&=> :    X -((

67

	

 

 

 )(

 

!'(?!@
	
 
 
 [
  "#:;	   \ X 67	   X -..

67

	

 

 

 /.

 

&,-L&M
	
 
 
 [
" !'(G!H	   \ X >?	   X 011
>?
	
 
 
 21
" 

&,-L&M
	
 
 
 [
" !'(G!H	   \ X >?	   X 677
>?
	
 
 
 87
" 34	J	   [& 34	J	   [& 

 <=
 
O	$	
 
 
 [
& !'(K!L	O	$   \ X BC	O	$   X 566
BC
	O	$
 
 
 76
" 

 <=
 
O	$	
 
 
 [
& !'(K!L	O	$   \ X BC	O	$   X ;<<
BC
	O	$
 
 
 =<
" 

 &'> ?
	
 
 
 [
$ 

 &'> ?
	
 
 
 [
$  &'@ A	   [  &'@ A	   [ 

 
 ?@	

 

 
 
 [
*  ?@ 
	   \ X  ?@ 
	   X 899

 ?@
 
	
 
 
 :9
( 

 
 ?@	

 

 
 
 [
*  ?@ 
	   \ X  ?@ 
	   X >??

 ?@
 
	
 
 
 @?
( 	O$%<=	O	J	'	O 	O 	O [	O 
$%<=
	J	'
 
 
 [
 >$%<=>	*	> > > [>
 L$%<=L	z	"L L L [L
 

 BC
 
&	
 
 
 [
& 

 BC
 
&	
 
 
 [
& 

 
 DE	

 
&
 
 
 [
* 

 
 DE	

 
&
 
 
 [
* 

 
 BC	

 
&
 
 
 [
* 

 
 BC	

 
&
 
 
 [
* 

 AB
 
0	1	
 
 
 [
& 

 AB
 
0	1	
 
 
 [
& 

 
 HI	

 
*
 
 
 [
* 

 
 HI	

 
*
 
 
 [
* 

 EF
 
4	5	
 
 
 [
& 

 EF
 
4	5	
 
 
 [
& 

&,-J&K
	9	:
 
 
 [
* 

&,-J&K
	9	:
 
 
 [
* 

 
 89	

 
9	:
 
 
 [
( 

 
 89	

 
9	:
 
 
 [
( 

 
 67	

 
9	:
 
 
 [
( 

 
 67	

 
9	:
 
 
 [
( 

 
 67	

 
9	:
 
 
 [
( 

 
 67	

 
9	:
 
 
 [
( 

&,-I&J
	EDE	F
 
 
 [
" 

&,-I&J
	EDE	F
 
 
 [
" 

&,-I&J
	
 
 
 [
" 

&,-I&J
	
 
 
 [
" 

 
 78	

 

 
 
 [
( 

 
 78	

 

 
 
 [
( 

 
 56	

 

 
 
 [
( 

 
 56	

 

 
 
 [
( 

&,-H&I
	G	
 
 
 [
" 

&,-H&I
	G	
 
 
 [
" 

 =>
 
	
 
 
 [
& 

 =>
 
	
 
 
 [
& 

 ;<
 
	
 
 
 [
& 

 ;<
 
	
 
 
 [
&s s s s s,Z8 s s sj & & X& +	 rD   r2   N)Istripe._createable_api_resourcer   stripe._deletable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   %stripe._nested_resource_class_methodsr   stripe._request_optionsr	   stripe._search_result_objectr
   stripe._searchable_api_resourcer   stripe._stripe_objectr   stripe._test_helpersr   stripe._updateable_api_resourcer   stripe._utilr   r   typingr   r   r   r   r   r   r   r   r   typing_extensionsr   r   r   r   r   r   stripe._accountr    stripe._bank_accountr!   stripe._cardr"   stripe._cash_balancer#   $stripe._customer_balance_transactionr$   )stripe._customer_cash_balance_transactionr%   stripe._discountr&   stripe._funding_instructionsr'   stripe._payment_methodr(   stripe._sourcer)   stripe._subscriptionr*   stripe._tax_idr+   stripe.test_helpers._test_clockr,   r2   r  r  rC   rD   rE   <module>r3     s   B A A A A A ? ? ? ? ? ? 4 4 4 4 4 4 * * * * * * = = = = = = O O O O O O 2 2 2 2 2 2 ; ; ; ; ; ; A A A A A A . . . . . . 7 7 7 7 7 7 A A A A A A : : : : : : : :
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                 :''''''000000!!!!!!000000OOOOOO      *)))))@@@@@@444444%%%%%%111111$$$$$$999999 4559::x((x((N. N. N. N. N.*%$
#*%*%N. N. )( )( ;: 65N.b\ &.  " " "rD   