
    +h                         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
mZ d dlmZmZmZmZ erd dlmZ  G d d	ed	         Zy
)    )APIResource)ExpandableField)RequestOptions)StripeObject)ClassVarListOptional)LiteralNotRequiredUnpackTYPE_CHECKING)PaymentMethodc                   v   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r G d de      Ze	ed<   eed<   	 eed<   	 ee
   ed<   ed   ed<   	 ee   ed<   	 ed   ed<   	 eed<   ee   ed<   ed   ed<   	 ed   ed<   	 ededed   dd fd       Ze	e
eed Zy!)"Mandatezm
    A Mandate is a record of the permission that your customer gives you to debit their payment method.
    mandateOBJECT_NAMEc                       e Zd ZU  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Z
y
)Mandate.CustomerAcceptancec                       e Zd Zy)"Mandate.CustomerAcceptance.OfflineN__name__
__module____qualname__     O/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/mandate.pyOffliner          r   r   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)!Mandate.CustomerAcceptance.Online
ip_address
user_agentNr   r   r   r	   str__annotations__r   r   r   Onliner!      s"     % !%r   r'   accepted_atofflineonline)r)   r*   typeN)r   r   r   r   r   r'   r	   intr&   r
   _inner_class_typesr   r   r   CustomerAcceptancer      sa    	l 		\ 	 c]"	 '""  )**	 *1FCr   r.   c                       e Zd Zy)Mandate.MultiUseNr   r   r   r   MultiUser0   /   s    r   r1   c            
          e Zd ZU  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ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee   ed<   ee	   ed<   ee
   ed<   ee   ed<   eed<   	 ee   ed<   eeeeee	e
eed	Zy)Mandate.PaymentMethodDetailsc                   `    e Zd ZU eeed         ed<   	 ee   ed<   	 ed   ed<   	 ed   ed<   y)	&Mandate.PaymentMethodDetails.AcssDebit)invoicesubscriptiondefault_forinterval_description)combinedintervalsporadicpayment_schedule)businesspersonaltransaction_typeN)r   r   r   r	   r   r
   r&   r%   r   r   r   	AcssDebitr5   3   sT    !$w/H'I"JKK #+3-/ &&HII &&<==r   rA   c                       e Zd ZU eed<   y)(Mandate.PaymentMethodDetails.AuBecsDebiturlNr   r   r   r%   r&   r   r   r   AuBecsDebitrC   E   s    Hr   rF   c                   6    e Zd ZU ed   ed<   	 eed<   	 eed<   y)&Mandate.PaymentMethodDetails.BacsDebit)acceptedpendingrefusedrevokednetwork_status	referencerD   N)r   r   r   r
   r&   r%   r   r   r   	BacsDebitrH   K   s/    #;  N Hr   rO   c                       e Zd Zy)!Mandate.PaymentMethodDetails.CardNr   r   r   r   CardrQ   [   r   r   rR   c                       e Zd Zy)$Mandate.PaymentMethodDetails.CashappNr   r   r   r   CashapprT   ^   r   r   rU   c                       e Zd Zy)!Mandate.PaymentMethodDetails.LinkNr   r   r   r   LinkrW   a   r   r   rX   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)#Mandate.PaymentMethodDetails.Paypalbilling_agreement_idpayer_idNr$   r   r   r   PaypalrZ   d   s"    "*3-/ sm#r   r]   c                   $    e Zd ZU eed<   	 eed<   y)&Mandate.PaymentMethodDetails.SepaDebitrN   rD   NrE   r   r   r   	SepaDebitr_   n   s    N Hr   r`   c                       e Zd Zy)*Mandate.PaymentMethodDetails.UsBankAccountNr   r   r   r   UsBankAccountrb   x   r   r   rc   
acss_debitau_becs_debit
bacs_debitcardcashapplinkpaypal
sepa_debitr+   us_bank_account)	rd   re   rf   rg   rh   ri   rj   rk   rl   N)r   r   r   r   rA   rF   rO   rR   rU   rX   r]   r`   rc   r	   r&   r%   r-   r   r   r   PaymentMethodDetailsr3   2   s    	 	$	, 		 	 	< 		l 		< 		\ 		 		L 	 Y'',,Y''tn'""tn  Y''		 "-00#(##,

r   rm   c                   $    e Zd ZU eed<   	 eed<   y)Mandate.SingleUseamountcurrencyN)r   r   r   r,   r&   r%   r   r   r   	SingleUsero      s    	 	r   rr   c                       e Zd ZU ed   ed<   y)Mandate.RetrieveParamsz	List[str]expandN)r   r   r   r   r&   r   r   r   RetrieveParamsrt      s    ,,r   rv   customer_acceptanceidlivemode	multi_useobjecton_behalf_ofr   payment_methodpayment_method_details
single_use)activeinactiverJ   status)rz   r   r+   paramsrt   returnc                 8     | |fi |}|j                          |S )z-
        Retrieves a Mandate object.
        )refresh)clsrx   r   instances       r   retrievezMandate.retrieve   s$     r$V$r   )rw   rz   r~   r   N)r   r   r   __doc__r   r   r
   r&   r   r.   r1   rm   rr   r   r   rv   r%   boolr	   r   classmethodr   r   r-   r   r   r   r   r      s@    1:K'),-9D\ D4< `
| `
DL  	^ 	 ,+G N !!I 3- $O44 10##344 +
,,  &'? @	   2"6	r   r   N)stripe.api_resources.abstractr   %stripe.api_resources.expandable_fieldr   stripe.request_optionsr   stripe.stripe_objectr   typingr   r   r	   typing_extensionsr
   r   r   r   #stripe.api_resources.payment_methodr   r   r   r   r   <module>r      s8    6 A 1 - + + I IAIk)$ Ir   