
    _j                       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' e'rd dl(m)Z) d dl*m+Z+ d 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 d dlFmGZG d dlHmIZI d d lJmKZK d d!lLmMZM d d"lNmOZO d d#lPmQZQ d d$lRmSZS d d%lTmUZU d d&lVmWZW d d'lXmYZY d d(lZm[Z[ d d)l\m]Z] d d*l^m_Z_ d d+l`maZa d d,lbmcZc d d-ldmeZe d d.lfmgZg d d/lhmiZi d d0ljmkZk d d1llmmZm d d2lnmoZo d d3lpmqZq d d4lrmsZs d d5ltmuZu d d6lvmwZw d d7lxmyZy  ed8           ed9           ed:           ed;           G d< d=ed=         ed=         e	d=         ed=         ed=                                                                   Zzezezj{        _|        d>S )?    )CreateableAPIResource)DeletableAPIResource)ExpandableField)
ListObject)ListableAPIResource)nested_resource_class_methods)SearchResultObject)SearchableAPIResource)StripeObject)APIResourceTestHelpers)UpdateableAPIResource)class_method_variantsanitize_id)	AsyncIteratorClassVarDictIteratorListOptionalUnioncastoverload)LiteralTypeUnpackTYPE_CHECKING)Account)BankAccount)Card)CashBalance)CustomerBalanceTransaction)CustomerCashBalanceTransaction)Discount)FundingInstructions)PaymentMethod)Source)Subscription)TaxId)&CustomerCreateBalanceTransactionParams)'CustomerCreateFundingInstructionsParams)CustomerCreateParams)CustomerCreateSourceParams)CustomerCreateTaxIdParams)CustomerDeleteDiscountParams)CustomerDeleteParams)CustomerDeleteSourceParams)CustomerDeleteTaxIdParams)CustomerFundCashBalanceParams)%CustomerListBalanceTransactionsParams))CustomerListCashBalanceTransactionsParams)CustomerListParams) CustomerListPaymentMethodsParams)CustomerListSourcesParams)CustomerListTaxIdsParams)&CustomerModifyBalanceTransactionParams)CustomerModifyCashBalanceParams)CustomerModifyParams)CustomerModifySourceParams)(CustomerRetrieveBalanceTransactionParams)!CustomerRetrieveCashBalanceParams),CustomerRetrieveCashBalanceTransactionParams)CustomerRetrieveParams)#CustomerRetrievePaymentMethodParams)CustomerRetrieveSourceParams)CustomerRetrieveTaxIdParams)CustomerSearchParams)	TestClockbalance_transactioncash_balance_transactionsourcetax_idc            
       J   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ee	         ed<   	 ee         ed<   	 ee         ed<   	 ed         ed<   	 eed<   	 ee         ed<   	 ee         ed<   	 eeed                           ed<   	 eed                  ed<   	 ee         ed<   	 ee         ed<   	 ed         ed<   	 ee         ed<   	 eed<   	 ee         ed<   	 eeeef                  ed<   	 ee         ed <   	 ee
         ed!<   eed"<   	 eeeef                  ed#<   	 ee         ed$<   	 ee         ed%<   	 ed         ed&<   	 ee         ed'<   	 eee                  ed(<   	 ee         ed)<   	 eeed                           ed*<   	 eed+                  ed,<   	 ee         ed-<   eed.                  ed/<   	 eed0                  ed1<   	 eed2                  ed3<   	 ed4ed5         d6d fd7            Zed4ed5         d6d fd8            Zeded4ed9         d6d:fd;            Zeeded4ed9         d6d:fd<                        Zed4ed9         d6d:fd=            Z ed>          d4ed9         d6d:fd?            Zeded4ed9         d6d:fd@            Zeeded4ed9         d6d:fdA                        Z ed4ed9         d6d:fdB            Z  edC          d4ed9         d6d:fdD            Z edEed4edF         d6d fdG            Z!eedEed4edF         d6d fdH                        Z"ed4edF         d6d fdI            Z" edJ          d4edF         d6d fdK            Z"edEed4edF         d6d fdL            Z#eedEed4edF         d6d fdM                        Z$ed4edF         d6d fdN            Z$ edO          d4edF         d6d fdP            Z$eded4edQ         d6dfdR            Z%eeded4edQ         d6dfdS                        Z&ed4edQ         d6dfdT            Z& edU          d4edQ         d6dfdV            Z&eded4edQ         d6dfdW            Z'eeded4edQ         d6dfdX                        Z(ed4edQ         d6dfdY            Z( edZ          d4edQ         d6dfd[            Z(ed4ed\         d6ed          fd]            Z)ed4ed\         d6ed          fd^            Z*eded4ed_         d6ed`         fda            Z+eeded4ed_         d6ed`         fdb                        Z,ed4ed_         d6ed`         fdc            Z, edd          d4ed_         d6ed`         fde            Z,eded4ed_         d6ed`         fdf            Z-eeded4ed_         d6ed`         fdg                        Z.ed4ed_         d6ed`         fdh            Z. edi          d4ed_         d6ed`         fdj            Z.eded4edk         d6d fdl            Z/eded4edk         d6d fdm            Z0eded4edn         d6d fdo            Z1eded4edn         d6d fdp            Z2ededqed4edr         d6d`fds            Z3eededqed4edr         d6d`fdt                        Z4edqed4edr         d6d`fdu            Z4 edv          dqed4edr         d6d`fdw            Z4ededqed4edr         d6d`fdx            Z5eededqed4edr         d6d`fdy                        Z6edqed4edr         d6d`fdz            Z6 ed{          dqed4edr         d6d`fd|            Z6ed}ed~         d6e7d          fd            Z8ed}ed~         d6e7d          fd            Z9ed}ed~         d6e:d          fd            Z;ed}ed~         d6e<d          fd            Z=eded4ed         d6ed         fd            Z>eded4ed         d6ed         fd            Z?eded4ed         d6dfd            Z@eded4ed         d6dfd            ZAededed4ed         d6dfd            ZBededed4ed         d6dfd            ZCededed4ed         d6dfd            ZDededed4ed         d6dfd            ZEeded4ed         d6ed         fd            ZFeded4ed         d6ed         fd            ZGededed4ed         d6dfd            ZHededed4ed         d6dfd            ZIeded4ed         d6eed                  fd            ZJeded4ed         d6eed                  fd            ZKeded4ed         d6ed         fd            ZLeded4ed         d6ed         fd            ZMededed4ed         d6ed         fd            ZNededed4ed         d6ed         fd            ZOededed4ed         d6ed         fd            ZPededed4ed         d6ed         fd            ZQededed4ed         d6ed         fd            ZRededed4ed         d6ed         fd            ZSeded4ed         d6d0fd            ZTeded4ed         d6d0fd            ZUededed4ed         d6d0fd            ZVededed4ed         d6d0fd            ZWededed4ed         d6d0fd            ZXededed4ed         d6d0fd            ZYeded4ed         d6ed0         fd            ZZeded4ed         d6ed0         fd            Z[eded4ed         d6dfd            Z\eded4ed         d6dfd            Z]eded4ed         d6dfd            Z^eded4ed         d6dfd            Z_ G d de`d                    Zaebd             Zce	e
