
    <@gI                    F   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"                                     ZFeFeFj                  _H        y#)$    )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y$(%  Customera&  
    This object represents a customer of your business. Use it to [create recurring charges](https://stripe.com/docs/invoicing/customer), [save payment](https://stripe.com/docs/payments/save-during-payment) and contact information,
    and track payments that belong to the same customer.
    customerOBJECT_NAMEc                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Customer.Addresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     O/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_customer.pyAddressr6   H   sf    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y)Customer.InvoiceSettingsc                   $    e Zd ZU eed<   	 eed<   y)$Customer.InvoiceSettings.CustomFieldnamevalueNr>   r?   r@   rA   rB   rC   rD   rE   CustomFieldrJ   c   s    I JrD   rN   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y))Customer.InvoiceSettings.RenderingOptionsamount_tax_displaytemplateNr=   rC   rD   rE   RenderingOptionsrP   m   s"     (- sm#rD   rS   custom_fieldsr(   default_payment_methodfooterrendering_options)rT   rW   N)r>   r?   r@   r   rN   rS   r   r   rB   r   rA   _inner_class_typesrC   rD   rE   InvoiceSettingsrH   b   s|    	, 		| 	  [ 122	 !))I JJ	 	 $$455	 )!1
rD   rY   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y)	Customer.Shippingc                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Customer.Shipping.Addressr7   r8   r9   r:   r;   r<   Nr=   rC   rD   rE   rF   r]      sf    3- c]" C=  C=  "#& C= rD   rF   addresscarrierrK   phonetracking_numberN)	r>   r?   r@   r   rF   r   rB   rA   rX   rC   rD   rE   Shippingr[      sj    	l 	4 '""#	 sm	 }	 "#&	 (1rD   rb   c                   b    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	y)Customer.Taxc                   <    e Zd ZU eed<   	 ed   ed<   	 ee   ed<   y)Customer.Tax.Locationr8   )billing_address
ip_addresspayment_methodshipping_destinationr/   r<   N)r>   r?   r@   rA   rB   r   r   rC   rD   rE   Locationrf      s6    L (  C= rD   rk   )failednot_collecting	supportedunrecognized_locationautomatic_taxrh   locationN)
r>   r?   r@   r   rk   r   rB   r   rA   rX   rC   rD   rE   Taxrd      sU    	| 	& L
 	
	 SM!	 8$$	 )(3rD   rr   c                   `    e Zd ZU eed<   	 eed<   	 ee   ed<   	 eee      ed<   	 ed   ed<   y)'Customer.CreateBalanceTransactionParamsamountcurrencydescriptionexpandLiteral['']|Dict[str, str]metadataNr>   r?   r@   intrB   rA   r   r   rC   rD   rE   CreateBalanceTransactionParamsrt      sS    	 	 !%%	 DI&&	 :;;	rD   r}   c                   N    e Zd ZU ded<   	 eed<   	 eee      ed<   	 ed   ed<   y)(Customer.CreateFundingInstructionsParams4Customer.CreateFundingInstructionsParamsBankTransferbank_transferrv   rx   funding_typeN)r>   r?   r@   rB   rA   r   r   r   rC   rD   rE   CreateFundingInstructionsParamsr      sA    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<   y)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  sR    %P
 	
	 "->?@"
 	
	
  
 	
	rD   r   c                       e Zd ZU eed<   y)r   r8   NrM   rC   rD   rE   9CreateFundingInstructionsParamsBankTransferEuBankTransferzBCustomer.CreateFundingInstructionsParamsBankTransferEuBankTransfer   s    	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      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<   y )!Customer.CreateParamsz(Literal['']|Customer.CreateParamsAddressr^   balance Customer.CreateParamsCashBalancecash_balancecouponrw   emailrx   invoice_prefix$Customer.CreateParamsInvoiceSettingsinvoice_settingsry   rz   rK   next_invoice_sequenceri   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	 S!!	 ""DEE	 C   %%	 3	 DI&&	 $C((	 &&LMM	 :;;	 #	  +3//	 $C((3	 'tCy11	 $C((	 IJJ	 C  344	  >
 	
	 !&G!HII	  $$	 d##rD   r   c                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Customer.CreateParamsAddressr7   r8   r9   r:   r;   r<   Nr>   r?   r@   r   rA   rB   rC   rD   rE   CreateParamsAddressr   z  l    #	 S!!	 3	 3	 !%%	 3	rD   r   c                       e Zd ZU ed   ed<   y)r   (Customer.CreateParamsCashBalanceSettingssettingsNr>   r?   r@   r   rB   rC   rD   rE   CreateParamsCashBalancez Customer.CreateParamsCashBalance      HII	rD   r   c                   $    e Zd ZU eed      ed<   y)r   	automaticmanualmerchant_defaultreconciliation_modeNr>   r?   r@   r   r   rB   rC   rD   rE   CreateParamsCashBalanceSettingsz(Customer.CreateParamsCashBalanceSettings      (=>
 	
	rD   r   c                   T    e Zd ZU ed   ed<   	 ee   ed<   	 ee   ed<   	 ed   ed<   y)r   zALiteral['']|List[Customer.CreateParamsInvoiceSettingsCustomField]rT   rU   rV   z@Literal['']|Customer.CreateParamsInvoiceSettingsRenderingOptionsrW   Nr>   r?   r@   r   rB   rA   rC   rD   rE   CreateParamsInvoiceSettingsz$Customer.CreateParamsInvoiceSettings  R    "O
 	
	 !,C 00	 C  	 'N
 	
	rD   r   c                   $    e Zd ZU eed<   	 eed<   y)/Customer.CreateParamsInvoiceSettingsCustomFieldrK   rL   NrM   rC   rD   rE   &CreateParamsInvoiceSettingsCustomFieldr         		 
	rD   r   c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)4Customer.CreateParamsInvoiceSettingsRenderingOptions;Literal['']|Literal['exclude_tax', 'include_inclusive_tax']rQ   rR   Nr   rC   rD   rE   +CreateParamsInvoiceSettingsRenderingOptionsr     )    'I
 	
	 c""	rD   r   c                   6    e Zd ZU ded<   	 eed<   	 ee   ed<   y)Customer.CreateParamsShipping$Customer.CreateParamsShippingAddressr^   rK   r`   Nr>   r?   r@   rB   rA   r   rC   rD   rE   CreateParamsShippingr     +    77	 		 3	rD   r   c                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)r   r7   r8   r9   r:   r;   r<   Nr   rC   rD   rE   CreateParamsShippingAddressz$Customer.CreateParamsShippingAddress  r   rD   r   c                   6    e Zd ZU ed   ed<   	 eed      ed<   y)r   Literal['']|strrh   )deferredimmediatelyvalidate_locationNr>   r?   r@   r   rB   r   rC   rD   rE   CreateParamsTaxzCustomer.CreateParamsTax  s+     122	 'w/H'IJJ	rD   r   c                   *    e Zd ZU ed   ed<   	 eed<   y)r   dad_nrtae_trnal_tinam_tinao_tinar_cuitau_abnau_arnba_tinbb_tinbg_uicbh_vatbo_tinbr_cnpjbr_cpfbs_tinby_tinca_bn
