
    kh             	          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 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l'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z< d dl=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZD d dlEmFZF d d lGmHZH d d!lImJZJ  G d" d#ed#   ed#   e	d#   ed#         ZKeKeKj                  _M        y$)%    )CreateableAPIResource)DeletableAPIResource)ExpandableField)
ListObject)ListableAPIResource)StripeObject)APIResourceTestHelpers)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralTypeUnpackTYPE_CHECKING)Charge)PaymentIntent)PaymentMethod)Refund)SetupIntent)ReaderCancelActionParams)ReaderCollectInputsParams) ReaderCollectPaymentMethodParams) ReaderConfirmPaymentIntentParams)ReaderCreateParams)ReaderDeleteParams)ReaderListParams)ReaderModifyParams) ReaderPresentPaymentMethodParams) ReaderProcessPaymentIntentParams)ReaderProcessSetupIntentParams)ReaderRefundPaymentParams)ReaderRetrieveParams)ReaderSetReaderDisplayParams)"ReaderSucceedInputCollectionParams)"ReaderTimeoutInputCollectionParams)Locationc                      e Zd ZU dZdZeed      ed<    G d de      Z	e
e	   ed<   	 e
ed      ed<   	 e
e   ed	<   	 ed
   ed<   	 eed<   	 e