eedZddS )Customera&  
    This object represents a customer of your business. Use it to [create recurring charges](https://docs.stripe.com/invoicing/customer), [save payment](https://docs.stripe.com/payments/save-during-payment) and contact information,
    and track payments that belong to the same customer.
    customerOBJECT_NAMEc                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )Customer.Addresscitycountryline1line2postal_codestateN__name__
__module____qualname__r   str__annotations__     T/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/_customer.pyAddressrO      s         sm	 #	 }	 }	 c]"""	 }	 	r]   r_   c                       e Zd ZU  G d de          Z G d de          Zeee                  ed<   	 ee	d                  ed<   	 ee
         ed<   	 ee         ed	<   	 eed
ZdS )Customer.InvoiceSettingsc                   &    e Zd ZU eed<   	 eed<   dS )$Customer.InvoiceSettings.CustomFieldnamevalueN)rW   rX   rY   rZ   r[   r\   r]   r^   CustomFieldrc      s/         III JJJ r]   rf   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS ))Customer.InvoiceSettings.RenderingOptionsamount_tax_displaytemplateNrV   r\   r]   r^   RenderingOptionsrh      s=          (--- sm### r]   rk   custom_fieldsr%   default_payment_methodfooterrendering_options)rl   ro   N)rW   rX   rY   r   rf   rk   r   r   r[   r   rZ   _inner_class_typesr\   r]   r^   InvoiceSettingsra      s         	 	 	 	 	, 	 	 		 	 	 	 	| 	 	 	  [ 12222	 !))I JJJJ	 	 $$45555	 )!1
 
r]   rq   c                       e Zd ZU  G d de          Zee         ed<   ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 deiZdS )	Customer.Shippingc                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )Customer.Shipping.AddressrP   rQ   rR   rS   rT   rU   NrV   r\   r]   r^   r_   ru      s         3- c]""" C=    C=    "#&&& C=    r]   r_   addresscarrierrd   phonetracking_numberN)	rW   rX   rY   r   r_   r   r[   rZ   rp   r\   r]   r^   Shippingrs      s         	 	 	 	 	l 	 	 	4 '""""#	 sm	 }	 "#&&&	 (1r]   rz   c                       e Zd ZU  G d de          Zed         ed<   	 ee         ed<   	 ee         ed<   	 ed         ed<   	 deiZ	d	S )
Customer.Taxc                   J    e Zd ZU eed<   	 ed         ed<   	 ee         ed<   dS )Customer.Tax.LocationrQ   )billing_address
ip_addresspayment_methodshipping_destinationrH   rU   N)rW   rX   rY   rZ   r[   r   r   r\   r]   r^   Locationr~      sY         LLL (    C=    r]   r   )failednot_collecting	supportedunrecognized_locationautomatic_taxr   location)anrokavalaraspherestripeproviderN)
rW   rX   rY   r   r   r   r[   r   rZ   rp   r\   r]   r^   Taxr|      s         	 	 	 	 	| 	 	 	& L
 	
 	
 	
	 SM!!!	 8$$$$	 @AAAA	 )(3r]   r   rv   balancebusiness_namer    cash_balancecreatedcurrencycustomer_accountr   r   r   r&   default_sourceTdeleted