ca_gst_hst	ca_pst_bc	ca_pst_mb	ca_pst_skca_qstcd_nif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gn_nifhk_brhr_oibhu_tinid_npwpil_vatin_gstis_vatjp_cnjp_rnjp_trnke_pinkh_tinkr_brnkz_binli_uidli_vatma_vatmd_vatme_pibmk_vatmr_nifmx_rfcmy_frpmy_itnmy_sstng_tinno_vatno_voecnp_pannz_gstom_vatpe_rucph_tinro_tinrs_pibru_innru_kppsa_vatsg_gstsg_uensi_tinsn_nineasr_finsv_nitth_vattj_tintr_tintw_vattz_vatua_vatug_tinus_einuy_rucuz_tinuz_vatve_rifvn_tinza_vatzm_tinzw_tinr   rL   N)r>   r?   r@   r   rB   rA   rC   rD   rE   CreateParamsTaxIdDatumzCustomer.CreateParamsTaxIdDatum  s)    ce
 e	
L	 
	rD   rC  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<   y)Customer.CreateSourceParamsrx   rz   r/   r   N)	r>   r?   r@   r   r   rA   rB   r   r   rC   rD   rE   CreateSourceParamsrE  p  sI    DI&&	 d38n--	 	 d##rD   rF  c                   B    e Zd ZU eee      ed<   	 ed   ed<   	 eed<   y)Customer.CreateTaxIdParamsrx   r   r   rL   N)r>   r?   r@   r   r   rA   rB   r   rC   rD   rE   CreateTaxIdParamsrH    s?    DI&&	 ce
 e	