e   ed<   	 eed<   	 eed<   	 e
ed      ed<   	 eeef   ed<   	 ed   ed<   	 eed<   	 e
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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ededed0   dd fd1       Zeededed0   dd fd2              Zeded0   dd fd3       Z ed4      ded0   dd fd5       Zededed0   dd fd6       Zeededed0   dd fd7              Zeded0   dd fd8       Z ed9      ded0   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!ededed;   dd fdA       Z"eededed;   dd fdB              Z#eded;   dd fdC       Z# edD      ded;   dd fdE       Z#ededF   dd fdG       Z$ededF   dd fdH       Z%edIededJ   dd fdK       Z&eedIededJ   dd fdL              Z'ededJ   dd fdM       Z' edN      dedJ   dd fdO       Z'edIededJ   dd fdP       Z(eedIededJ   dd fdQ              Z)ededJ   dd fdR       Z) edS      dedJ   dd fdT       Z)ededU   de*d    fdV       Z+ededU   de*d    fdW       Z,edededX   dd fdY       Z-edededX   dd fdZ       Z.ededed[   dd fd\       Z/eededed[   dd fd]              Z0eded[   dd fd^       Z0 ed_      ded[   dd fd`       Z0ededed[   dd fda       Z1eededed[   dd fdb              Z2eded[   dd fdc       Z2 edd      ded[   dd fde       Z2edededf   dd fdg       Z3eedededf   dd fdh              Z4ededf   dd fdi       Z4 edj      dedf   dd fdk       Z4edededf   dd fdl       Z5eedededf   dd fdm              Z6ededf   dd fdn       Z6 edo      dedf   dd fdp       Z6edededq   dd fdr       Z7eedededq   dd fds              Z8ededq   dd fdt       Z8 edu      dedq   dd fdv       Z8edededq   dd fdw       Z9eedededq   dd fdx              Z:ededq   dd fdy       Z: edz      dedq   dd fd{       Z:ededed|   dd fd}       Z;ede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>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@ G d deAd          ZBeCd        ZDde	iZEy)Readerz
    A Reader represents a physical device for accepting payment details.

    Related guide: [Connecting to a reader](https://stripe.com/docs/terminal/payments/connect-reader)
    zterminal.readerOBJECT_NAMEc                      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
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d   ed<   	 ed   ed<   	 eeeeee	e
dZy)Reader.Actionc                   Z    e Zd ZU  G d de      Zee   ed<   	 eee	e	f      ed<   	 deiZ
y)Reader.Action.CollectInputsc            	          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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      ed<   	 ed   ed<   	 eeeeee	e
edZy)!Reader.Action.CollectInputs.Inputc                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y),Reader.Action.CollectInputs.Input.CustomTextdescriptionskip_buttonsubmit_buttontitleN__name__
__module____qualname__r   str__annotations__     W/var/www/api/v1/venv_fitandmore/lib/python3.12/site-packages/stripe/terminal/_reader.py
CustomTextr7   Q   sD    !)#. "*#. $,C=0 $C=(rC   rE   c                       e Zd ZU ee   ed<   y)'Reader.Action.CollectInputs.Input.EmailvalueNr<   rB   rC   rD   EmailrG   c       #C=(rC   rI   c                       e Zd ZU ee   ed<   y))Reader.Action.CollectInputs.Input.NumericrH   Nr<   rB   rC   rD   NumericrL   i   rJ   rC   rM   c                       e Zd ZU ee   ed<   y)'Reader.Action.CollectInputs.Input.PhonerH   Nr<   rB   rC   rD   PhonerO   o   rJ   rC   rP   c                   b    e Zd ZU  G d de      Zee   ed<   	 ee   ed<   	 ee   ed<   	 deiZ	y)+Reader.Action.CollectInputs.Input.Selectionc                   B    e Zd ZU ee   ed<   	 eed      ed<   	 eed<   y)2Reader.Action.CollectInputs.Input.Selection.Choiceid)primary	secondarystyletextN)r=   r>   r?   r   r@   rA   r   rB   rC   rD   ChoicerT   v   s5    $SM)  (0F(GHH "	rC   rZ   choicesrU   rY   N)
r=   r>   r?   r   rZ   r   rA   r   r@   _inner_class_typesrB   rC   rD   	SelectionrR   u   sN      "&\) !% #3-' +4V)<&rC   r]   c                       e Zd ZU ee   ed<   y)+Reader.Action.CollectInputs.Input.SignaturerH   Nr<   rB   rC   rD   	Signaturer_      rJ   rC   r`   c                       e Zd ZU ee   ed<   y)&Reader.Action.CollectInputs.Input.TextrH   Nr<   rB   rC   rD   Textrb      rJ   rC   rc   c                   `    e Zd ZU eed      ed<   	 ee   ed<   	 ee   ed<   	 eed      ed<   y)(Reader.Action.CollectInputs.Input.Toggle)disabledenableddefault_valuer8   r;   rH   N)r=   r>   r?   r   r   rA   r@   rB   rC   rD   Togglere      sR    #+G4I,J#KK "*#. $C=( $G,A$BCCrC   ri   custom_textemailnumericphonerequired	selection	signatureskippedrY   toggles)rk   rl   rm   ro   rp   rY   type)rj   rk   rl   rm   ro   rp   rY   rr   N)r=   r>   r?   r   rE   rI   rM   rP   r]   r`   rc   ri   r   rA   boolr   r   r\   rB   rC   rD   Inputr5   P   sP    $L l L = =: < \ $ &j11  & "'**  & #4.( $I.. $I.. "$' tn$ "$v,//   $."&"!*!* %	&"rC   ru   inputsmetadataN)r=   r>   r?   r   ru   r   rA   r   r   r@   r\   rB   rC   rD   CollectInputsr3   O   sI    \ \| K tCH~.. #+E!2rC   rx   c                   b    e Zd ZU  G d de      Zee   ed<   	 ed   ed<   	 ed   ed<   	 deiZy)	"Reader.Action.CollectPaymentMethodc                   b    e Zd ZU  G d de      Zee   ed<   	 ee   ed<   	 ee   ed<   	 deiZy)0Reader.Action.CollectPaymentMethod.CollectConfigc                       e Zd ZU ee   ed<   y)8Reader.Action.CollectPaymentMethod.CollectConfig.Tippingamount_eligibleNr=   r>   r?   r   intrA   rB   rC   rD   Tippingr~          %-c]2rC   r   enable_customer_cancellationskip_tippingtippingN)	r=   r>   r?   r   r   r   rt   rA   r\   rB   rC   rD   CollectConfigr|      sO    l  /7tn< 'tn, "'** '0%9"rC   r   collect_configr   payment_intentr   payment_methodN)	r=   r>   r?   r   r   r   rA   r   r\   rB   rC   rD   CollectPaymentMethodrz      sQ    : :* %]33 ,O<< %_55 #3M!BrC   r   c                   P    e Zd ZU  G d de      Zee   ed<   	 ed   ed<   	 deiZy)"Reader.Action.ConfirmPaymentIntentc                       e Zd ZU ee   ed<   y)0Reader.Action.ConfirmPaymentIntent.ConfirmConfig
return_urlNr<   rB   rC   rD   ConfirmConfigr   !  s    $SM)rC   r   confirm_configr   r   N)	r=   r>   r?   r   r   r   rA   r   r\   rB   rC   rD   ConfirmPaymentIntentr      s?      %]33 ,O<< #3M!BrC   r   c                   P    e Zd ZU  G d de      Zed   ed<   	 ee   ed<   	 deiZy)"Reader.Action.ProcessPaymentIntentc                   t    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<   	 deiZ	y)0Reader.Action.ProcessPaymentIntent.ProcessConfigc                       e Zd ZU ee   ed<   y)8Reader.Action.ProcessPaymentIntent.ProcessConfig.Tippingr   Nr   rB   rC   rD   r   r   3  r   rC   r   r   r   r   r   N)
r=   r>   r?   r   r   r   rt   rA   r@   r\   rB   rC   rD   ProcessConfigr   2  s`    l  /7tn< %SM) 'tn, "'** '0%9"rC   r   r   r   process_configN)	r=   r>   r?   r   r   r   rA   r   r\   rB   rC   rD   ProcessPaymentIntentr   1  s?    : :2 ,O<< %]33 #3M!BrC   r   c                   b    e Zd ZU  G d de      Zee   ed<   	 ee   ed<   	 ed   ed<   	 deiZ	y) Reader.Action.ProcessSetupIntentc                       e Zd ZU ee   ed<   y).Reader.Action.ProcessSetupIntent.ProcessConfigr   Nr=   r>   r?   r   rt   rA   rB   rC   rD   r   r   V      .6tn<rC   r   generated_cardr   r   setup_intentN)
r=   r>   r?   r   r   r   r@   rA   r   r\   rB   rC   rD   ProcessSetupIntentr   U  sP      %SM) %]33 *-88 #3M!BrC   r   c                       e Zd ZU  G d de      Zee   ed<   	 eed      ed<   	 ee	e
e
f      ed<   	 eed      ed<   	 eed	      ed
<   	 eed      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 deiZy)Reader.Action.RefundPaymentc                       e Zd ZU ee   ed<   y)/Reader.Action.RefundPayment.RefundPaymentConfigr   Nr   rB   rC   rD   RefundPaymentConfigr   k  r   rC   r   amountr   chargerw   r   r   )	duplicate
fraudulentrequested_by_customerreasonr   refundrefund_application_feerefund_payment_configreverse_transferN)r=   r>   r?   r   r   r   r   rA   r   r   r@   r   rt   r\   rB   rC   rD   RefundPaymentr   j  s    l  SM! _X677 tCH~.. %__%EFF JK  _X677 %-TN2 $,,?#@@ 'tn, #:;N!OrC   r   c                   P    e Zd ZU  G d de      Zee   ed<   	 ed   ed<   	 deiZy)Reader.Action.SetReaderDisplayc                   h    e Zd ZU  G d de      Zeed<   	 ee   ed<   	 ee	   ed<   	 e	ed<   	 deiZ
y)#Reader.Action.SetReaderDisplay.Cartc                   0    e Zd ZU eed<   	 eed<   	 eed<   y),Reader.Action.SetReaderDisplay.Cart.LineItemr   r8   quantityN)r=   r>   r?   r   rA   r@   rB   rC   rD   LineItemr     s%    K "%$ "MrC   r   currency
line_itemstaxtotalN)r=   r>   r?   r   r   r@   rA   r   r   r   r\   rB   rC   rD   Cartr     sU    |   !N* c]" 
 '3H%="rC   r   cartrs   N)	r=   r>   r?   r   r   r   rA   r   r\   rB   rC   rD   SetReaderDisplayr     s=    >| >B 4.  &/! #)$rC   r   collect_inputscollect_payment_methodconfirm_payment_intentfailure_codefailure_messageprocess_payment_intentprocess_setup_intentrefund_paymentset_reader_display)failedin_progress	succeededstatus)r   r   r   r   r   r   r   rs   N)r=   r>   r?   r   rx   r   r   r   r   r   r   r   rA   r@   r   r\   rB   rC   rD   Actionr1   N   sW   g	3L g	3R&	C< &	CP	C< 	C""	C< "	CH	C 	C*-	PL -	P^*	0| *	0X !//	 !))= >>	 !))= >>	 sm#	 "#&	 !))= >>	 ''9::	 !//	 %%566	 <==	 "
 	
	 ,&:&:&:$6+"2
rC   r   actionTdeleteddevice_sw_version)	bbpos_chipper2xbbpos_wisepad3bbpos_wisepos_emobile_phone_readersimulated_stripe_s700simulated_wisepos_e	stripe_m2stripe_s700verifone_P400device_typerU   
ip_addresslabellivemoder,   locationrw   objectserial_number)offlineonliner   readerparamsr   returnc                 p    t        d| j                  ddj                  t        |            |            S )4
        Cancels the current reader action.
        r.   post+/v1/terminal/readers/{reader}/cancel_actionr   r   r   _static_requestformatr   clsr   r   s      rD   _cls_cancel_actionzReader._cls_cancel_actionB  sK     =DD&v. E     	
 		
rC   c                      yr   NrB   r   r   s     rD   cancel_actionzReader.cancel_actionT       	rC   c                      yr   rB   selfr   s     rD   r   zReader.cancel_action^       	rC   r   c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r   r.   r   r   rU   r   r   r   _requestr   r   getr   s     rD   r   zReader.cancel_actiong  sQ     MM=DD&txx~6 E    	
 		
rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r   r.   r   r   r   r   Nr   _static_request_asyncr   r   r   s      rD   _cls_cancel_action_asynczReader._cls_cancel_action_asyncy  sY      ++=DD&v. E   ,  	
 		
   7AA
	Ac                    K   ywr   rB   r   s     rD   cancel_action_asynczReader.cancel_action_async        	   c                    K   ywr   rB   r   s     rD   r
  zReader.cancel_action_async        	r  r  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r   r.   r   r   rU   r   r   Nr   _request_asyncr   r   r  r   s     rD   r
  zReader.cancel_action_async  sa      %%=DD&txx~6 E   &  	
 		
   AAA
		Ar   c                 p    t        d| j                  ddj                  t        |            |            S )A
        Initiates an input collection flow on a Reader.
        r.   r   ,/v1/terminal/readers/{reader}/collect_inputsr   r   r   r   s      rD   _cls_collect_inputszReader._cls_collect_inputs  K     >EE&v. F     	
 		
rC   c                      yr  NrB   r   s     rD   r   zReader.collect_inputs  r   rC   c                      yr  rB   r   s     rD   r   zReader.collect_inputs  r   rC   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r.   r   r  rU   r   r   r  r   s     rD   r   zReader.collect_inputs  Q     MM>EE&txx~6 F    	
 		
rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r.   r   r  r   r   Nr  r   s      rD   _cls_collect_inputs_asyncz Reader._cls_collect_inputs_async  Y      ++>EE&v. F   ,  	
 		
r  c                    K   ywr  rB   r   s     rD   collect_inputs_asynczReader.collect_inputs_async  r  r  c                    K   ywr  rB   r   s     rD   r!  zReader.collect_inputs_async  r  r  r  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r  r.   r   r  rU   r   r   Nr  r   s     rD   r!  zReader.collect_inputs_async  a      %%>EE&txx~6 F   &  	
 		
r  r   c                 p    t        d| j                  ddj                  t        |            |            S )
        Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation.
        r.   r   4/v1/terminal/readers/{reader}/collect_payment_methodr   r   r   r   s      rD   _cls_collect_payment_methodz"Reader._cls_collect_payment_method  K     FMM&v. N     	
 		
rC   c                      yr&  NrB   r   s     rD   r   zReader.collect_payment_method0  r   rC   c                      yr+  rB   r   s     rD   r   zReader.collect_payment_method:  r   rC   r(  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r&  r.   r   r'  rU   r   r   r  r   s     rD   r   zReader.collect_payment_methodC  Q     MMFMM&txx~6 N    	
 		
rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r&  r.   r   r'  r   r   Nr  r   s      rD   !_cls_collect_payment_method_asyncz(Reader._cls_collect_payment_method_asyncU  Y      ++FMM&v. N   ,  	
 		
r  c                    K   ywr+  rB   r   s     rD   collect_payment_method_asyncz#Reader.collect_payment_method_asyncg  r  r  c                    K   ywr+  rB   r   s     rD   r3  z#Reader.collect_payment_method_asyncq  r  r  r0  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r&  r.   r   r'  rU   r   r   Nr  r   s     rD   r3  z#Reader.collect_payment_method_asyncz  a      %%FMM&txx~6 N   &  	
 		
r  r   c                 p    t        d| j                  ddj                  t        |            |            S )2
        Finalizes a payment on a Reader.
        r.   r   4/v1/terminal/readers/{reader}/confirm_payment_intentr   r   r   r   s      rD   _cls_confirm_payment_intentz"Reader._cls_confirm_payment_intent  r)  rC   c                      yr8  NrB   r   s     rD   r   zReader.confirm_payment_intent  r   rC   c                      yr<  rB   r   s     rD   r   zReader.confirm_payment_intent  r   rC   r:  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r8  r.   r   r9  rU   r   r   r  r   s     rD   r   zReader.confirm_payment_intent  r.  rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r8  r.   r   r9  r   r   Nr  r   s      rD   !_cls_confirm_payment_intent_asyncz(Reader._cls_confirm_payment_intent_async  r1  r  c                    K   ywr<  rB   r   s     rD   confirm_payment_intent_asyncz#Reader.confirm_payment_intent_async  r  r  c                    K   ywr<  rB   r   s     rD   rB  z#Reader.confirm_payment_intent_async  r  r  r@  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r8  r.   r   r9  rU   r   r   Nr  r   s     rD   rB  z#Reader.confirm_payment_intent_async  r6  r  r    c                 Z    t        d| j                  d| j                         |            S ).
        Creates a new Reader object.
        r.   r   r   )r   r   	class_urlr   r   s     rD   createzReader.create  s6    
    
 	
rC   c                 v   K   t        d| j                  d| j                         |       d{         S 7 w)rF  r.   r   r   N)r   r  rG  rH  s     rD   create_asynczReader.create_async  sD      ++ ,  
 	
s   ,97
	9sidr!   c                 z    | j                         dt        |      }t        d| j                  d||            S )*
        Deletes a Reader object.
        /r.   deleter   rG  r   r   r   r   rL  r   urls       rD   _cls_deletezReader._cls_delete  sE     +c*:;   
 	
rC   c                      yrN  NrB   rL  r   s     rD   rP  zReader.delete)  s     	rC   c                      yrV  rB   r   s     rD   rP  zReader.delete1  s    
 	rC   rT  c                 F    | j                  d| j                         |      S )rN  rP  r   )_request_and_refreshinstance_urlr   s     rD   rP  zReader.delete8  s.     (( ) 
 	
rC   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)rN  rO  r.   rP  r   NrG  r   r   r  rR  s       rD   _cls_delete_asynczReader._cls_delete_asyncE  sS      +c*:;++ ,  
 	
   <A	A
	A	c                    K   ywrV  rB   rW  s     rD   delete_asynczReader.delete_asyncV  r  r  c                    K   ywrV  rB   r   s     rD   ra  zReader.delete_async`  r  r  r^  c                 b   K   | j                  d| j                         |       d{   S 7 w)rN  rP  r   N)_request_and_refresh_asyncr[  r   s     rD   ra  zReader.delete_asynci  s<      44 5 
 
 	
 
s   &/-/r"   c                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )3
        Returns a list of Reader objects.
        r  r   %Expected list object from API, got %s)r   rG  
