
    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                      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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__     O/var/www/api/v1/venv_getwork_v1/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   MultiUser0   /   s    r   r1   c                   x   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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d,<   eed-<   	 ee   ed.<   eeeeee	e
eeeeeeeed/Zy0)1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y)&Mandate.PaymentMethodDetails.AmazonPayNr   r   r   r   	AmazonPayrC   E   r   r   rD   c                       e Zd ZU eed<   y)(Mandate.PaymentMethodDetails.AuBecsDebiturlNr   r   r   r%   r&   r   r   r   AuBecsDebitrF   H   s    Hr   rI   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_reasonrG   N)r   r   r   r
   r&   r%   r	   r   r   r   	BacsDebitrK   N   sP    #;  N  (,   Hr   rX   c                       e Zd Zy)!Mandate.PaymentMethodDetails.CardNr   r   r   r   CardrZ   j   r   r   r[   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   ra   c                       e Zd Zy)#Mandate.PaymentMethodDetails.KrCardNr   r   r   r   KrCardrc   s   r   r   rd   c                       e Zd Zy)!Mandate.PaymentMethodDetails.LinkNr   r   r   r   Linkrf   v   r   r   rg   c                       e Zd Zy)%Mandate.PaymentMethodDetails.NaverPayNr   r   r   r   NaverPayri   y   r   r   rj   c                       e Zd Zy)*Mandate.PaymentMethodDetails.NzBankAccountNr   r   r   r   NzBankAccountrl   |   r   r   rm   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   Paypalro      s"    "*3-/ sm#r   rr   c                       e Zd Zy)'Mandate.PaymentMethodDetails.RevolutPayNr   r   r   r   
RevolutPayrt      r   r   ru   c                   $    e Zd ZU eed<   	 eed<   y)&Mandate.PaymentMethodDetails.SepaDebitrQ   rG   NrH   r   r   r   	SepaDebitrw      s    N Hr   rx   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   UsBankAccountrz      s    '(899r   r}   
acss_debit
amazon_payau_becs_debit
bacs_debitcardcashapp	kakao_paykr_cardlink	naver_paynz_bank_accountpaypalrevolut_pay
sepa_debitr+   us_bank_account)r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   N)r   r   r   r   rA   rD   rI   rX   r[   r^   ra   rd   rg   rj   rm   rr   ru   rx   r}   r	   r&   r%   r-   r   r   r   PaymentMethodDetailsr3   2   s   	 	$	 		, 		 	8	< 		l 		| 		\ 		< 		| 		L 		\ 		 		 		L 	 Y''Y'',,Y''tn'""H%%&!!tnH%%!-00  j))Y''		 "-00##(#!!,%#,
r   r   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   	SingleUser      s    	 	r   r   c                   $    e Zd ZU eee      ed<   y)Mandate.RetrieveParamsexpandN)r   r   r   r   r   r%   r&   r   r   r   RetrieveParamsr      s    DI&&	r   r   customer_acceptanceidlivemode	multi_useobjecton_behalf_ofr   payment_methodpayment_method_details
single_use)activeinactiverM   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_async   s3      r$V$$$&&& 	's   (&()r   r   r   r   N)r   r   r   __doc__r   r   r
   r&   r   r.   r1   r   r   r   r   r%   boolr	   r   classmethodr   r   r   r-   r   r   r   r   r      sm    1:K'),-9D\ D4< M
| M
^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._request_optionsr   stripe._stripe_objectr   typingr   r   r	   typing_extensionsr
   r   r   r   stripe._payment_methodr   r   r   r   r   <module>r      s8    - 4 2 . + + I I4k)$ r   