L	 
	rD   rI  c                       e Zd Zy)Customer.DeleteDiscountParamsNr>   r?   r@   rC   rD   rE   DeleteDiscountParamsrK        rD   rM  c                       e Zd Zy)Customer.DeleteParamsNrL  rC   rD   rE   DeleteParamsrP    rN  rD   rQ  c                   $    e Zd ZU eee      ed<   y)Customer.DeleteSourceParamsrx   Nr>   r?   r@   r   r   rA   rB   rC   rD   rE   DeleteSourceParamsrS        DI&&	rD   rU  c                       e Zd Zy)Customer.DeleteTaxIdParamsNrL  rC   rD   rE   DeleteTaxIdParamsrX    rN  rD   rY  c                   N    e Zd ZU eed<   	 eed<   	 eee      ed<   	 ee   ed<   y)Customer.FundCashBalanceParamsru   rv   rx   	referenceNr{   rC   rD   rE   FundCashBalanceParamsr[    s@    	 	 DI&&	 s##	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<   y)&Customer.ListBalanceTransactionsParamsending_beforerx   limitstarting_afterNr>   r?   r@   r   rA   rB   r   r|   rC   rD   rE   ListBalanceTransactionsParamsr_    L    "3''	 DI&&	 3	 $C((	rD   rd  c                   Z    e Zd ZU ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   y)*Customer.ListCashBalanceTransactionsParamsr`  rx   ra  rb  Nrc  rC   rD   rE   !ListCashBalanceTransactionsParamsrg  %  re  rD   rh  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<   y	)
Customer.ListParamszCustomer.ListParamsCreated|intcreatedr   r`  rx   ra  rb  r   N)r>   r?   r@   r   rB   rA   r   r|   rC   rD   rE   
ListParamsrj  7  s    =>>	 3	 #3''	 DI&&	 3	 $C((	  $$	rD   rl  c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Customer.ListParamsCreatedgtgteltlteN)r>   r?   r@   r   r|   rB   rC   rD   rE   ListParamsCreatedrn  U  sH    	 	 	 	rD   rs  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<   y	)
!Customer.ListPaymentMethodsParams)alwayslimitedunspecifiedallow_redisplayr`  rx   ra  rb  )+
acss_debitaffirmafterpay_clearpayalipayalma
amazon_payau_becs_debit
bacs_debit
bancontactblikboletocardcashappcustomer_balanceepsfpxgiropaygrabpayideal	kakao_payklarnakonbinikr_cardlink	mobilepay
multibanco	naver_payoxxop24paycopaynowpaypalpix	promptpayrevolut_paysamsung_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   ListPaymentMethodsParamsru  g  s    $67
 	
	 #3''	 DI&&	 3	 $C((	 *,.
 .	
^	rD   r  c                   l    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<   y)Customer.ListSourcesParamsr`  rx   ra  objectrb  Nrc  rC   rD   rE   ListSourcesParamsr    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<   y)Customer.ListTaxIdsParamsr`  rx   ra  rb  Nrc  rC   rD   rE   ListTaxIdsParamsr    re  rD   r  c                   H    e Zd ZU ee   ed<   	 eee      ed<   	 ed   ed<   y)'Customer.ModifyBalanceTransactionParamsrw   rx   ry   rz   N)r>   r?   r@   r   rA   rB   r   rC   rD   rE   ModifyBalanceTransactionParamsr    s;     %%	 DI&&	 :;;	rD   r  c                   6    e Zd ZU eee      ed<   	 ed   ed<   y) Customer.ModifyCashBalanceParamsrx   (Customer.ModifyCashBalanceParamsSettingsr   NrT  rC   rD   rE   ModifyCashBalanceParamsr    s)    DI&&	 HII	rD   r  c                   $    e Zd ZU eed      ed<   y)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<   y)Customer.ModifyParamsz(Literal['']|Customer.ModifyParamsAddressr^   r    Customer.ModifyParamsCashBalancer   r   default_sourcerw   r   rx   r   $Customer.ModifyParamsInvoiceSettingsr   ry   rz   rK   r   r`   r   r   z)Literal['']|Customer.ModifyParamsShippingr   r/   Customer.ModifyParamsTaxr   r   r   r   Nr   rC   rD   rE   ModifyParamsr    sz   GHH	 S!!	 ""DEE	 C  #C((	 !%%	 3	 DI&&	 $C((	 &&LMM	 :;;	 #	  +3//	 3	 'tCy11	 $C((	 IJJ	 C  344	  >
 	
	 d##rD   r  c                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)Customer.ModifyParamsAddressr7   r8   r9   r:   r;   r<   Nr   rC   rD   rE   ModifyParamsAddressr  L  r   rD   r  c                       e Zd ZU ed   ed<   y)r  (Customer.ModifyParamsCashBalanceSettingsr   Nr   rC   rD   rE   ModifyParamsCashBalancez Customer.ModifyParamsCashBalancef  r   rD   r  c                   $    e Zd ZU eed      ed<   y)r  r   r   Nr   rC   rD   rE   ModifyParamsCashBalanceSettingsz(Customer.ModifyParamsCashBalanceSettingsm  r   rD   r  c                   T    e Zd ZU ed   ed<   	 ee   ed<   	 ee   ed<   	 ed   ed<   y)r  zALiteral['']|List[Customer.ModifyParamsInvoiceSettingsCustomField]rT   rU   rV   z@Literal['']|Customer.ModifyParamsInvoiceSettingsRenderingOptionsrW   Nr   rC   rD   rE   ModifyParamsInvoiceSettingsz$Customer.ModifyParamsInvoiceSettingsu  r   rD   r  c                   $    e Zd ZU eed<   	 eed<   y)/Customer.ModifyParamsInvoiceSettingsCustomFieldrK   rL   NrM   rC   rD   rE   &ModifyParamsInvoiceSettingsCustomFieldr    r   rD   r  c                   0    e Zd ZU ed   ed<   	 ee   ed<   y)4Customer.ModifyParamsInvoiceSettingsRenderingOptionsr   rQ   rR   Nr   rC   rD   rE   +ModifyParamsInvoiceSettingsRenderingOptionsr    r   rD   r  c                   6    e Zd ZU ded<   	 eed<   	 ee   ed<   y)Customer.ModifyParamsShipping$Customer.ModifyParamsShippingAddressr^   rK   r`   Nr   rC   rD   rE   ModifyParamsShippingr    r   rD   r  c                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)r  r7   r8   r9   r:   r;   r<   Nr   rC   rD   rE   ModifyParamsShippingAddressz$Customer.ModifyParamsShippingAddress  r   rD   r  c                   6    e Zd ZU ed   ed<   	 eed      ed<   y)r  r   rh   )autor   r   r   Nr   rC   rD   rE   ModifyParamsTaxzCustomer.ModifyParamsTax  s0     122	 '56
 	
	rD   r  c                      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<   y)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_yearrx   ry   rz   rK    Customer.ModifySourceParamsOwnerownerN)r>   r?   r@   r   rA   rB   r   r   rC   rD   rE   ModifySourceParamsr    s   (--	 )1H)IJJ	 "#&&	 %S))	 #3''	 #3''	 #3''	 !%%	 s##	 c""	 DI&&	 :;;	 #	 =>>rD   r  c                   T    e Zd ZU ed   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)r  'Customer.ModifySourceParamsOwnerAddressr^   r   rK   r`   Nr   rC   rD   rE   ModifySourceParamsOwnerz Customer.ModifySourceParamsOwner  sI    FGG	 3	 #	 3	rD   r  c                   x    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)r  r7   r8   r9   r:   r;   r<   Nr   rC   rD   rE   ModifySourceParamsOwnerAddressz'Customer.ModifySourceParamsOwnerAddress  r   rD   r  c                   $    e Zd ZU eee      ed<   y))Customer.RetrieveBalanceTransactionParamsrx   NrT  rC   rD   rE    RetrieveBalanceTransactionParamsr  8  rV  rD   r  c                   $    e Zd ZU eee      ed<   y)"Customer.RetrieveCashBalanceParamsrx   NrT  rC   rD   rE   RetrieveCashBalanceParamsr  >  rV  rD   r  c                   $    e Zd ZU eee      ed<   y)-Customer.RetrieveCashBalanceTransactionParamsrx   NrT  rC   rD   rE   $RetrieveCashBalanceTransactionParamsr  D  rV  rD   r  c                   $    e Zd ZU eee      ed<   y)Customer.RetrieveParamsrx   NrT  rC   rD   rE   RetrieveParamsr  J  rV  rD   r  c                   $    e Zd ZU eee      ed<   y)$Customer.RetrievePaymentMethodParamsrx   NrT  rC   rD   rE   RetrievePaymentMethodParamsr  P  rV  rD   r  c                   $    e Zd ZU eee      ed<   y)Customer.RetrieveSourceParamsrx   NrT  rC   rD   rE   RetrieveSourceParamsr  V  rV  rD   r  c                   $    e Zd ZU eee      ed<   y)Customer.RetrieveTaxIdParamsrx   NrT  rC   rD   rE   RetrieveTaxIdParamsr  \  rV  rD   r   c                   T    e Zd ZU eee      ed<   	 ee   ed<   	 ee   ed<   	 eed<   y)Customer.SearchParamsrx   ra  pagequeryN)r>   r?   r@   r   r   rA   rB   r|   rC   rD   rE   SearchParamsr  b  sF    DI&&	 3	 #	 
	rD   r  r^   r   r#   r   rk  rv   r    r!   r"   r)   r  