isinstancer   	TypeErrorrs   r=   r   r   results      rD   listzReader.listv  s]     $$MMO % 

 &*-7<((* 
 rC   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rf  r  r   Nrg  )r  rG  rh  r   ri  rs   r=   rj  s      rD   
list_asynczReader.list_async  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r#   c                 z    | j                         dt        |      }t        d| j                  d||            S )
        Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        rO  r.   r   r   rQ  r   rU   r   rS  s       rD   modifyzReader.modify  sD     +b/:   
 	
rC   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)rp  rO  r.   r   r   Nr]  rq  s       rD   modify_asynczReader.modify_async  sR      +b/:++ ,  
 	
r_  r%   c                 p    t        d| j                  ddj                  t        |            |            S )7
        Initiates a payment flow on a Reader.
        r.   r   4/v1/terminal/readers/{reader}/process_payment_intentr   r   r   r   s      rD   _cls_process_payment_intentz"Reader._cls_process_payment_intent  r)  rC   c                      yrv  NrB   r   s     rD   r   zReader.process_payment_intent  r   rC   c                      yrz  rB   r   s     rD   r   zReader.process_payment_intent  r   rC   rx  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )rv  r.   r   rw  rU   r   r   r  r   s     rD   r   zReader.process_payment_intent  r.  rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)rv  r.   r   rw  r   r   Nr  r   s      rD   !_cls_process_payment_intent_asyncz(Reader._cls_process_payment_intent_async  r1  r  c                    K   ywrz  rB   r   s     rD   process_payment_intent_asyncz#Reader.process_payment_intent_async	  r  r  c                    K   ywrz  rB   r   s     rD   r  z#Reader.process_payment_intent_async  r  r  r~  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)rv  r.   r   rw  rU   r   r   Nr  r   s     rD   r  z#Reader.process_payment_intent_async  r6  r  r&   c                 p    t        d| j                  ddj                  t        |            |            S )<
        Initiates a setup intent flow on a Reader.
        r.   r   2/v1/terminal/readers/{reader}/process_setup_intentr   r   r   r   s      rD   _cls_process_setup_intentz Reader._cls_process_setup_intent.  sK     DKK&v. L     	
 		