delinquentdescriptionr#   discountemailidindividual_nameinvoice_credit_balanceinvoice_prefixinvoice_settingslivemodemetadatard   next_invoice_sequenceobjectrx   preferred_localesshippingsourcesr'   subscriptionstax)exemptnonereverse
tax_exemptr(   tax_idsrE   
test_clockparamsr+   returnc                 r    t          d|                     d|                                 |                    S )0
        Creates a new customer object.
        rK   postr   )r   _static_request	class_urlclsr   s     r^   createzCustomer.create  sB    
     
 
 	
r]   c                    K   t          d|                     d|                                 |           d{V           S )r   rK   r   r   N)r   _static_request_asyncr   r   s     r^   create_asynczCustomer.create_async  sd       ++ ,        
 
 	
r]   r*   r$   c                     t          d|                     dd                    t          |                    |                    S )  
        Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new
        funding instructions will be created. If funding instructions have already been created for a given customer, the same
        funding instructions will be retrieved. In other words, we will return the same funding instructions each time.
        r$   r   -/v1/customers/{customer}/funding_instructionsrL   r   r   r   formatr   r   rL   r   s      r^    _cls_create_funding_instructionsz)Customer._cls_create_funding_instructions  s]     !?FF(22 G       	
 	
 		
r]   c                     dS r   Nr\   rL   r   s     r^   create_funding_instructionsz$Customer.create_funding_instructions  s	     	r]   c                     dS r   r\   selfr   s     r^   r   z$Customer.create_funding_instructions  	     	r]   r   c                     t          d|                     dd                    t          |                     d                              |                    S )r   r$   r   r   r   r   r   r   _requestr   r   getr   s     r^   r   z$Customer.create_funding_instructions  se     !MM?FF($88 G      	
 	
 		
r]   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r$   r   r   r   r   Nr   r   r   r   r   s      r^   &_cls_create_funding_instructions_asyncz/Customer._cls_create_funding_instructions_async  s       !++?FF(22 G    ,        	
 	
 		
r]   c                 
   K   dS r   r\   r   s     r^   !create_funding_instructions_asyncz*Customer.create_funding_instructions_async  s       	r]   c                 
   K   dS r   r\   r   s     r^   r   z*Customer.create_funding_instructions_async*         	r]   r   c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r   r$   r   r   r   r   r   Nr   _request_asyncr   r   r   r   s     r^   r   z*Customer.create_funding_instructions_async5  s       !%%?FF($88 G    &        	
 	
 		
r]   sidr/   c                     |                                  dt          |          }t          d|                     d||                    S )
        Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.
        /rK   deleter   r   r   r   r   r   r   r   urls       r^   _cls_deletezCustomer._cls_deleteI  s[     +c*:*:*:;    
 
 	
r]   c                     dS r   Nr\   r   r   s     r^   r   zCustomer.deleteZ  	     	r]   c                     dS r   r\   r   s     r^   r   zCustomer.deleted  s	    
 	r]   r   c                 V    |                      d|                                 |          S )r   r   r   )_request_and_refreshinstance_urlr   s     r^   r   zCustomer.deletek  s6     (( ) 
 
 	
r]   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r   r   rK   r   r   Nr   r   r   r   r   s       r^   _cls_delete_asynczCustomer._cls_delete_asyncx  s}       +c*:*:*:;++ ,        
 
 	
r]   c                 
   K   dS r   r\   r   s     r^   delete_asynczCustomer.delete_async         	r]   c                 
   K   dS r   r\   r   s     r^   r   zCustomer.delete_async         	r]   r   c                 f   K   |                      d|                                 |           d{V S )r   r   r   N)_request_and_refresh_asyncr   r   s     r^   r   zCustomer.delete_async  sX       44 5 
 
 
 
 
 
 
 
 	
r]   r.   c                     t          d|                     dd                    t          |                    |                    S )G
        Removes the currently applied discount on a customer.
        r#   r   !/v1/customers/{customer}/discountr   r   r   r   s      r^   _cls_delete_discountzCustomer._cls_delete_discount  s\     3::(22 ;       	
 	
 		
