
    h                    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   deLd   fd       ZueMdeFdeNd   deLd   fd       ZveMdeFdeNd   ddfd       ZweMdeFdeNd   ddfd       ZxeMdeFdeFdeNd   ddfd       ZyeMdeFdeFdeNd   ddfd       ZzeMdeFdeFdeNd   ddfd       Z{eMdeFdeFdeNd   ddfd       Z|eMdeFdeNd   deLd   fd       Z}eMdeFdeNd   deLd   fd       Z~eMdeFdeFdeNd   ddfd       ZeMdeFdeFdeNd   ddfd       ZeMdeFdeNd   deLeHd|      fd        ZeMdeFdeNd   deLeHd|      fd       ZeMdeFdeNd   deHd|   fd       ZeMdeFdeN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eFdeFdeNd   deHd|   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__     P/var/www/api/v1/venv_getwork_v1/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      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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_balancerw   emailrx   invoice_prefix$Customer.CreateParamsInvoiceSettingsinvoice_settingsry   rz   rK   next_invoice_sequenceri   r`   preferred_localesz)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	 !%%	 3	 DI&&	 $C((	 &&LMM	 :;;	 #	  +3//	 $C((3	 'tCy11	 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   u  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   nad_nrtae_trnal_tinam_tinao_tinar_cuitau_abnau_arnaw_tinaz_tinba_tinbb_tinbd_binbf_ifubg_uicbh_vatbj_ifu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cm_niucn_tinco_nitcr_tincv_nifde_stndo_rcnec_ruceg_tines_cifet_tin
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kg_tinkh_tinkr_brnkz_binla_tin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)    mo
 o	
`	 
	rD   rK  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   CreateSourceParamsrM  u  sI    DI&&	 d38n--	 	 d##rD   rN  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   CreateTaxIdParamsrP    s?    DI&&	 mo
 o	
`	 
	rD   rQ  c                       e Zd Zy)Customer.DeleteDiscountParamsNr>   r?   r@   rC   rD   rE   DeleteDiscountParamsrS        rD   rU  c                       e Zd Zy)Customer.DeleteParamsNrT  rC   rD   rE   DeleteParamsrX    rV  rD   rY  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   DeleteSourceParamsr[        DI&&	rD   r]  c                       e Zd Zy)Customer.DeleteTaxIdParamsNrT  rC   rD   rE   DeleteTaxIdParamsr`    rV  rD   ra  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   FundCashBalanceParamsrc    s@    	 	 DI&&	 s##	rD   re  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   ListBalanceTransactionsParamsrg  "  L    "3''	 DI&&	 3	 $C((	rD   rl  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.ListCashBalanceTransactionsParamsrh  rx   ri  rj  Nrk  rC   rD   rE   !ListCashBalanceTransactionsParamsro  4  rm  rD   rp  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   rh  rx   ri  rj  r   N)r>   r?   r@   r   rB   rA   r   r|   rC   rD   rE   
ListParamsrr  F  s    =>>	 3	 #3''	 DI&&	 3	 $C((	  $$	rD   rt  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   ListParamsCreatedrv  d  sH    	 	 	 	rD   r{  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_redisplayrh  rx   ri  rj  )/
acss_debitaffirmafterpay_clearpayalipayalma
amazon_payau_becs_debit
bacs_debit
bancontactbillieblikboletocardcashappcustomer_balanceepsfpxgiropaygrabpayideal	kakao_payklarnakonbinikr_cardlink	mobilepay
multibanco	naver_paynz_bank_accountoxxop24pay_by_bankpaycopaynowpaypalpix	promptpayrevolut_paysamsung_paysatispay
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}  v  s    $67
 	
	 #3''	 DI&&	 3	 $C((	 .02
 2	