rC   c                      yr  NrB   r   s     rD   r   zReader.process_setup_intent@  r   rC   c                      yr  rB   r   s     rD   r   zReader.process_setup_intentJ  r   rC   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r.   r   r  rU   r   r   r  r   s     rD   r   zReader.process_setup_intentS  sQ     MMDKK&txx~6 L    	
 		
rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r.   r   r  r   r   Nr  r   s      rD   _cls_process_setup_intent_asyncz&Reader._cls_process_setup_intent_asynce  sY      ++DKK&v. L   ,  	
 		
r  c                    K   ywr  rB   r   s     rD   process_setup_intent_asyncz!Reader.process_setup_intent_asyncw  r  r  c                    K   ywr  rB   r   s     rD   r  z!Reader.process_setup_intent_async  r  r  r  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r  r.   r   r  rU   r   r   Nr  r   s     rD   r  z!Reader.process_setup_intent_async  sa      %%DKK&txx~6 L   &  	
 		
r  r'   c                 p    t        d| j                  ddj                  t        |            |            S )0
        Initiates a refund on a Reader
        r.   r   ,/v1/terminal/readers/{reader}/refund_paymentr   r   r   r   s      rD   _cls_refund_paymentzReader._cls_refund_payment  r  rC   c                      yr  NrB   r   s     rD   r   zReader.refund_payment  r   rC   c                      yr  rB   r   s     rD   r   zReader.refund_payment  r   rC   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r.   r   r  rU   r   r   r  r   s     rD   r   zReader.refund_payment  r  rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r.   r   r  r   r   Nr  r   s      rD   _cls_refund_payment_asyncz Reader._cls_refund_payment_async  r  r  c                    K   ywr  rB   r   s     rD   refund_payment_asynczReader.refund_payment_async  r  r  c                    K   ywr  rB   r   s     rD   r  zReader.refund_payment_async  r  r  r  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r  r.   r   r  rU   r   r   Nr  r   s     rD   r  zReader.refund_payment_async  r$  r  r(   c                 8     | |fi |}|j                          |S ),
        Retrieves a Reader object.
        )refreshr   rU   r   instances       rD   retrievezReader.retrieve
  s$     r$V$rC   c                 T   K    | |fi |}|j                          d{    |S 7 w)r  N)refresh_asyncr  s       rD   retrieve_asynczReader.retrieve_async  s3      r$V$$$&&& 	's   (&(r)   c                 p    t        d| j                  ddj                  t        |            |            S );
        Sets reader display to show cart details.
        r.   r   0/v1/terminal/readers/{reader}/set_reader_displayr   r   r   r   s      rD   _cls_set_reader_displayzReader._cls_set_reader_display   sK     BII&v. J     	
 		