r]   c                     dS r   Nr\   r   s     r^   delete_discountzCustomer.delete_discount  r   r]   c                     dS r   r\   r   s     r^   r   zCustomer.delete_discount  	     	r]   r   c                     t          d|                     dd                    t          |                     d                              |                    S )r   r#   r   r   r   r   r   r   r   s     r^   r   zCustomer.delete_discount  sd     MM3::($88 ;      	
 	
 		
r]   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r#   r   r   r   r   Nr   r   s      r^   _cls_delete_discount_asyncz#Customer._cls_delete_discount_async  s~       ++3::(22 ;    ,        	
 	
 		
r]   c                 
   K   dS r   r\   r   s     r^   delete_discount_asynczCustomer.delete_discount_async  r   r]   c                 
   K   dS r   r\   r   s     r^   r  zCustomer.delete_discount_async  r   r]   r  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r   r#   r   r   r   r   r   Nr   r   s     r^   r  zCustomer.delete_discount_async  s       %%3::($88 ;    &        	
 	
 		
r]   r5   c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )
        Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.
        r   r   %Expected list object from API, got %s)r   r   
isinstancer   	TypeErrortyperW   r   r   results      r^   listzCustomer.list  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r]   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )r	  r   r   Nr
  )r   r   r  r   r  r  rW   r  s      r^   
list_asynczCustomer.list_async+  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r]   r6   r%   c                     t          t          d         |                     dd                    t	          |                    |                    S )G
        Returns a list of PaymentMethods for a given Customer
        r%   r   (/v1/customers/{customer}/payment_methodsr   r   r   r   r   r   r   r   s      r^   _cls_list_payment_methodsz"Customer._cls_list_payment_methods?  sb     ':AA(22 B       	
 	
 		
r]   c                     dS r  Nr\   r   s     r^   list_payment_methodszCustomer.list_payment_methodsS  r   r]   c                     dS r  r\   r   s     r^   r  zCustomer.list_payment_methods]  r   r]   r  c                     t          t          d         |                     dd                    t	          |                     d                              |                    S )r  r%   r   r  r   r   r   )r   r   r   r   r   r   r   s     r^   r  zCustomer.list_payment_methodsf  sj     'MM:AA($88 B      	
 	
 		
r]   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r  r%   r   r  r   r   Nr   r   r   r   r   r   s      r^   _cls_list_payment_methods_asyncz(Customer._cls_list_payment_methods_asyncx  s       '++:AA(22 B    ,        	
 	
 		
r]   c                 
   K   dS r  r\   r   s     r^   list_payment_methods_asyncz#Customer.list_payment_methods_async  r   r]   c                 
   K   dS r  r\   r   s     r^   r!  z#Customer.list_payment_methods_async  r   r]   r  c                    K   t          t          d         |                     dd                    t	          |                     d                              |           d{V           S )r  r%   r   r  r   r   r   N)r   r   r   r   r   r   r   s     r^   r!  z#Customer.list_payment_methods_async  s       '%%:AA($88 B    &        	
 	
 		
r]   r;   c                     |                                  dt          |          }t          d|                     d||                    S )m  
        Updates the specified customer by setting the values of the parameters passed. Any parameters not provided are left unchanged. For example, if you pass the source parameter, that becomes the customer's active source (such as 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 is retried. This retry doesn't count as an automatic retry, and doesn't affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer doesn't trigger this behavior.

        This request accepts mostly the same arguments as the customer creation call.
        r   rK   r   r   r   r   r   r   r   s       r^   modifyzCustomer.modify  sX     +b///:    
 
 	
r]   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r%  r   rK   r   r   Nr   r&  s       r^   modify_asynczCustomer.modify_async  sz       +b///:++ ,        
 
 	
r]   r@   c                 @     | |fi |}|                                  |S ).
        Retrieves a Customer object.
        )refreshr   r   r   instances       r^   retrievezCustomer.retrieve  s2     3r$$V$$r]   c                 P   K    | |fi |}|                                  d{V  |S )r+  N)refresh_asyncr-  s       r^   retrieve_asynczCustomer.retrieve_async  sH       3r$$V$$$$&&&&&&&&&r]   r   rA   c                     t          d|                     dd                    t          |          t          |                    |                    S )H
        Retrieves a PaymentMethod object for a given Customer.
        r%   r   9/v1/customers/{customer}/payment_methods/{payment_method}rL   r   r   r   r   rL   r   r   s       r^   _cls_retrieve_payment_methodz%Customer._cls_retrieve_payment_method  sh     KRR(22#.~#>#> S       

 

 
	
r]   c                     dS r4  Nr\   rL   r   r   s      r^   retrieve_payment_methodz Customer.retrieve_payment_method  s	     	r]   c                     dS r:  r\   r   r   r   s      r^   r<  z Customer.retrieve_payment_method  r   r]   r8  c                     t          d|                     dd                    t          |                     d                    t          |                    |                    S )r4  r%   r   r5  r   r6  r   r   r>  s      r^   r<  z Customer.retrieve_payment_method  sp     MMKRR($88#.~#>#> S      

 

 
	
r]   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )r4  r%   r   r5  r6  r   Nr   r7  s       r^   "_cls_retrieve_payment_method_asyncz+Customer._cls_retrieve_payment_method_async/  s       ++KRR(22#.~#>#> S    ,        

 

 
	