delinquentrw   r&   discountr   idinvoice_credit_balancer   r   livemoderz   rK   r   r  r`   r   r   sourcesr*   subscriptionsr   )exemptnonereverser   r+   tax_idsr,   r   Tdeletedparamsr   returnc                 Z    t        d| j                  d| j                         |            S )0
        Creates a new customer object.
        r2   postr  )r   _static_request	class_urlclsr  s     rE   createzCustomer.create  s6    
    
 	
rD   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)r  r2   r  r  N)r   _static_request_asyncr  r  s     rE   create_asynczCustomer.create_async  sD      ++ ,  
 	
s   ,97
	9r   r'   c                 p    t        d| j                  ddj                  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  sK     !?FF(2 G     	
 		
rD   c                      yr"  NrC   r3   r  s     rE   create_funding_instructionsz$Customer.create_funding_instructions!  s     	rD   c                      yr*  rC   selfr  s     rE   r,  z$Customer.create_funding_instructions.       	rD   r(  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r"  r'   r  r#  r	  r$  r  r   _requestr&  r   getr.  s     rE   r,  z$Customer.create_funding_instructions9  sQ     !MM?FF($8 G    	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r"  r'   r  r#  r$  r  Nr   r  r&  r   r'  s      rE   &_cls_create_funding_instructions_asyncz/Customer._cls_create_funding_instructions_asyncM  sY      !++?FF(2 G   ,  	
 		
   7AA
	Ac                    K   ywr*  rC   r+  s     rE   !create_funding_instructions_asyncz*Customer.create_funding_instructions_asyncc  s      	   c                    K   ywr*  rC   r.  s     rE   r:  z*Customer.create_funding_instructions_asyncp        	r;  r7  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r"  r'   r  r#  r	  r$  r  Nr   _request_asyncr&  r   r4  r.  s     rE   r:  z*Customer.create_funding_instructions_async{  sa      !%%?FF($8 G   &  	
 		
   AAA
		AsidrP  c                 z    | j                         dt        |      }t        d| j                  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  rB  r  urls       rE   _cls_deletezCustomer._cls_delete  sE     +c*:;   
 	
rD   c                      yrD  NrC   rB  r  s     rE   rF  zCustomer.delete       	rD   c                      yrL  rC   r.  s     rE   rF  zCustomer.delete  s    
 	rD   rJ  c                 F    | j                  d| j                         |      S )rD  rF  r  )_request_and_refreshinstance_urlr.  s     rE   rF  zCustomer.delete  s.     (( ) 
 	
rD   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)rD  rE  r2   rF  r  Nr  r   r   r  rH  s       rE   _cls_delete_asynczCustomer._cls_delete_async  sS      +c*:;++ ,  
 	
   <A	A
	A	c                    K   ywrL  rC   rM  s     rE   delete_asynczCustomer.delete_async        	r;  c                    K   ywrL  rC   r.  s     rE   rX  zCustomer.delete_async        	r;  rU  c                 b   K   | j                  d| j                         |       d{   S 7 w)rD  rF  r  N)_request_and_refresh_asyncrR  r.  s     rE   rX  zCustomer.delete_async  s<      44 5 
 
 	
 
s   &/-/rK  c                 p    t        d| j                  ddj                  t        |            |            S )G
        Removes the currently applied discount on a customer.
        r&   rF  !/v1/customers/{customer}/discountr$  r  r%  r'  s      rE   _cls_delete_discountzCustomer._cls_delete_discount  sJ     3::(2 ;     	
 		
rD   c                      yr_  NrC   r+  s     rE   delete_discountzCustomer.delete_discount  rN  rD   c                      yrc  rC   r.  s     rE   rd  zCustomer.delete_discount       	rD   ra  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r_  r&   rF  r`  r	  r$  r  r2  r.  s     rE   rd  zCustomer.delete_discount  sP     MM3::($8 ;    	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r_  r&   rF  r`  r$  r  Nr6  r'  s      rE   _cls_delete_discount_asyncz#Customer._cls_delete_discount_async&  sX      ++3::(2 ;   ,  	
 		
r8  c                    K   ywrc  rC   r+  s     rE   delete_discount_asynczCustomer.delete_discount_async8  rY  r;  c                    K   ywrc  rC   r.  s     rE   rk  zCustomer.delete_discount_asyncB  r[  r;  ri  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r_  r&   rF  r`  r	  r$  r  Nr?  r.  s     rE   rk  zCustomer.delete_discount_asyncK  s`      %%3::($8 ;   &  	
 		
rA  rj  c                     | j                  d| j                         |      }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.
        r4  r  %Expected list object from API, got %s)r  r  
isinstancer   	TypeErrorr   r>   r  r  results      rE   listzCustomer.list]  s]     $$MMO % 

 &*-7<((* 
 rD   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)ro  r4  r  Nrp  )r  r  rq  r   rr  r   r>   rs  s      rE   
list_asynczCustomer.list_asyncq  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"ru  r(   c                 ~    t        t        d   | j                  ddj                  t	        |            |            S )G
        Returns a list of PaymentMethods for a given Customer
        r(   r4  (/v1/customers/{customer}/payment_methodsr$  r  r   r   r  r&  r   r'  s      rE   _cls_list_payment_methodsz"Customer._cls_list_payment_methods  sP     ':AA(2 B     	
 		
rD   c                      yry  NrC   r+  s     rE   list_payment_methodszCustomer.list_payment_methods  rN  rD   c                      yr~  rC   r.  s     rE   r  zCustomer.list_payment_methods  rf  rD   r|  c                     t        t        d   | j                  ddj                  t	        | j                  d                  |            S )ry  r(   r4  rz  r	  r$  r  )r   r   r3  r&  r   r4  r.  s     rE   r  zCustomer.list_payment_methods  sV     'MM:AA($8 B    	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |            |       d{         S 7 w)ry  r(   r4  rz  r$  r  Nr   r   r  r&  r   r'  s      rE   _cls_list_payment_methods_asyncz(Customer._cls_list_payment_methods_async  s^      '++:AA(2 B   ,  	
 		
   >A A	
	Ac                    K   ywr~  rC   r+  s     rE   list_payment_methods_asyncz#Customer.list_payment_methods_async  rY  r;  c                    K   ywr~  rC   r.  s     rE   r  z#Customer.list_payment_methods_async  r[  r;  r  c                    K   t        t        d   | j                  ddj                  t	        | j                  d                  |       d{         S 7 w)ry  r(   r4  rz  r	  r$  r  N)r   r   r@  r&  r   r4  r.  s     rE   r  z#Customer.list_payment_methods_async  sf      '%%:AA($8 B   &  	
 		
s   AAA
	Ar  c                 z    | j                         dt        |      }t        d| j                  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.
        rE  r2   r  r  rG  r  r	  r  rI  s       rE   modifyzCustomer.modify  sD     +b/:   
 	
rD   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r  rE  r2   r  r  NrT  r  s       rE   modify_asynczCustomer.modify_async
  sR      +b/:++ ,  
 	
rV  r  c                 8     | |fi |}|j                          |S ).
        Retrieves a Customer object.
        )refreshr  r	  r  instances       rE   retrievezCustomer.retrieve  s$     r$V$rD   c                 T   K    | |fi |}|j                          d{    |S 7 w)r  N)refresh_asyncr  s       rE   retrieve_asynczCustomer.retrieve_async(  s3      r$V$$$&&& 	's   (&(ri   r  c                     t        d| j                  ddj                  t        |      t        |            |            S )H
        Retrieves a PaymentMethod object for a given Customer.
        r(   r4  9/v1/customers/{customer}/payment_methods/{payment_method}r3   ri   r  r%  r  r3   ri   r  s       rE   _cls_retrieve_payment_methodz%Customer._cls_retrieve_payment_method3  sS     KRR(2#.~#> S     

 
	
rD   c                      yr  NrC   r3   ri   r  s      rE   retrieve_payment_methodz Customer.retrieve_payment_methodI  s     	rD   c                      yr  rC   r/  ri   r  s      rE   r  z Customer.retrieve_payment_methodU  r0  rD   r  c                     t        d| j                  ddj                  t        | j	                  d            t        |            |            S )r  r(   r4  r  r	  r  r  r2  r  s      rE   r  z Customer.retrieve_payment_method`  sY     MMKRR($8#.~#> S    

 
	
rD   c                    K   t        d| j                  ddj                  t        |      t        |            |       d{         S 7 w)r  r(   r4  r  r  r  Nr6  r  s       rE   "_cls_retrieve_payment_method_asyncz+Customer._cls_retrieve_payment_method_asyncu  sa      ++KRR(2#.~#> S   ,  

 
	
   AAA
	Ac                    K   ywr  rC   r  s      rE   retrieve_payment_method_asyncz&Customer.retrieve_payment_method_async  s      	r;  c                    K   ywr  rC   r  s      rE   r  z&Customer.retrieve_payment_method_async  r=  r;  r  c                    K   t        d| j                  ddj                  t        | j	                  d            t        |            |       d{         S 7 w)r  r(   r4  r  r	  r  r  Nr?  r  s      rE   r  z&Customer.retrieve_payment_method_async  si      %%KRR($8#.~#> S   &  

 
	
s   AAA
	A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.search  s      s{{tN&<NvNNrD   c                 F   K    | j                   |ddi| d{   S 7 w)r  r  r  N)_search_asyncr  s      rE   search_asynczCustomer.search_async  s:      'S&&04
-
8>
 
 	
 
s   !!c                 B     | j                   |i |j                         S N)r  auto_paging_iterr  s      rE   search_auto_paging_iterz Customer.search_auto_paging_iter  s#     szz4*6*;;==rD   c                 ^   K    | j                   |i | d {   j                         S 7 wr  )r  r  r  s      rE   search_auto_paging_iter_asyncz&Customer.search_auto_paging_iter_async  s/      'c&&777IIKK7s   -+-rt   r$   c                 p    t        d| j                  ddj                  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  sK     (?FF(2 G     	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r$   r  r  r$  r  Nr6  r'  s      rE    create_balance_transaction_asyncz)Customer.create_balance_transaction_async  sY      (++?FF(2 G   ,  	
 		
r8  transactionr  c                     t        d| j                  ddj                  t        |      t        |            |            S )
        Retrieves a specific customer balance transaction that updated the customer's [balances](https://stripe.com/docs/billing/customer/balance).
        r$   r4  ;/v1/customers/{customer}/balance_transactions/{transaction}r3   r  r  r%  r  r3   r  r  s       rE   retrieve_balance_transactionz%Customer.retrieve_balance_transaction	  sS     (MTT(2 +K 8 U     

 
	
rD   c                    K   t        d| j                  ddj                  t        |      t        |            |       d{         S 7 w)r  r$   r4  r  r  r  Nr6  r  s       rE   "retrieve_balance_transaction_asyncz+Customer.retrieve_balance_transaction_async	  sa      (++MTT(2 +K 8 U   ,  

 
	
r  r  c                     t        d| j                  ddj                  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_transaction1	  sS     (MTT(2 +K 8 U     

 
	
rD   c                    K   t        d| j                  ddj                  t        |      t        |            |       d{         S 7 w)r  r$   r  r  r  r  Nr6  r  s       rE    modify_balance_transaction_asyncz)Customer.modify_balance_transaction_asyncG	  sa      (++MTT(2 +K 8 U   ,  

 
	
r  r_  c                 ~    t        t        d   | j                  ddj                  t	        |            |            S )
        Returns a list of transactions that updated the customer's [balances](https://stripe.com/docs/billing/customer/balance).
        r$   r4  r  r$  r  r{  r'  s      rE   list_balance_transactionsz"Customer.list_balance_transactions]	  sQ     34?FF(2 G     	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |            |       d{         S 7 w)r  r$   r4  r  r$  r  Nr  r'  s      rE   list_balance_transactions_asyncz(Customer.list_balance_transactions_asyncq	  s_      34++?FF(2 G   ,  	
 		
r  r  r%   c                     t        d| j                  ddj                  t        |      t        |            |            S )
        Retrieves a specific cash balance transaction, which updated the customer's [cash balance](https://stripe.com/docs/payments/customer-balance).
        r%   r4  @/v1/customers/{customer}/cash_balance_transactions/{transaction}r  r  r%  r  s       rE   !retrieve_cash_balance_transactionz*Customer.retrieve_cash_balance_transaction	  sS     ,RYY(2 +K 8 Z     

 
	
rD   c                    K   t        d| j                  ddj                  t        |      t        |            |       d{         S 7 w)r  r%   r4  r  r  r  Nr6  r  s       rE   'retrieve_cash_balance_transaction_asyncz0Customer.retrieve_cash_balance_transaction_async	  sa      ,++RYY(2 +K 8 Z   ,  

 
	
r  rg  c                 ~    t        t        d   | j                  ddj                  t	        |            |            S )
        Returns a list of transactions that modified the customer's [cash balance](https://stripe.com/docs/payments/customer-balance).
        r%   r4  2/v1/customers/{customer}/cash_balance_transactionsr$  r  r{  r'  s      rE   list_cash_balance_transactionsz'Customer.list_cash_balance_transactions	  sQ     78DKK(2 L     	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |            |       d{         S 7 w)r  r%   r4  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 L   ,  	
 		
r  rE  c                 ~    t        t        d   | j                  ddj                  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	  sP     <=299(2 :     	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |            |       d{         S 7 w)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 :   ,  	
 		
r  r  c                     t        t        d   | j                  ddj                  t	        |      t	        |            |            S )C
        Retrieve a specified source for a given customer.
        r  r4  %/v1/customers/{customer}/sources/{id}r3   r	  r  r  r  r3   r	  r  s       rE   retrieve_sourcezCustomer.retrieve_source
  sV     <=7>>(2{2 ?     	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |      t	        |            |       d{         S 7 w)r  r  r4  r  r  r  Nr  r  s       rE   retrieve_source_asynczCustomer.retrieve_source_async
  sd      <=++7>>(2{2 ?   ,  	
 		
   AA
A
	Ar  c                     t        t        d   | j                  ddj                  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/
  sV     <=7>>(2{2 ?     	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |      t	        |            |       d{         S 7 w)r  r  r  r  r  r  Nr  r  s       rE   modify_source_asynczCustomer.modify_source_asyncD
  sd      <=++7>>(2{2 ?   ,  	
 		
r  rS  c                     t        t        d   | j                  ddj                  t	        |      t	        |            |            S )A
        Delete a specified source for a given customer.
        r  rF  r  r  r  r  r  s       rE   delete_sourcezCustomer.delete_sourceY
  sV     <=7>>(2{2 ?     	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |      t	        |            |       d{         S 7 w)r  r  rF  r  r  r  Nr  r  s       rE   delete_source_asynczCustomer.delete_source_asyncn
  sd      <=++7>>(2{2 ?   ,  	
 		
r  r  c                     t        t        t        d      | j                  ddj	                  t        |            |            S )8
        List sources for a specified customer.
        r  r4  r  r$  r  )r   r   r   r  r&  r   r'  s      rE   list_sourceszCustomer.list_sources
  sU     uGHI299(2 :     	
 		
rD   c                    K   t        t        t        d      | j                  ddj	                  t        |            |       d{         S 7 w)r   r  r4  r  r$  r  N)r   r   r   r  r&  r   r'  s      rE   list_sources_asynczCustomer.list_sources_async
  sc      uGHI++299(2 :   ,  	
 		
s   AAA
	ArH  c                 p    t        d| j                  ddj                  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
  sJ     299(2 :     	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r+   r  r  r$  r  Nr6  r'  s      rE   create_tax_id_asynczCustomer.create_tax_id_async
  sX      ++299(2 :   ,  	
 		
r8  r  c                     t        d| j                  ddj                  t        |      t        |            |            S )H
        Retrieves the tax_id object with the given identifier.
        r+   r4  %/v1/customers/{customer}/tax_ids/{id}r  r  r%  r  s       rE   retrieve_tax_idzCustomer.retrieve_tax_id
  sP     7>>(2{2 ?     	
 		
rD   c                    K   t        d| j                  ddj                  t        |      t        |            |       d{         S 7 w)r  r+   r4  r  r  r  Nr6  r  s       rE   retrieve_tax_id_asynczCustomer.retrieve_tax_id_async
  s^      ++7>>(2{2 ?   ,  	
 		
r  rX  c                     t        d| j                  ddj                  t        |      t        |            |            S )4
        Deletes an existing tax_id object.
        r+   rF  r  r  r  r%  r  s       rE   delete_tax_idzCustomer.delete_tax_id
  sP     7>>(2{2 ?     	
 		
rD   c                    K   t        d| j                  ddj                  t        |      t        |            |       d{         S 7 w)r  r+   rF  r  r  r  Nr6  r  s       rE   delete_tax_id_asynczCustomer.delete_tax_id_async
  s^      ++7>>(2{2 ?   ,  	
 		
r  r  c                 ~    t        t        d   | j                  ddj                  t	        |            |            S );
        Returns a list of tax IDs for a customer.
        r+   r4  r  r$  r  r{  r'  s      rE   list_tax_idszCustomer.list_tax_ids  sO     w299(2 :     	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |            |       d{         S 7 w)r  r+   r4  r  r$  r  Nr  r'  s      rE   list_tax_ids_asynczCustomer.list_tax_ids_async1  s]      w++299(2 :   ,  	
 		
r  r  c                 p    t        d| j                  ddj                  t        |            |            S )6
        Retrieves a customer's cash balance.
        r#   r4  %/v1/customers/{customer}/cash_balancer$  r  r%  r'  s      rE   retrieve_cash_balancezCustomer.retrieve_cash_balanceC  sJ     7>>(2 ?     	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r#   r4  r  r$  r  Nr6  r'  s      rE   retrieve_cash_balance_asyncz$Customer.retrieve_cash_balance_asyncW  sX      ++7>>(2 ?   ,  	
 		
r8  r  c                 p    t        d| j                  ddj                  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_balancek  sJ     7>>(2 ?     	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r!  r#   r  r  r$  r  Nr6  r'  s      rE   modify_cash_balance_asyncz"Customer.modify_cash_balance_async  sX      ++7>>(2 ?   ,  	
 		
r8  c                   Z   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y)Customer.TestHelpersr2   _resource_clsr3   r  r[  r  r%   c                 p    t        d| j                  ddj                  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_balance  sK     0##MTT!,X!6 U  " $ 	 	rD   c                      yr)  NrC   r+  s     rE   fund_cash_balancez&Customer.TestHelpers.fund_cash_balance  s     rD   c                      yr-  rC   r.  s     rE   r.  z&Customer.TestHelpers.fund_cash_balance  s     rD   r+  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r)  r%   r  r*  r	  r$  r  )r   resourcer3  r&  r   r4  r.  s     rE   r.  z&Customer.TestHelpers.fund_cash_balance  s^     0&&MTT!,T]]->->t-D!E U  " ' 	 	rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r)  r%   r  r*  r$  r  Nr6  r'  s      rE   _cls_fund_cash_balance_asyncz1Customer.TestHelpers._cls_fund_cash_balance_async  sY      0//MTT!,X!6 U  " 0  	 	r8  c                    K   ywr-  rC   r+  s     rE   fund_cash_balance_asyncz,Customer.TestHelpers.fund_cash_balance_async  s      r;  c                    K   ywr-  rC   r.  s     rE   r5  z,Customer.TestHelpers.fund_cash_balance_async  s      r;  r3  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r)  r%   r  r*  r	  r$  r  N)r   r1  r@  r&  r   r4  r.  s     rE   r5  z,Customer.TestHelpers.fund_cash_balance_async  sl      0mm22MTT!,T]]->->t-D!E U  " 3  	 	s   AA'A%
	A'N)r>   r?   r@   r   rB   classmethodrA   r   r+  r   staticmethodr.  r   r3  r5  rC   rD   rE   TestHelpersr&    s   J''			 =>	 .		 
	& 
			%+,L%M	-	 
 
	 
	"#CD	-	 
	 
6	7	"#CD	-	 
8	" 
		 =>	 .		 
	& 
			%+,L%M	-	 
 
	 
	"#CD	-	 
	 
<	=	"#CD	-	 
>	rD   r:  c                 $    | j                  |       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   rY   rb   rr   r	   r}   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rC  rF  rI  rM  rQ  rU  rY  r]  rd  rh  rl  rs  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   r8  r   r  r   r(  r   r9  r,  r   r7  r:  rJ  rF  rU  rX  ra  rd  ri  rk  ru  rw  r|  r  r  r  r  r  r  r  r  r  r  r  r
   r  r  r   r  r   r  r  r  r  r  r  r  r  r  r  r  r  r  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<  rX   rC   rD   rE   r2   r2   6   s   
 2<K'*-.;, 4(
, (
T,2< ,2\"4l "4H ,. $i 4I R$~ R$hi 4) ) i , 
i 
y i 4) m m^$^ $qN qf~ ~ ^ N  $ $N $^ <I $H> HTN ,> $ . ) Q$~ Q$fi 4) ) i , 
i 
y i 4
) 
5?^ 5?n) $ 4> N ~  n ~ n ~ $ g c] =)) L sm HIJ 
  # z"" C= 	G %T#s(^44 SM! //N tCH~&& 3- $C=( J C=  S	** x   5CDE  J~677 
#!<=>> j)** 566 gdm$$ 
f%<= 
* 
 
 
56
	
 
 

 CD
 
	
 
* 		CD	 
	  	 IJ	  <=
IJ
	
 >
& 

 CD
 
	
 
* 		CD	 
	  	 IJ	  BC
IJ
	
 D
& 

!'(?!@
	
 
  "#:;	   v&=> :   -(

67

	

 )

 

!'(?!@
	
 
  "#:;	   67	  -.

67

	

 /

 

&,-L&M
	
 
" !'(G!H	   >?	  01
>?
	
 2
" 

&,-L&M
	
 
" !'(G!H	   >?	  67
>?
	
 8
" 34	J	 & 34	J	 & 

 <=
 
O	$	
 
& !'(K!L	O	$   BC	O	$  56
BC
	O	$
 7
" 

 <=
 
O	$	
 
& !'(K!L	O	$   BC	O	$  ;<
BC
	O	$
 =
" 

 &'> ?
	
 
$ 

 &'> ?
	
 
$  &'@ A	   &'@ A	  

 
 ?@	

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

 

 
*  ?@ 
	    ?@ 
	  >?

 ?@
 
	
 @
( 	O$%<=	O	J	'	O 	O 
$%<=
	J	'
 
 >$%<=>	*	> >
 L$%<=L	z	"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,Z8 sj & & +	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>r[     s    B ? 4 * = O 2 ; A . 7 A :
 
 
  '0!0O *@4%1$9 459:x(x(W/*%$
#*%*%W/ ) ) ; 6W/t^ &.   "rD   