f	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.ListSourcesParamsrh  rx   ri  objectrj  Nrk  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.ListTaxIdsParamsrh  rx   ri  rj  Nrk  rC   rD   rE   ListTaxIdsParamsr    rm  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   Nr\  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                   l   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      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   default_sourcerw   r   rx   r   $Customer.ModifyParamsInvoiceSettingsr   ry   rz   rK   r   r`   r   z)Literal['']|Customer.ModifyParamsShippingr   r/   Customer.ModifyParamsTaxr   r   r   r   Nr   rC   rD   rE   ModifyParamsr    s]   GHH	 S!!	 ""DEE	 $C((	 !%%	 3	 DI&&	 $C((	 &&LMM	 :;;	 #	  +3//	 3	 'tCy11	 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  Z  r   rD   r  c                       e Zd ZU ed   ed<   y)r  (Customer.ModifyParamsCashBalanceSettingsr   Nr   rC   rD   rE   ModifyParamsCashBalancez Customer.ModifyParamsCashBalancet  r   rD   r  c                   $    e Zd ZU eed      ed<   y)r  r   r   Nr   rC   rD   rE   ModifyParamsCashBalanceSettingsz(Customer.ModifyParamsCashBalanceSettings{  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.ModifyParamsInvoiceSettings  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   Nr\  rC   rD   rE    RetrieveBalanceTransactionParamsr  F  r^  rD   r  c                   $    e Zd ZU eee      ed<   y)"Customer.RetrieveCashBalanceParamsrx   Nr\  rC   rD   rE   RetrieveCashBalanceParamsr  L  r^  rD   r  c                   $    e Zd ZU eee      ed<   y)-Customer.RetrieveCashBalanceTransactionParamsrx   Nr\  rC   rD   rE   $RetrieveCashBalanceTransactionParamsr  R  r^  rD   r   c                   $    e Zd ZU eee      ed<   y)Customer.RetrieveParamsrx   Nr\  rC   rD   rE   RetrieveParamsr  X  r^  rD   r  c                   $    e Zd ZU eee      ed<   y)$Customer.RetrievePaymentMethodParamsrx   Nr\  rC   rD   rE   RetrievePaymentMethodParamsr  ^  r^  rD   r  c                   $    e Zd ZU eee      ed<   y)Customer.RetrieveSourceParamsrx   Nr\  rC   rD   rE   RetrieveSourceParamsr  d  r^  rD   r	  c                   $    e Zd ZU eee      ed<   y)Customer.RetrieveTaxIdParamsrx   Nr\  rC   rD   rE   RetrieveTaxIdParamsr  j  r^  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   ri  pagequeryN)r>   r?   r@   r   r   rA   rB   r|   rC   rD   rE   SearchParamsr  p  sF    DI&&	 3	 #	 
	rD   r  r^   r   r#   r   rs  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r6  rC   selfr  s     rE   r8  z$Customer.create_funding_instructions<       	rD   r4  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r.  r'   r#  r/  r  r0  r$  r   _requestr2  r   getr:  s     rE   r8  z$Customer.create_funding_instructionsG  sQ     !MM?FF($8 G    	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r.  r'   r#  r/  r0  r$  Nr   r+  r2  r   r3  s      rE   &_cls_create_funding_instructions_asyncz/Customer._cls_create_funding_instructions_async[  sY      !++?FF(2 G   ,  	
 		
   7AA
	Ac                    K   ywr6  rC   r7  s     rE   !create_funding_instructions_asyncz*Customer.create_funding_instructions_asyncq  s      	   c                    K   ywr6  rC   r:  s     rE   rF  z*Customer.create_funding_instructions_async~        	rG  rC  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r.  r'   r#  r/  r  r0  r$  Nr   _request_asyncr2  r   r@  r:  s     rE   rF  z*Customer.create_funding_instructions_async  sa      !%%?FF($8 G   &  	
 		
   AAA
		AsidrX  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(  rN  r  urls       rE   _cls_deletezCustomer._cls_delete  sE     +c*:;   
 	
rD   c                      yrP  NrC   rN  r  s     rE   rR  zCustomer.delete       	rD   c                      yrX  rC   r:  s     rE   rR  zCustomer.delete  s    
 	rD   rV  c                 F    | j                  d| j                         |      S )rP  rR  r$  )_request_and_refreshinstance_urlr:  s     rE   rR  zCustomer.delete  s.     (( ) 
 	
rD   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)rP  rQ  r2   rR  r$  Nr&  r   r   r+  rT  s       rE   _cls_delete_asynczCustomer._cls_delete_async  sS      +c*:;++ ,  
 	
   <A	A
	A	c                    K   ywrX  rC   rY  s     rE   delete_asynczCustomer.delete_async        	rG  c                    K   ywrX  rC   r:  s     rE   rd  zCustomer.delete_async        	rG  ra  c                 b   K   | j                  d| j                         |       d{   S 7 w)rP  rR  r$  N)_request_and_refresh_asyncr^  r:  s     rE   rd  zCustomer.delete_async  s<      44 5 
 
 	
 
s   &/-/rS  c                 p    t        d| j                  ddj                  t        |            |            S )G
        Removes the currently applied discount on a customer.
        r&   rR  !/v1/customers/{customer}/discountr0  r$  r1  r3  s      rE   _cls_delete_discountzCustomer._cls_delete_discount  sJ     3::(2 ;     	
 		
rD   c                      yrk  NrC   r7  s     rE   delete_discountzCustomer.delete_discount  rZ  rD   c                      yro  rC   r:  s     rE   rp  zCustomer.delete_discount       	rD   rm  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )rk  r&   rR  rl  r  r0  r$  r>  r:  s     rE   rp  zCustomer.delete_discount"  sP     MM3::($8 ;    	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)rk  r&   rR  rl  r0  r$  NrB  r3  s      rE   _cls_delete_discount_asyncz#Customer._cls_delete_discount_async4  sX      ++3::(2 ;   ,  	
 		
rD  c                    K   ywro  rC   r7  s     rE   delete_discount_asynczCustomer.delete_discount_asyncF  re  rG  c                    K   ywro  rC   r:  s     rE   rw  zCustomer.delete_discount_asyncP  rg  rG  ru  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)rk  r&   rR  rl  r  r0  r$  NrK  r:  s     rE   rw  zCustomer.delete_discount_asyncY  s`      %%3::($8 ;   &  	
 		
rM  rr  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.
        r@  r$  %Expected list object from API, got %s)r%  r&  