r]   c                 
   K   dS r:  r\   r;  s      r^   retrieve_payment_method_asyncz&Customer.retrieve_payment_method_asyncE  s       	r]   c                 
   K   dS r:  r\   r>  s      r^   rC  z&Customer.retrieve_payment_method_asyncQ  r   r]   rA  c                    K   t          d|                     dd                    t          |                     d                    t          |                    |           d{V           S )r4  r%   r   r5  r   r6  r   Nr   r>  s      r^   rC  z&Customer.retrieve_payment_method_async\  s       %%KRR($88#.~#>#> S    &        

 

 
	
r]   kwargsrD   c                       | j         |ddi|S )  
        Search for customers you've previously created using Stripe's [Search Query Language](https://docs.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   argsrF  s      r^   searchzCustomer.searchq  s!     s{tN&<NvNNNr]   c                 0   K    | j         |ddi| d{V S )rH  rI  rJ  N)_search_asyncrL  s      r^   search_asynczCustomer.search_async}  sP       'S&04
-
8>
 
 
 
 
 
 
 
 	
r]   c                 @     | j         |i |                                S N)rN  auto_paging_iterrL  s      r^   search_auto_paging_iterz Customer.search_auto_paging_iter  s'     sz4*6**;;===r]   c                 P   K    | j         |i | d {V                                 S rS  )rQ  rT  rL  s      r^   search_auto_paging_iter_asyncz&Customer.search_auto_paging_iter_async  s>       'c&777777777IIKKKr]   r3   r!   c                     t          t          d         |                     dd                    t	          |                    |                    S )
        Returns a list of transactions that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance).
        r!   r   -/v1/customers/{customer}/balance_transactionsr   r   r  r   s      r^   list_balance_transactionsz"Customer.list_balance_transactions  sc     34?FF(22 G       	
 	
 		
r]   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )rY  r!   r   rZ  r   r   Nr  r   s      r^   list_balance_transactions_asyncz(Customer.list_balance_transactions_async  s       34++?FF(22 G    ,        	
 	
 		
r]   r)   c                     t          d|                     dd                    t          |                    |                    S )
        Creates an immutable transaction that updates the customer's credit [balance](https://docs.stripe.com/docs/billing/customer/balance).
        r!   r   rZ  r   r   r   r   s      r^   create_balance_transactionz#Customer.create_balance_transaction  s]     (?FF(22 G       	
 	
 		
r]   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r_  r!   r   rZ  r   r   Nr   r   s      r^    create_balance_transaction_asyncz)Customer.create_balance_transaction_async  s       (++?FF(22 G    ,        	
 	
 		
r]   transactionr=   c                     t          d|                     dd                    t          |          t          |                    |                    S )
        Retrieves a specific customer balance transaction that updated the customer's [balances](https://docs.stripe.com/docs/billing/customer/balance).
        r!   r   ;/v1/customers/{customer}/balance_transactions/{transaction}rL   rc  r   r   r   rL   rc  r   s       r^   retrieve_balance_transactionz%Customer.retrieve_balance_transaction  sh     (MTT(22 +K 8 8 U       

 

 
	
r]   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )re  r!   r   rf  rg  r   Nr   rh  s       r^   "retrieve_balance_transaction_asyncz+Customer.retrieve_balance_transaction_async  s       (++MTT(22 +K 8 8 U    ,        

 

 
	
r]   r9   c                     t          d|                     dd                    t          |          t          |                    |                    S )x
        Most credit balance transaction fields are immutable, but you may update its description and metadata.
        r!   r   rf  rg  r   r   rh  s       r^   modify_balance_transactionz#Customer.modify_balance_transaction  sh     (MTT(22 +K 8 8 U       

 

 
	
r]   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )rm  r!   r   rf  rg  r   Nr   rh  s       r^    modify_balance_transaction_asyncz)Customer.modify_balance_transaction_async)  s       (++MTT(22 +K 8 8 U    ,        

 

 
	
r]   r4   r"   c                     t          t          d         |                     dd                    t	          |                    |                    S )
        Returns a list of transactions that modified the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance).
        r"   r   2/v1/customers/{customer}/cash_balance_transactionsr   r   r  r   s      r^   list_cash_balance_transactionsz'Customer.list_cash_balance_transactions?  sc     78DKK(22 L       	
 	
 		
r]   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )rr  r"   r   rs  r   r   Nr  r   s      r^   $list_cash_balance_transactions_asyncz-Customer.list_cash_balance_transactions_asyncS  s       78++DKK(22 L    ,        	
 	
 		
r]   r?   c                     t          d|                     dd                    t          |          t          |                    |                    S )
        Retrieves a specific cash balance transaction, which updated the customer's [cash balance](https://docs.stripe.com/docs/payments/customer-balance).
        r"   r   @/v1/customers/{customer}/cash_balance_transactions/{transaction}rg  r   r   rh  s       r^   !retrieve_cash_balance_transactionz*Customer.retrieve_cash_balance_transactiong  sh     ,RYY(22 +K 8 8 Z       

 

 
	