rC   c                      yr  NrB   r   s     rD   r   zReader.set_reader_display2  r   rC   c                      yr  rB   r   s     rD   r   zReader.set_reader_display<  r   rC   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r.   r   r  rU   r   r   r  r   s     rD   r   zReader.set_reader_displayE  sQ     MMBII&txx~6 J    	
 		
rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r.   r   r  r   r   Nr  r   s      rD   _cls_set_reader_display_asyncz$Reader._cls_set_reader_display_asyncW  sY      ++BII&v. J   ,  	
 		
r  c                    K   ywr  rB   r   s     rD   set_reader_display_asynczReader.set_reader_display_asynci  r  r  c                    K   ywr  rB   r   s     rD   r  zReader.set_reader_display_asyncs  r  r  r  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r  r.   r   r  rU   r   r   Nr  r   s     rD   r  zReader.set_reader_display_async|  sa      %%BII&txx~6 J   &  	
 		
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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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')(Reader.TestHelpersr.   _resource_clsr   r   r$   r   c                 p    t        d| j                  ddj                  t        |            |            S )
            Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.
            r.   r   A/v1/test_helpers/terminal/readers/{reader}/present_payment_methodr   r   r   r   s      rD   _cls_present_payment_methodz.Reader.TestHelpers._cls_present_payment_method  sK     ##W^^*62 _  " $ 	 	rC   c                      yr  NrB   r   s     rD   present_payment_methodz)Reader.TestHelpers.present_payment_method       rC   c                      yr  rB   r   s     rD   r  z)Reader.TestHelpers.present_payment_method       rC   r  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r  r.   r   r  rU   r   r   r   resourcer  r   r   r  r   s     rD   r  z)Reader.TestHelpers.present_payment_method  s^     &&W^^*4==+<+<T+BC _  " ' 	 	rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r.   r   r  r   r   Nr  r   s      rD   !_cls_present_payment_method_asyncz4Reader.TestHelpers._cls_present_payment_method_async  sY      //W^^*62 _  " 0  	 	r  c                    K   ywr  rB   r   s     rD   present_payment_method_asyncz/Reader.TestHelpers.present_payment_method_async        r  c                    K   ywr  rB   r   s     rD   r  z/Reader.TestHelpers.present_payment_method_async        r  r  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r  r.   r   r  rU   r   r   Nr   r  r  r   r   r  r   s     rD   r  z/Reader.TestHelpers.present_payment_method_async  sl      mm22W^^*4==+<+<T+BC _  " 3  	 	   AA'A%
	A'r*   c                 p    t        d| j                  ddj                  t        |            |            S )k
            Use this endpoint to trigger a successful input collection on a simulated reader.
            r.   r   C/v1/test_helpers/terminal/readers/{reader}/succeed_input_collectionr   r   r   r   s      rD   _cls_succeed_input_collectionz0Reader.TestHelpers._cls_succeed_input_collection  K     ##Y``*62 a  " $ 	 	rC   c                      yr  NrB   r   s     rD   succeed_input_collectionz+Reader.TestHelpers.succeed_input_collection  r  rC   c                      yr  rB   r   s     rD   r  z+Reader.TestHelpers.succeed_input_collection!  r  rC   r  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r  r.   r   r  rU   r   r   r  r   s     rD   r  z+Reader.TestHelpers.succeed_input_collection*  ^     &&Y``*4==+<+<T+BC a  " ' 	 	rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r.   r   r  r   r   Nr  r   s      rD   #_cls_succeed_input_collection_asyncz6Reader.TestHelpers._cls_succeed_input_collection_async<  Y      //Y``*62 a  " 0  	 	r  c                    K   ywr  rB   r   s     rD   succeed_input_collection_asyncz1Reader.TestHelpers.succeed_input_collection_asyncP  r  r  c                    K   ywr  rB   r   s     rD   r  z1Reader.TestHelpers.succeed_input_collection_asyncZ  r  r  r  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r  r.   r   r  rU   r   r   Nr  r   s     rD   r  z1Reader.TestHelpers.succeed_input_collection_asyncc  l      mm22Y``*4==+<+<T+BC a  " 3  	 	r  r+   c                 p    t        d| j                  ddj                  t        |            |            S )w
            Use this endpoint to complete an input collection with a timeout error on a simulated reader.
            r.   r   C/v1/test_helpers/terminal/readers/{reader}/timeout_input_collectionr   r   r   r   s      rD   _cls_timeout_input_collectionz0Reader.TestHelpers._cls_timeout_input_collectionu  r  rC   c                      yr  NrB   r   s     rD   timeout_input_collectionz+Reader.TestHelpers.timeout_input_collection  r  rC   c                      yr  rB   r   s     rD   r  z+Reader.TestHelpers.timeout_input_collection  r  rC   r  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r  r.   r   r  rU   r   r   r  r   s     rD   r  z+Reader.TestHelpers.timeout_input_collection  r  rC   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r.   r   r  r   r   Nr  r   s      rD   #_cls_timeout_input_collection_asyncz6Reader.TestHelpers._cls_timeout_input_collection_async  r  r  c                    K   ywr  rB   r   s     rD   timeout_input_collection_asyncz1Reader.TestHelpers.timeout_input_collection_async  r  r  c                    K   ywr  rB   r   s     rD   r  z1Reader.TestHelpers.timeout_input_collection_async  r  r  r  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r  r.   r   r  rU   r   r   Nr  r   s     rD   r  z1Reader.TestHelpers.timeout_input_collection_async  r  r  N)r=   r>   r?   r   rA   classmethodr@   r   r  r   staticmethodr  r   r  r  r  r  r  r  r  r  r  r  rB   rC   rD   TestHelpersr    s   H~%			 ?@	 		 
	& 
			#)*L#M		 
 
	 
	"#EF		 
	 