isinstancer   	TypeErrorr   r>   r(  r  results      rE   listzCustomer.listk  s]     $$MMO % 

 &*-7<((* 
 rD   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r{  r@  r$  Nr|  )r+  r&  r}  r   r~  r   r>   r  s      rE   
list_asynczCustomer.list_async  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r}  r(   c                 ~    t        t        d   | j                  ddj                  t	        |            |            S )G
        Returns a list of PaymentMethods for a given Customer
        r(   r@  (/v1/customers/{customer}/payment_methodsr0  r$  r   r   r%  r2  r   r3  s      rE   _cls_list_payment_methodsz"Customer._cls_list_payment_methods  sP     ':AA(2 B     	
 		
rD   c                      yr  NrC   r7  s     rE   list_payment_methodszCustomer.list_payment_methods  rZ  rD   c                      yr  rC   r:  s     rE   r  zCustomer.list_payment_methods  rr  rD   r  c                     t        t        d   | j                  ddj                  t	        | j                  d                  |            S )r  r(   r@  r  r  r0  r$  )r   r   r?  r2  r   r@  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)r  r(   r@  r  r0  r$  Nr   r   r+  r2  r   r3  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   r7  s     rE   list_payment_methods_asyncz#Customer.list_payment_methods_async  re  rG  c                    K   ywr  rC   r:  s     rE   r  z#Customer.list_payment_methods_async  rg  rG  r  c                    K   t        t        d   | j                  ddj                  t	        | j                  d                  |       d{         S 7 w)r  r(   r@  r  r  r0  r$  N)r   r   rL  r2  r   r@  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.
        rQ  r2   r#  r$  rS  r(  r  r  rU  s       rE   modifyzCustomer.modify  sD     +b/:   
 	
rD   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r  rQ  r2   r#  r$  Nr`  r  s       rE   modify_asynczCustomer.modify_async  sR      +b/:++ ,  
 	
rb  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_async6  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(   r@  9/v1/customers/{customer}/payment_methods/{payment_method}r3   ri   r$  r1  r(  r3   ri   r  s       rE   _cls_retrieve_payment_methodz%Customer._cls_retrieve_payment_methodA  sS     KRR(2#.~#> S     

 
	
rD   c                      yr  NrC   r3   ri   r  s      rE   retrieve_payment_methodz Customer.retrieve_payment_methodW  s     	rD   c                      yr  rC   r;  ri   r  s      rE   r  z Customer.retrieve_payment_methodc  r<  rD   r  c                     t        d| j                  ddj                  t        | j	                  d            t        |            |            S )r  r(   r@  r  r  r  r$  r>  r  s      rE   r  z Customer.retrieve_payment_methodn  sY     MMKRR($8#.~#> S    

 
	
rD   c                    K   t        d| j                  ddj                  t        |      t        |            |       d{         S 7 w)r  r(   r@  r  r  r$  NrB  r  s       rE   "_cls_retrieve_payment_method_asyncz+Customer._cls_retrieve_payment_method_async  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      	rG  c                    K   ywr  rC   r  s      rE   r  z&Customer.retrieve_payment_method_async  rI  rG  r  c                    K   t        d| j                  ddj                  t        | j	                  d            t        |            |       d{         S 7 w)r  r(   r@  r  r  r  r$  NrK  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   -+-rg  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$   r@  -/v1/customers/{customer}/balance_transactionsr0  r$  r  r3  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$   r@  r  r0  r$  Nr  r3  s      rE   list_balance_transactions_asyncz(Customer.list_balance_transactions_async  s_      34++?FF(2 G   ,  	
 		
r  rt   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#  r  r0  r$  r1  r3  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  r0  r$  NrB  r3  s      rE    create_balance_transaction_asyncz)Customer.create_balance_transaction_async'	  sY      (++?FF(2 G   ,  	
 		
rD  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$   r@  ;/v1/customers/{customer}/balance_transactions/{transaction}r3   r  r$  r1  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$   r@  r  r  r$  NrB  r  s       rE   "retrieve_balance_transaction_asyncz+Customer.retrieve_balance_transaction_asyncQ	  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$  r1  r  s       rE   modify_balance_transactionz#Customer.modify_balance_transactiong	  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$  NrB  r  s       rE    modify_balance_transaction_asyncz)Customer.modify_balance_transaction_async}	  sa      (++MTT(2 +K 8 U   ,  

 
	
r  ro  r%   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%   r@  2/v1/customers/{customer}/cash_balance_transactionsr0  r$  r  r3  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%   r@  r  r0  r$  Nr  r3  s      rE   $list_cash_balance_transactions_asyncz-Customer.list_cash_balance_transactions_async	  s_      78++DKK(2 L   ,  	
 		
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%   r@  @/v1/customers/{customer}/cash_balance_transactions/{transaction}r  r$  r1  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%   r@  r  r  r$  NrB  r  s       rE   'retrieve_cash_balance_transaction_asyncz0Customer.retrieve_cash_balance_transaction_async	  sa      ,++RYY(2 +K 8 Z   ,  

 
	
r  r  c                     t        t        t        d      | j                  ddj	                  t        |            |            S )8
        List sources for a specified customer.
        r  r@   /v1/customers/{customer}/sourcesr0  r$  )r   r   r   r%  r2  r   r3  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  r@  r  r0  r$  N)r   r   r   r+  r2  r   r3  s      rE   list_sources_asynczCustomer.list_sources_async	  sc      uGHI++299(2 :   ,  	
 		
s   AAA
	ArM  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#  r  r0  r$  r   r   r%  r2  r   r3  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  r0  r$  Nr   r   r+  r2  r   r3  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  r@  %/v1/customers/{customer}/sources/{id}r3   r  r$  r  r(  r3   r  r  s       rE   retrieve_sourcezCustomer.retrieve_source7
  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   retrieve_source_asynczCustomer.retrieve_source_asyncL
  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_sourcea
  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_asyncv
  sd      <=++7>>(2{2 ?   ,  	
 		
r  r[  c                     t        t        d   | j                  ddj                  t	        |      t	        |            |            S )A
        Delete a specified source for a given customer.
        r  rR  r  r   r$  r  r  s       rE   delete_sourcezCustomer.delete_source
  sV     <=7>>(2{2 ?     	
 		
rD   c                    K   t        t        d   | j                  ddj                  t	        |      t	        |            |       d{         S 7 w)r  r  rR  r  r   r$  Nr  r  s       rE   delete_source_asynczCustomer.delete_source_async
  sd      <=++7>>(2{2 ?   ,  	
 		
r  rP  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_idsr0  r$  r1  r3  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  r0  r$  NrB  r3  s      rE   create_tax_id_asynczCustomer.create_tax_id_async
  sX      ++299(2 :   ,  	
 		
rD  r  c                     t        d| j                  ddj                  t        |      t        |            |            S )H
        Retrieves the tax_id object with the given identifier.
        r+   r@  %/v1/customers/{customer}/tax_ids/{id}r   r$  r1  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+   r@  r  r   r$  NrB  r  s       rE   retrieve_tax_id_asynczCustomer.retrieve_tax_id_async
  s^      ++7>>(2{2 ?   ,  	
 		
r  r`  c                     t        d| j                  ddj                  t        |      t        |            |            S )4
        Deletes an existing tax_id object.
        r+   rR  r  r   r$  r1  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+   rR  r  r   r$  NrB  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+   r@  r  r0  r$  r  r3  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+   r@  r  r0  r$  Nr  r3  s      rE   list_tax_ids_asynczCustomer.list_tax_ids_async?  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#   r@  %/v1/customers/{customer}/cash_balancer0  r$  r1  r3  s      rE   retrieve_cash_balancezCustomer.retrieve_cash_balanceQ  sJ     7>>(2 ?     	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r'  r#   r@  r(  r0  r$  NrB  r3  s      rE   retrieve_cash_balance_asyncz$Customer.retrieve_cash_balance_asynce  sX      ++7>>(2 ?   ,  	
 		
rD  r  c                 p    t        d| j                  ddj                  t        |            |            S )D
        Changes the settings on a customer's cash balance.
        r#   r#  r(  r0  r$  r1  r3  s      rE   modify_cash_balancezCustomer.modify_cash_balancey  sJ     7>>(2 ?     	
 		
rD   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r-  r#   r#  r(  r0  r$  NrB  r3  s      rE   modify_cash_balance_asyncz"Customer.modify_cash_balance_async  sX      ++7>>(2 ?   ,  	
 		
rD  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  rc  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_balancer0  r$  r1  r3  s      rE   _cls_fund_cash_balancez+Customer.TestHelpers._cls_fund_cash_balance  sK     0##MTT!,X!6 U  " $ 	 	rD   c                      yr5  NrC   r7  s     rE   fund_cash_balancez&Customer.TestHelpers.fund_cash_balance  s     rD   c                      yr9  rC   r:  s     rE   r:  z&Customer.TestHelpers.fund_cash_balance  s     rD   r7  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r5  r%   r#  r6  r  r0  r$  )r   resourcer?  r2  r   r@  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)r5  r%   r#  r6  r0  r$  NrB  r3  s      rE   _cls_fund_cash_balance_asyncz1Customer.TestHelpers._cls_fund_cash_balance_async  sY      0//MTT!,X!6 U  " 0  	 	rD  c                    K   ywr9  rC   r7  s     rE   fund_cash_balance_asyncz,Customer.TestHelpers.fund_cash_balance_async  s      rG  c                    K   ywr9  rC   r:  s     rE   rA  z,Customer.TestHelpers.fund_cash_balance_async  s      rG  r?  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r5  r%   r#  r6  r  r0  r$  N)r   r=  rL  r2  r   r@  r:  s     rE   rA  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   r7  r   staticmethodr:  r   r?  rA  rC   rD   rE   TestHelpersr2    s   J''			 =>	 .		 
	& 
			%+,L%M	-	 
 
	 
	"#CD	-	 
	 
6	7	"#CD	-	 
8	" 
		 =>	 .		 
	& 
			%+,L%M	-	 
 
	 
	"#CD	-	 
	 
<	=	"#CD	-	 
>	rD   rF  c                 $    | j                  |       S r  )rF  )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   rK  rN  rQ  rU  rY  r]  ra  re  rl  rp  rt  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|   rA   r   r   r   r   r   r   rD  r   r)  r,  r4  r   rE  r8  r   rC  rF  rV  rR  ra  rd  rm  rp  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.  r0  r   rF  propertyrH  rX   rC   rD   rE   r2   r2   6   s   
 2<K'*-.;, 4(
, (
T,2< ,2\"4l "4H ,. $i 4I M$~ M$^i 4) ) i , 
i 
y i 4) w wr$^ ${N {z~ ~ ^ N  $ $N $^ <I $L> L\N ,> $ . ) L$~ L$\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
 

 AB
 
0	1	
 
& 

 AB
 
0	1	
 
& 

 BC
 
&	
 
& 

 BC
 
&	
 
& 

 
 DE	

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

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

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

 
&
 
* 

 EF
 
4	5	
 
& 

 EF
 
4	5	
 
& 

 
 HI	

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

 
*
 
* 

&,-I&J
	EDE	F
 
" 

&,-I&J
	EDE	F
 
" 

&,-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
	
 
" 

&,-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   rF  r3  rC   rD   rE   <module>rg     s    B ? 4 * = O 2 ; A . 7 A :
 
 
  '0!0O *@4%1$9 459:x(x(e/*%$
#*%*%e/ ) ) ; 6e/P_ &.   "rD   