r]   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )rx  r"   r   ry  rg  r   Nr   rh  s       r^   'retrieve_cash_balance_transaction_asyncz0Customer.retrieve_cash_balance_transaction_async}  s       ,++RYY(22 +K 8 8 Z    ,        

 

 
	
r]   r7   c                     t          t          t          d                  |                     dd                    t          |                    |                    S )8
        List sources for a specified customer.
        r   r    /v1/customers/{customer}/sourcesr   r   )r   r   r   r   r   r   r   s      r^   list_sourceszCustomer.list_sources  sg     uGHI299(22 :       	
 	
 		
r]   c                    K   t          t          t          d                  |                     dd                    t          |                    |           d{V           S )r~  r   r   r  r   r   N)r   r   r   r   r   r   r   s      r^   list_sources_asynczCustomer.list_sources_async  s       uGHI++299(22 :    ,        	
 	
 		
r]   r,   c                     t          t          d         |                     dd                    t	          |                    |                    S )  
        When you create a new credit card, you must specify a customer or recipient on which to create it.

        If the card's owner has no default card, then the new card will become the default.
        However, if the owner already has a default, then it will not change.
        To change the default, you should [update the customer](https://docs.stripe.com/docs/api#update_customer) to have a new default_source.
        r   r   r  r   r   r   r   r   r   r   r   s      r^   create_sourcezCustomer.create_source  sb     <=299(22 :       	
 	
 		
r]   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r  r   r   r  r   r   Nr   r   r   r   r   r   s      r^   create_source_asynczCustomer.create_source_async  s       <=++299(22 :    ,        	
 	
 		
r]   rB   c                     t          t          d         |                     dd                    t	          |          t	          |                    |                    S )C
        Retrieve a specified source for a given customer.
        r   r   %/v1/customers/{customer}/sources/{id}rL   r   r   r  r   rL   r   r   s       r^   retrieve_sourcezCustomer.retrieve_source  sj     <=7>>(22{2 ?       	
 	
 		
r]   c                    K   t          t          d         |                     dd                    t	          |          t	          |                    |           d{V           S )r  r   r   r  r  r   Nr  r  s       r^   retrieve_source_asynczCustomer.retrieve_source_async  s       <=++7>>(22{2 ?    ,        	
 	
 		
r]   r<   c                     t          t          d         |                     dd                    t	          |          t	          |                    |                    S )A
        Update a specified source for a given customer.
        r   r   r  r  r   r  r  s       r^   modify_sourcezCustomer.modify_source  sj     <=7>>(22{2 ?       	
 	
 		
r]   c                    K   t          t          d         |                     dd                    t	          |          t	          |                    |           d{V           S )r  r   r   r  r  r   Nr  r  s       r^   modify_source_asynczCustomer.modify_source_async"  s       <=++7>>(22{2 ?    ,        	
 	
 		
r]   r0   c                     t          t          d         |                     dd                    t	          |          t	          |                    |                    S )A
        Delete a specified source for a given customer.
        r   r   r  r  r   r  r  s       r^   delete_sourcezCustomer.delete_source7  sj     <=7>>(22{2 ?       	
 	
 		
r]   c                    K   t          t          d         |                     dd                    t	          |          t	          |                    |           d{V           S )r  r   r   r  r  r   Nr  r  s       r^   delete_source_asynczCustomer.delete_source_asyncL  s       <=++7>>(22{2 ?    ,        	
 	
 		
r]   r-   c                     t          d|                     dd                    t          |                    |                    S )=
        Creates a new tax_id object for a customer.
        r(   r    /v1/customers/{customer}/tax_idsr   r   r   r   s      r^   create_tax_idzCustomer.create_tax_ida  s\     299(22 :       	
 	
 		
r]   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r(   r   r  r   r   Nr   r   s      r^   create_tax_id_asynczCustomer.create_tax_id_asyncs  s~       ++299(22 :    ,        	
 	
 		
r]   rC   c                     t          d|                     dd                    t          |          t          |                    |                    S )H
        Retrieves the tax_id object with the given identifier.
        r(   r   %/v1/customers/{customer}/tax_ids/{id}r  r   r   r  s       r^   retrieve_tax_idzCustomer.retrieve_tax_id  sd     7>>(22{2 ?       	
 	
 		
r]   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )r  r(   r   r  r  r   Nr   r  s       r^   retrieve_tax_id_asynczCustomer.retrieve_tax_id_async  s       ++7>>(22{2 ?    ,        	
 	
 		
r]   r1   c                     t          d|                     dd                    t          |          t          |                    |                    S )4
        Deletes an existing tax_id object.
        r(   r   r  r  r   r   r  s       r^   delete_tax_idzCustomer.delete_tax_id  sd     7>>(22{2 ?       	
 	
 		
r]   c                    K   t          d|                     dd                    t          |          t          |                    |           d{V           S )r  r(   r   r  r  r   Nr   r  s       r^   delete_tax_id_asynczCustomer.delete_tax_id_async  s       ++7>>(22{2 ?    ,        	
 	
 		
r]   r8   c                     t          t          d         |                     dd                    t	          |                    |                    S );
        Returns a list of tax IDs for a customer.
        r(   r   r  r   r   r  r   s      r^   list_tax_idszCustomer.list_tax_ids  sa     w299(22 :       	
 	
 		
r]   c                    K   t          t          d         |                     dd                    t	          |                    |           d{V           S )r  r(   r   r  r   r   Nr  r   s      r^   list_tax_ids_asynczCustomer.list_tax_ids_async  s       w++299(22 :    ,        	
 	
 		
r]   r>   c                     t          d|                     dd                    t          |                    |                    S )6
        Retrieves a customer's cash balance.
        r    r   %/v1/customers/{customer}/cash_balancer   r   r   r   s      r^   retrieve_cash_balancezCustomer.retrieve_cash_balance  s\     7>>(22 ?       	
 	
 		
r]   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r    r   r  r   r   Nr   r   s      r^   retrieve_cash_balance_asyncz$Customer.retrieve_cash_balance_async  s~       ++7>>(22 ?    ,        	
 	
 		
r]   r:   c                     t          d|                     dd                    t          |                    |                    S )D
        Changes the settings on a customer's cash balance.
        r    r   r  r   r   r   r   s      r^   modify_cash_balancezCustomer.modify_cash_balance%  s\     7>>(22 ?       	
 	
 		
r]   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r    r   r  r   r   Nr   r   s      r^   modify_cash_balance_asyncz"Customer.modify_cash_balance_async7  s~       ++7>>(22 ?    ,        	
 	
 		
r]   c                      e Zd ZU ed         ed<   ededed         ddfd            Ze	e
deded         ddfd	                        Ze	ded         ddfd
            Z ed          ded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed          ded         ddfd            ZdS )Customer.TestHelpersrK   _resource_clsrL   r   r2   r   r"   c                     t          d|                     dd                    t          |                    |                    S )C
            Create an incoming testmode bank transfer
            r"   r   7/v1/test_helpers/customers/{customer}/fund_cash_balancer   r   r   r   s      r^   _cls_fund_cash_balancez+Customer.TestHelpers._cls_fund_cash_balanceL  s]     0##MTT!,X!6!6 U   " $  	 	 	r]   c                     dS r  Nr\   r   s     r^   fund_cash_balancez&Customer.TestHelpers.fund_cash_balance`  s	     Cr]   c                     dS r  r\   r   s     r^   r  z&Customer.TestHelpers.fund_cash_balancej  s	     Cr]   r  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r  r"   r   r  r   r   r   )r   resourcer   r   r   r   r   s     r^   r  z&Customer.TestHelpers.fund_cash_balances  so     0&&MTT!,T]->->t-D-D!E!E U   " '  	 	 	r]   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r"   r   r  r   r   Nr   r   s      r^   _cls_fund_cash_balance_asyncz1Customer.TestHelpers._cls_fund_cash_balance_async  s       0//MTT!,X!6!6 U   " 0        	 	 	r]   c                 
   K   dS r  r\   r   s     r^   fund_cash_balance_asyncz,Customer.TestHelpers.fund_cash_balance_async  s       Cr]   c                 
   K   dS r  r\   r   s     r^   r  z,Customer.TestHelpers.fund_cash_balance_async  s       Cr]   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r  r"   r   r  r   r   r   N)r   r  r   r   r   r   r   s     r^   r  z,Customer.TestHelpers.fund_cash_balance_async  s       0m22MTT!,T]->->t-D-D!E!E U   " 3        	 	 	r]   N)rW   rX   rY   r   r[   classmethodrZ   r   r  r   staticmethodr  r   r  r  r\   r]   r^   TestHelpersr  I  s+        J''''			 <=	 .		 	 	 
	& 
			%+,K%L	-	 	 	 
 
	 
	"#BC	-	 	 	 
	 
	6	7	7	"#BC	-	 	 	 
8	7	" 
		 <=	 .		 	 	 
	& 
			%+,K%L	-	 	 	 
 
	 
	"#BC	-	 	 	 
	 
	<	=	=	"#BC	-	 	 	 
>	=	 	 	r]   r  c                 ,    |                      |           S rS  )r  )r   s    r^   test_helperszCustomer.test_helpers  s    %%%r]   )rv   r   r   r   N)erW   rX   rY   __doc__rM   r   r   r[   r   r_   rq   rz   r   r   intrZ   r   r   boolr   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/  r2  r8  r<  rA  rC  r	   rN  rQ  r   rU  r   rW  r[  r]  r`  rb  ri  rk  rn  rp  rt  rv  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  propertyr  rp   r\   r]   r^   rK   rK   v   s}         
 2<K'*-.;;;    ,   4(
 (
 (
 (
 (
, (
 (
 (
T,2 ,2 ,2 ,2 ,2< ,2 ,2 ,2\&4 &4 &4 &4 &4l &4 &4 &4P g c] C=    =)))) LLL sm sm### HIJ   
 gdm$$$$  # z"""" C= 	GGG c]""" %T#s(^4444 SM!!! ////NNN tCH~&&&& 3- $C=((( J C=  S	**** x     5CDE    J~67777 
#!<=>>>> j)**** 56666 
f%;< 
 
 
 
 [
 
45
	
 
 
 [
 

 BC
 
	
 
 
 [
* 		BC	 
	 	 	 \ X	 HI	   X <==
HI
	
 
 
 >=
& 

 BC
 
	
 
 
 [
* 		BC	 
	 	 	 \ X	 HI	   X BCC
HI
	
 
 
 DC
& 

!'(>!?
	
 
 
 [
  "#9:	   \ X v&<= *    X -((

56

	

 

 

 )(

 

!'(>!?
	
 
 
 [
  "#9:	   \ X 56	   X -..

56

	

 

 

 /.

 

&,-K&L
	
 
 
 [
" !'(F!G	   \ X =>	   X 011
=>
	
 
 
 21
" 

&,-K&L
	
 
 
 [
" !'(F!G	   \ X =>	   X 677
=>
	
 
 
 87
" 23	J	   [& 23	J	   [& 

 ;<
 
O	$	
 
 
 [
& !'(J!K	O	$   \ X AB	O	$   X 566
AB
	O	$
 
 
 76
" 

 ;<
 
O	$	
 
 
 [
& !'(J!K	O	$   \ X AB	O	$   X ;<<
AB
	O	$
 
 
 =<
" 

 &'= >
	
 
 
 [
$ 

 &'= >
	
 
 
 [
$  &'? @	   [  &'? @	   [ 

 
 >?	

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

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

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

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

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

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

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

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

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

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

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

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

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

 
9	:
 
 
 [
( 

&,-H&I
	
 
 
 [
" 

&,-H&I
	
 
 
 [
" 

 
 67	

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

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

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

 

 
 
 [
( 

&,-G&H
	G	
 
 
 [
" 

&,-G&H
	G	
 
 
 [
" 

 <=
 
	
 
 
 [
& 

 <=
 
	
 
 
 [
& 

&,-N&O
	
 
 
 [
" 

&,-N&O
	
 
 
 [
"s s s s s,Z8 s s sj & & X& +	 r]   rK   N)}stripe._createable_api_resourcer   stripe._deletable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   %stripe._nested_resource_class_methodsr   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   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(   9stripe.params._customer_create_balance_transaction_paramsr)   :stripe.params._customer_create_funding_instructions_paramsr*   %stripe.params._customer_create_paramsr+   ,stripe.params._customer_create_source_paramsr,   ,stripe.params._customer_create_tax_id_paramsr-   .stripe.params._customer_delete_discount_paramsr.   %stripe.params._customer_delete_paramsr/   ,stripe.params._customer_delete_source_paramsr0   ,stripe.params._customer_delete_tax_id_paramsr1   0stripe.params._customer_fund_cash_balance_paramsr2   8stripe.params._customer_list_balance_transactions_paramsr3   =stripe.params._customer_list_cash_balance_transactions_paramsr4   #stripe.params._customer_list_paramsr5   3stripe.params._customer_list_payment_methods_paramsr6   +stripe.params._customer_list_sources_paramsr7   +stripe.params._customer_list_tax_ids_paramsr8   9stripe.params._customer_modify_balance_transaction_paramsr9   2stripe.params._customer_modify_cash_balance_paramsr:   %stripe.params._customer_modify_paramsr;   ,stripe.params._customer_modify_source_paramsr<   ;stripe.params._customer_retrieve_balance_transaction_paramsr=   4stripe.params._customer_retrieve_cash_balance_paramsr>   @stripe.params._customer_retrieve_cash_balance_transaction_paramsr?   'stripe.params._customer_retrieve_paramsr@   6stripe.params._customer_retrieve_payment_method_paramsrA   .stripe.params._customer_retrieve_source_paramsrB   .stripe.params._customer_retrieve_tax_id_paramsrC   %stripe.params._customer_search_paramsrD   stripe.test_helpers._test_clockrE   rK   r  r  r\   r]   r^   <module>r     sV   B A A A A A ? ? ? ? ? ? 4 4 4 4 4 4 * * * * * * = = = = = = O O O O O O ; ; ; ; ; ; A A A A A A . . . . . . 7 7 7 7 7 7 A A A A A A : : : : : : : :
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 C B B B B B B B B B B B W:''''''000000!!!!!!000000OOOOOO      *)))))@@@@@@444444%%%%%%111111$$$$$$           KJJJJJ                KJJJJJ                          GFFFFF                          KJJJJJ                     ONNNNN                KJJJJJ999999 4559::x((x((M M M M M*%$
#*%*%M M )( )( ;: 65M`: &.  " " "r]   