;	<	"#EF		 
=	" 
		 ?@	 		 
	& 
			#)*L#M		 
 
	 
	"#EF		 
	 
A	B	"#EF		 
C	" 
		 AB	 		 
	& 
			#)*N#O		 
 
	 
	"#GH		 
	 
=	>	"#GH		 
?	" 
		 AB	 		 
	& 
			#)*N#O		 
 
	 
	"#GH		 
	 
C	D	"#GH		 
E	" 
		 AB	 		 
	& 
			#)*N#O		 
 
	 
	"#GH		 
	 
=	>	"#GH		 
?	" 
		 AB	 		 
	& 
			#)*N#O		 
 
	 
	"#GH		 
	 
C	D	"#GH		 
E	rC   r  c                 $    | j                  |       S )N)r  )r   s    rD   test_helperszReader.test_helpers  s    %%rC   N)Fr=   r>   r?   __doc__r/   r   r   rA   r   r   r   r@   rt   r   r   r  r   r   r   r  r   r   r  r
  r  r   r  r!  r(  r   r0  r3  r:  r   r@  rB  rI  rK  rT  rP  r^  ra  r   rl  rn  rr  rt  rx  r   r~  r  r  r   r  r  r  r   r  r  r  r  r  r   r  r  r	   r  propertyr  r\   rB   rC   rD   r.   r.   @   s    9JK'"345Is
 s
j V gdm$$  }$ 	
 
 	G  J N z233 38n %&&  W0122 

