
    
i)                         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 erd dlmZ d dlmZ  G d d	ed	         Zy
)    )APIResource)ExpandableField)StripeObject)ClassVarListOptional)LiteralUnpackTYPE_CHECKING)PaymentMethod)MandateRetrieveParamsc                      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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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__     T/mnt/e/genesis-system/.venvs/sunaiva/lib/python3.12/site-packages/stripe/_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   MultiUser/   /   s    r   r0   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 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   ed+<   ee   ed,<   ee   ed-<   ee   ed.<   ee   ed/<   ee   ed0<   ee   ed1<   ee   ed2<   eed3<   	 ee   ed4<   i d#ed$ed%ed&ed'ed(e	d)e
d*ed+ed,ed-ed.ed/ed0ed1ed2ed4eZy5)6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   	AcssDebitr4   3   sT    !$w/H'I"JKK #+3-/ &&HII &&<==r   r@   c                       e Zd Zy)&Mandate.PaymentMethodDetails.AmazonPayNr   r   r   r   	AmazonPayrB   E   r   r   rC   c                       e Zd ZU eed<   y)(Mandate.PaymentMethodDetails.AuBecsDebiturlNr   r   r   r$   r%   r   r   r   AuBecsDebitrE   H   s    Hr   rH   c                   N    e Zd ZU ed   ed<   	 eed<   	 eed      ed<   	 eed<   y)&Mandate.PaymentMethodDetails.BacsDebit)acceptedpendingrefusedrevokednetwork_status	reference)account_closedbank_account_restrictedbank_ownership_changedcould_not_processdebit_not_authorizedrevocation_reasonrF   N)r   r   r   r	   r%   r$   r   r   r   r   	BacsDebitrJ   N   sP    #;  N  (,   Hr   rW   c                       e Zd Zy)!Mandate.PaymentMethodDetails.CardNr   r   r   r   CardrY   j   r   r   rZ   c                       e Zd Zy)$Mandate.PaymentMethodDetails.CashappNr   r   r   r   Cashappr\   m   r   r   r]   c                       e Zd Zy)%Mandate.PaymentMethodDetails.KakaoPayNr   r   r   r   KakaoPayr_   p   r   r   r`   c                       e Zd Zy)#Mandate.PaymentMethodDetails.KlarnaNr   r   r   r   Klarnarb   s   r   r   rc   c                       e Zd Zy)#Mandate.PaymentMethodDetails.KrCardNr   r   r   r   KrCardre   v   r   r   rf   c                       e Zd Zy)!Mandate.PaymentMethodDetails.LinkNr   r   r   r   Linkrh   y   r   r   ri   c                       e Zd Zy)%Mandate.PaymentMethodDetails.NaverPayNr   r   r   r   NaverPayrk   |   r   r   rl   c                       e Zd Zy)*Mandate.PaymentMethodDetails.NzBankAccountNr   r   r   r   NzBankAccountrn      r   r   ro   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   Paypalrq      s"    "*3-/ sm#r   rt   c                       e Zd ZU ee   ed<   	 ed   ed<   	 ee   ed<   	 ed   ed<   	 ee   ed<   	 eed      ed	<   	 ee   ed
<   y)"Mandate.PaymentMethodDetails.Paytoamount)fixedmaximumamount_typeend_date)adhocannualdailyfortnightlymonthly	quarterlysemi_annualweeklyr<   payments_per_period)dependant_support
governmentloanmortgageotherpensionr>   retailsalarytaxutilitypurpose
start_dateN)r   r   r   r   r+   r%   r	   r$   r   r   r   Paytorv      s    SM! !!344 sm# &	 	 "*#. 
  !%r   r   c                       e Zd Zy)'Mandate.PaymentMethodDetails.RevolutPayNr   r   r   r   
RevolutPayr      r   r   r   c                   $    e Zd ZU eed<   	 eed<   y)&Mandate.PaymentMethodDetails.SepaDebitrP   rF   NrG   r   r   r   	SepaDebitr      s    N Hr   r   c                   $    e Zd ZU eed      ed<   y)*Mandate.PaymentMethodDetails.UsBankAccountpapercollection_methodN)r   r   r   r   r	   r%   r   r   r   UsBankAccountr      s    '(899r   r   
acss_debit
amazon_payau_becs_debit
bacs_debitcardcashapp	kakao_payklarnakr_cardlink	naver_paynz_bank_accountpaypalpaytorevolut_pay
sepa_debitr*   us_bank_accountN)r   r   r   r   r@   rC   rH   rW   rZ   r]   r`   rc   rf   ri   rl   ro   rt   r   r   r   r   r   r%   r$   r,   r   r   r   PaymentMethodDetailsr2   2   se   	 	$	 		, 		 	8	< 		l 		| 		\ 		\ 		< 		| 		L 		\ 	3	L 3	j	 		 		L 	 Y''Y'',,Y''tn'""H%%  &!!tnH%%!-00  j))Y''		 "-00
)
)
 [
 )	

 D
 w
 
 f
 v
 D
 
 }
 f
 U
 :
  )!
" }#
r   r   c                   $    e Zd ZU eed<   	 eed<   y)Mandate.SingleUserw   currencyN)r   r   r   r+   r%   r$   r   r   r   	SingleUser      s    	 	r   r   customer_acceptanceidlivemode	multi_useobjecton_behalf_ofr   payment_methodpayment_method_details
single_use)activeinactiverL   status)r   r   r*   paramsr   returnc                 8     | |fi |}|j                          |S )-
        Retrieves a Mandate object.
        )refreshclsr   r   instances       r   retrievezMandate.retrieve(  s$     r$V$r   c                 T   K    | |fi |}|j                          d{    |S 7 w)r   N)refresh_asyncr   s       r   retrieve_asynczMandate.retrieve_async3  s3      r$V$$$&&& 	's   (&()r   r   r   r   N)r   r   r   __doc__r   r   r	   r%   r   r-   r0   r   r   r$   boolr   r   classmethodr
   r   r   r,   r   r   r   r   r      sa    1:K'),-9D\ D4< I
| I
VL  ,+G N !!I 3- $O44 10##344 +
,,  &'> ?	   &'> ?	   2"6	r   r   N)stripe._api_resourcer   stripe._expandable_fieldr   stripe._stripe_objectr   typingr   r   r   typing_extensionsr	   r
   r   stripe._payment_methodr   &stripe.params._mandate_retrieve_paramsr   r   r   r   r   <module>r      s8    - 4 . + + < <4Luk)$ ur   