$*+E$F
	
 
" %&@A	   9:	  ./
9:
	
 0
" 

$*+E$F
	
 
" %&@A	   9:	  45
9:
	
 6
" 

$*+F$G
	
 
" %&AB	   :;	  /0
:;
	
 1
" 

$*+F$G
	
 
" %&AB	   :;	  56
:;
	
 7
" 

$*+M$N
	
 
" %&HI	   AB	  78
AB
	
 9
" 

$*+M$N
	
 
" %&HI	   AB	  =>
AB
	
 ?
" 

$*+M$N
	
 
" %&HI	   AB	  78
AB
	
 9
" 

$*+M$N
	
 
" %&HI	   AB	  =>
AB
	
 ?
" 
f%9: 
x 
 
 
23
	
 
 

!'(<!=
	
 
  C 6*>#? H    v&:;    -(

34

	

 )

 

!'(<!=
	
 
  "#78	   34	  -.

34

	

 /

 01	H	 & 01	H	 & 

 &'; <
	
 
  

 &'; <
	
 
  

$*+M$N
	
 
" %&HI	   AB	  78
AB
	
 9
" 

$*+M$N
	
 
" %&HI	   AB	  =>
AB
	
 ?
" 

$*+K$L
	
 
" %&FG	   ?@	  56
?@
	
 7
" 

$*+K$L
	
 
" %&FG	   ?@	  ;<
?@
	
 =
" 

$*+F$G
	
 
" %&AB	   :;	  /0
:;
	
 1
" 

$*+F$G
	
 
" %&AB	   :;	  56
:;
	
 7
"  &'= >	   &'= >	  

$*+I$J
	
 
" %&DE	   =>	  34
=>
	
 5
" 

$*+I$J
	
 
" %&DE	   =>	  9:
=>
	
 ;
"W,X6 Wr
 & & #F+rC   r.   N)Nstripe._createable_api_resourcer   stripe._deletable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   stripe._test_helpersr	   stripe._updateable_api_resourcer
   stripe._utilr   r   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   stripe._charger   stripe._payment_intentr   stripe._payment_methodr   stripe._refundr   stripe._setup_intentr   3stripe.params.terminal._reader_cancel_action_paramsr   4stripe.params.terminal._reader_collect_inputs_paramsr   <stripe.params.terminal._reader_collect_payment_method_paramsr   <stripe.params.terminal._reader_confirm_payment_intent_paramsr   ,stripe.params.terminal._reader_create_paramsr    ,stripe.params.terminal._reader_delete_paramsr!   *stripe.params.terminal._reader_list_paramsr"   ,stripe.params.terminal._reader_modify_paramsr#   <stripe.params.terminal._reader_present_payment_method_paramsr$   <stripe.params.terminal._reader_process_payment_intent_paramsr%   :stripe.params.terminal._reader_process_setup_intent_paramsr&   4stripe.params.terminal._reader_refund_payment_paramsr'   .stripe.params.terminal._reader_retrieve_paramsr(   8stripe.params.terminal._reader_set_reader_display_paramsr)   >stripe.params.terminal._reader_succeed_input_collection_paramsr*   >stripe.params.terminal._reader_timeout_input_collection_paramsr+   stripe.terminal._locationr,   r.   r  r  rB   rC   rD   <module>r     s    B ? 4 * = . 7 A : A A B B%44%0 POKO 3k,(#"!(#	k,\= $*    rC   