
    _j+1             	       $   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#                   ZKeKeKjL        _M        d$S )%    )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         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d0            Zededed1         dd fd2            Zeededed1         dd fd3                        Zeded1         dd fd4            Z ed5          ded1         dd fd6            Zededed1         dd fd7            Zeededed1         dd fd8                        Z eded1         dd fd9            Z  ed:          ded1         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dA            Z"ededed<         dd fdB            Z#eededed<         dd fdC                        Z$eded<         dd fdD            Z$ edE          ded<         dd fdF            Z$ededG         dd fdH            Z%ededG         dd fdI            Z&edJededK         dd fdL            Z'eedJededK         dd fdM                        Z(ededK         dd fdN            Z( edO          dedK         dd fdP            Z(edJededK         dd fdQ            Z)eedJededK         dd fdR                        Z*ededK         dd fdS            Z* edT          dedK         dd fdU            Z*ededV         de+d          fdW            Z,ededV         de+d          fdX            Z-edededY         dd fdZ            Z.edededY         dd fd[            Z/ededed\         dd fd]            Z0eededed\         dd fd^                        Z1eded\         dd fd_            Z1 ed`          ded\         dd fda            Z1ededed\         dd fdb            Z2eededed\         dd fdc                        Z3eded\         dd fdd            Z3 ede          ded\         dd fdf            Z3edededg         dd fdh            Z4eedededg         dd fdi                        Z5ededg         dd fdj            Z5 edk          dedg         dd fdl            Z5edededg         dd fdm            Z6eedededg         dd fdn                        Z7ededg         dd fdo            Z7 edp          dedg         dd fdq            Z7edededr         dd fds            Z8eedededr         dd fdt                        Z9ededr         dd fdu            Z9 edv          dedr         dd fdw            Z9edededr         dd fdx            Z:eedededr         dd fdy                        Z;ededr         dd fdz            Z; ed{          dedr         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                        ZAeded         dd fd            ZA ed          ded         dd fd            ZA G d deBd                    ZCeDd             ZEde	iZFdS )Readerz
    A Reader represents a physical device for accepting payment details.

    Related guide: [Connecting to a reader](https://docs.stripe.com/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dS )Reader.Actionc                   t    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
dS )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dS )!Reader.Action.CollectInputs.Inputc                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS ),Reader.Action.CollectInputs.Input.CustomTextdescriptionskip_buttonsubmit_buttontitleN__name__
__module____qualname__r   str__annotations__     [/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/terminal/_reader.py
CustomTextr7   Q   sk         !)#... "*#... $,C=000 $C=((( rC   rE   c                   &    e Zd ZU ee         ed<   dS )'Reader.Action.CollectInputs.Input.EmailvalueNr<   rB   rC   rD   EmailrG   c   &         #C=((( rC   rI   c                   &    e Zd ZU ee         ed<   dS ))Reader.Action.CollectInputs.Input.NumericrH   Nr<   rB   rC   rD   NumericrL   i   rJ   rC   rM   c                   &    e Zd ZU ee         ed<   dS )'Reader.Action.CollectInputs.Input.PhonerH   Nr<   rB   rC   rD   PhonerO   o   rJ   rC   rP   c                   |    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	dS )+Reader.Action.CollectInputs.Input.Selectionc                   V    e Zd ZU ee         ed<   	 eed                  ed<   	 eed<   dS )2Reader.Action.CollectInputs.Input.Selection.Choiceid)primary	secondarystyletextN)r=   r>   r?   r   r@   rA   r   rB   rC   rD   ChoicerT   v   sT         $SM)))  (0F(GHHHH "			 rC   rZ   choicesrU   rY   N)
r=   r>   r?   r   rZ   r   rA   r   r@   _inner_class_typesrB   rC   rD   	SelectionrR   u   s                 "&\))) !%%% #3-''' +4V)<&&&rC   r]   c                   &    e Zd ZU ee         ed<   dS )+Reader.Action.CollectInputs.Input.SignaturerH   Nr<   rB   rC   rD   	Signaturer_      rJ   rC   r`   c                   &    e Zd ZU ee         ed<   dS )&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<   dS )(Reader.Action.CollectInputs.Input.Toggle)disabledenableddefault_valuer8   r;   rH   N)r=   r>   r?   r   r   rA   r@   rB   rC   rD   Togglere      sy         #+G4I,J#KKKK "*#... $C=((( $G,A$BCC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   s               $    L       l       L   = = = = = = = =:           <       \   $ &j11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   s         \ \ \ \ \ \ \ \| K tCH~.... #+E!2rC   rx   c                   |    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dS )	"Reader.Action.CollectPaymentMethodc                   |    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dS )0Reader.Action.CollectPaymentMethod.CollectConfigc                   &    e Zd ZU ee         ed<   dS )8Reader.Action.CollectPaymentMethod.CollectConfig.Tippingamount_eligibleNr=   r>   r?   r   intrA   rB   rC   rD   Tippingr~      &         %-c]222 rC   r   enable_customer_cancellationskip_tippingtippingN)	r=   r>   r?   r   r   r   rt   rA   r\   rB   rC   rD   CollectConfigr|      s             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      s         : : : : : : : :* %]3333 ,O<<<< %_5555 #3M!BrC   r   c                   d    e Zd ZU  G d de          Zee         ed<   	 ed         ed<   	 deiZdS )"Reader.Action.ConfirmPaymentIntentc                   &    e Zd ZU ee         ed<   dS )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      sy                 %]3333 ,O<<<< #3M!BrC   r   c                   d    e Zd ZU  G d de          Zed         ed<   	 ee         ed<   	 deiZdS )"Reader.Action.ProcessPaymentIntentc                       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	dS )0Reader.Action.ProcessPaymentIntent.ProcessConfigc                   &    e Zd ZU ee         ed<   dS )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  sy         : : : : : : : :2 ,O<<<< %]3333 #3M!BrC   r   c                   |    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	dS ) Reader.Action.ProcessSetupIntentc                   &    e Zd ZU ee         ed<   dS ).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  s                 %SM))) %]3333 *-8888 #3M!BrC   r   c                   L   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dS )Reader.Action.RefundPaymentc                   &    e Zd ZU ee         ed<   dS )/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  sF            l    SM!!! _X67777 tCH~.... %__%EFFFF JK    _X67777 %-TN222 $,,?#@@@@ 'tn,,, #:;N!OrC   r   c                   d    e Zd ZU  G d de          Zee         ed<   	 ed         ed<   	 deiZdS )Reader.Action.SetReaderDisplayc                   |    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
dS )#Reader.Action.SetReaderDisplay.Cartc                   2    e Zd ZU eed<   	 eed<   	 eed<   dS ),Reader.Action.SetReaderDisplay.Cart.LineItemr   r8   quantityN)r=   r>   r?   r   rA   r@   rB   rC   rD   LineItemr     sB         KKK "%$$$ "MMM rC   r   currency
line_itemstaxtotalN)r=   r>   r?   r   r   r@   rA   r   r   r   r\   rB   rC   rD   Cartr     s             |     !N*** c]""" 


 '3H%="""rC   r   cartrs   N)	r=   r>   r?   r   r   r   rA   r   r\   rB   rC   rD   SetReaderDisplayr     sw         > > > > >| > > >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   s        g	3 g	3 g	3 g	3 g	3L g	3 g	3 g	3R&	C &	C &	C &	C &	C< &	C &	C &	CP	C 	C 	C 	C 	C< 	C 	C 	C""	C "	C "	C "	C "	C< "	C "	C "	CH	C 	C 	C 	C 	C 	C 	C 	C*-	P -	P -	P -	P -	PL -	P -	P -	P^*	0 *	0 *	0 *	0 *	0| *	0 *	0 *	0X !////	 !))= >>>>	 !))= >>>>	 sm###	 "#&&&	 !))= >>>>	 ''9::::	 !////	 %%566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_stripe_s710simulated_wisepos_e	stripe_m2stripe_s700stripe_s710verifone_P400device_typerU   
ip_addresslabellast_seen_atlivemoder,   locationrw   objectserial_number)offlineonliner   readerparamsr   returnc                     t          d|                     dd                    t          |                    |                    S )
        Cancels the current reader action. See [Programmatic Cancellation](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven#programmatic-cancellation) for more details.
        r.   post+/v1/terminal/readers/{reader}/cancel_actionr   r   r   _static_requestformatr   clsr   r   s      rD   _cls_cancel_actionzReader._cls_cancel_actionH  s]     =DD&v.. E       	
 	
 		
rC   c                     dS r   NrB   r   r   s     rD   cancel_actionzReader.cancel_actionZ  	     	rC   c                     dS r   rB   selfr   s     rD   r   zReader.cancel_actiond  	     	rC   r   c                     t          d|                     dd                    t          |                     d                              |                    S )r   r.   r   r   rU   r   r   r   _requestr   r   getr   s     rD   r   zReader.cancel_actionm  se     MM=DD&txx~~66 E      	
 	
 		
rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r.   r   r   r   r   Nr   _static_request_asyncr   r   r   s      rD   _cls_cancel_action_asynczReader._cls_cancel_action_async  s       ++=DD&v.. E    ,        	
 	
 		
rC   c                 
   K   dS r   rB   r   s     rD   cancel_action_asynczReader.cancel_action_async         	rC   c                 
   K   dS r   rB   r   s     rD   r  zReader.cancel_action_async         	rC   r
  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r   r.   r   r   rU   r   r   Nr   _request_asyncr   r   r  r   s     rD   r  zReader.cancel_action_async  s       %%=DD&txx~~66 E    &        	
 	
 		
rC   r   c                     t          d|                     dd                    t          |                    |                    S )
        Initiates an [input collection flow](https://docs.stripe.com/docs/terminal/features/collect-inputs) on a Reader to display input forms and collect information from your customers.
        r.   r   ,/v1/terminal/readers/{reader}/collect_inputsr   r   r   r   s      rD   _cls_collect_inputszReader._cls_collect_inputs  ]     >EE&v.. F       	
 	
 		
rC   c                     dS r  NrB   r   s     rD   r   zReader.collect_inputs  r   rC   c                     dS r  rB   r   s     rD   r   zReader.collect_inputs  r  rC   r  c                     t          d|                     dd                    t          |                     d                              |                    S )r  r.   r   r  rU   r   r   r  r   s     rD   r   zReader.collect_inputs  e     MM>EE&txx~~66 F      	
 	
 		
rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r.   r   r  r   r   Nr  r   s      rD   _cls_collect_inputs_asyncz Reader._cls_collect_inputs_async         ++>EE&v.. F    ,        	
 	
 		
rC   c                 
   K   dS r  rB   r   s     rD   collect_inputs_asynczReader.collect_inputs_async  r  rC   c                 
   K   dS r  rB   r   s     rD   r!  zReader.collect_inputs_async	  r  rC   r  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r  r.   r   r  rU   r   r   Nr  r   s     rD   r!  zReader.collect_inputs_async         %%>EE&txx~~66 F    &        	
 	
 		
rC   r   c                     t          d|                     dd                    t          |                    |                    S )G  
        Initiates a payment flow on a Reader and updates the PaymentIntent with card details before manual confirmation. See [Collecting a Payment method](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#collect-a-paymentmethod) for more details.
        r.   r   4/v1/terminal/readers/{reader}/collect_payment_methodr   r   r   r   s      rD   _cls_collect_payment_methodz"Reader._cls_collect_payment_method$  ]     FMM&v.. N       	
 	
 		
rC   c                     dS r&  NrB   r   s     rD   r   zReader.collect_payment_method6  r   rC   c                     dS r+  rB   r   s     rD   r   zReader.collect_payment_method@  r  rC   r(  c                     t          d|                     dd                    t          |                     d                              |                    S )r&  r.   r   r'  rU   r   r   r  r   s     rD   r   zReader.collect_payment_methodI  e     MMFMM&txx~~66 N      	
 	
 		
rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r&  r.   r   r'  r   r   Nr  r   s      rD   !_cls_collect_payment_method_asyncz(Reader._cls_collect_payment_method_async[         ++FMM&v.. N    ,        	
 	
 		
rC   c                 
   K   dS r+  rB   r   s     rD   collect_payment_method_asyncz#Reader.collect_payment_method_asyncm  r  rC   c                 
   K   dS r+  rB   r   s     rD   r3  z#Reader.collect_payment_method_asyncw  r  rC   r0  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r&  r.   r   r'  rU   r   r   Nr  r   s     rD   r3  z#Reader.collect_payment_method_async         %%FMM&txx~~66 N    &        	
 	
 		
rC   r   c                     t          d|                     dd                    t          |                    |                    S )
        Finalizes a payment on a Reader. See [Confirming a Payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=inspect#confirm-the-paymentintent) for more details.
        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                     dS r8  NrB   r   s     rD   r   zReader.confirm_payment_intent  r   rC   c                     dS r<  rB   r   s     rD   r   zReader.confirm_payment_intent  r  rC   r:  c                     t          d|                     dd                    t          |                     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|                     dd                    t          |                    |           d{V           S )r8  r.   r   r9  r   r   Nr  r   s      rD   !_cls_confirm_payment_intent_asyncz(Reader._cls_confirm_payment_intent_async  r1  rC   c                 
   K   dS r<  rB   r   s     rD   confirm_payment_intent_asyncz#Reader.confirm_payment_intent_async  r  rC   c                 
   K   dS r<  rB   r   s     rD   rB  z#Reader.confirm_payment_intent_async  r  rC   r@  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r8  r.   r   r9  rU   r   r   Nr  r   s     rD   rB  z#Reader.confirm_payment_intent_async  r6  rC   r    c                 r    t          d|                     d|                                 |                    S ).
        Creates a new Reader object.
        r.   r   r   )r   r   	class_urlr   r   s     rD   createzReader.create   sB    
     
 
 	
rC   c                    K   t          d|                     d|                                 |           d{V           S )rF  r.   r   r   N)r   r	  rG  rH  s     rD   create_asynczReader.create_async  sd       ++ ,        
 
 	
rC   sidr!   c                     |                                  dt          |          }t          d|                     d||                    S )*
        Deletes a Reader object.
        /r.   deleter   rG  r   r   r   r   rL  r   urls       rD   _cls_deletezReader._cls_delete  s[     +c*:*:*:;    
 
 	
rC   c                     dS rN  NrB   rL  r   s     rD   rP  zReader.delete/  s	     	rC   c                     dS rV  rB   r   s     rD   rP  zReader.delete7  s	    
 	rC   rT  c                 V    |                      d|                                 |          S )rN  rP  r   )_request_and_refreshinstance_urlr   s     rD   rP  zReader.delete>  s6     (( ) 
 
 	
rC   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )rN  rO  r.   rP  r   NrG  r   r   r	  rR  s       rD   _cls_delete_asynczReader._cls_delete_asyncK  s}       +c*:*:*:;++ ,        
 
 	
rC   c                 
   K   dS rV  rB   rW  s     rD   delete_asynczReader.delete_async\  r  rC   c                 
   K   dS rV  rB   r   s     rD   r`  zReader.delete_asyncf  r  rC   r^  c                 f   K   |                      d|                                 |           d{V S )rN  rP  r   N)_request_and_refresh_asyncr[  r   s     rD   r`  zReader.delete_asynco  sX       44 5 
 
 
 
 
 
 
 
 	
rC   r"   c                     |                      d|                                 |          }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.list|  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 rC   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )re  r  r   Nrf  )r	  rG  rg  r   rh  rs   r=   ri  s      rD   
list_asynczReader.list_async  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 rC   r#   c                     |                                  dt          |          }t          d|                     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  sX     +b///:    
 
 	
rC   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )ro  rO  r.   r   r   Nr]  rp  s       rD   modify_asynczReader.modify_async  sz       +b///:++ ,        
 
 	
rC   r%   c                     t          d|                     dd                    t          |                    |                    S )
        Initiates a payment flow on a Reader. See [process the payment](https://docs.stripe.com/docs/terminal/payments/collect-card-payment?terminal-sdk-platform=server-driven&process=immediately#process-payment) for more details.
        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                     dS ru  NrB   r   s     rD   r   zReader.process_payment_intent  r   rC   c                     dS ry  rB   r   s     rD   r   zReader.process_payment_intent  r  rC   rw  c                     t          d|                     dd                    t          |                     d                              |                    S )ru  r.   r   rv  rU   r   r   r  r   s     rD   r   zReader.process_payment_intent  r.  rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )ru  r.   r   rv  r   r   Nr  r   s      rD   !_cls_process_payment_intent_asyncz(Reader._cls_process_payment_intent_async  r1  rC   c                 
   K   dS ry  rB   r   s     rD   process_payment_intent_asyncz#Reader.process_payment_intent_async  r  rC   c                 
   K   dS ry  rB   r   s     rD   r  z#Reader.process_payment_intent_async  r  rC   r}  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )ru  r.   r   rv  rU   r   r   Nr  r   s     rD   r  z#Reader.process_payment_intent_async"  r6  rC   r&   c                     t          d|                     dd                    t          |                    |                    S )
        Initiates a SetupIntent flow on a Reader. See [Save directly without charging](https://docs.stripe.com/docs/terminal/features/saving-payment-details/save-directly) for more details.
        r.   r   2/v1/terminal/readers/{reader}/process_setup_intentr   r   r   r   s      rD   _cls_process_setup_intentz Reader._cls_process_setup_intent4  s]     DKK&v.. L       	
 	
 		
rC   c                     dS r  NrB   r   s     rD   r   zReader.process_setup_intentF  r   rC   c                     dS r  rB   r   s     rD   r   zReader.process_setup_intentP  r  rC   r  c                     t          d|                     dd                    t          |                     d                              |                    S )r  r.   r   r  rU   r   r   r  r   s     rD   r   zReader.process_setup_intentY  se     MMDKK&txx~~66 L      	
 	
 		
rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r.   r   r  r   r   Nr  r   s      rD   _cls_process_setup_intent_asyncz&Reader._cls_process_setup_intent_asynck  s       ++DKK&v.. L    ,        	
 	
 		
rC   c                 
   K   dS r  rB   r   s     rD   process_setup_intent_asyncz!Reader.process_setup_intent_async}  r  rC   c                 
   K   dS r  rB   r   s     rD   r  z!Reader.process_setup_intent_async  r  rC   r  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r  r.   r   r  rU   r   r   Nr  r   s     rD   r  z!Reader.process_setup_intent_async  s       %%DKK&txx~~66 L    &        	
 	
 		
rC   r'   c                     t          d|                     dd                    t          |                    |                    S )
        Initiates an in-person refund on a Reader. See [Refund an Interac Payment](https://docs.stripe.com/docs/terminal/payments/regional?integration-country=CA#refund-an-interac-payment) for more details.
        r.   r   ,/v1/terminal/readers/{reader}/refund_paymentr   r   r   r   s      rD   _cls_refund_paymentzReader._cls_refund_payment  r  rC   c                     dS r  NrB   r   s     rD   r   zReader.refund_payment  r   rC   c                     dS r  rB   r   s     rD   r   zReader.refund_payment  r  rC   r  c                     t          d|                     dd                    t          |                     d                              |                    S )r  r.   r   r  rU   r   r   r  r   s     rD   r   zReader.refund_payment  r  rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r.   r   r  r   r   Nr  r   s      rD   _cls_refund_payment_asyncz Reader._cls_refund_payment_async  r  rC   c                 
   K   dS r  rB   r   s     rD   refund_payment_asynczReader.refund_payment_async  r  rC   c                 
   K   dS r  rB   r   s     rD   r  zReader.refund_payment_async  r  rC   r  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r  r.   r   r  rU   r   r   Nr  r   s     rD   r  zReader.refund_payment_async  r$  rC   r(   c                 @     | |fi |}|                                  |S ),
        Retrieves a Reader object.
        )refreshr   rU   r   instances       rD   retrievezReader.retrieve  s2     3r$$V$$rC   c                 P   K    | |fi |}|                                  d{V  |S )r  N)refresh_asyncr  s       rD   retrieve_asynczReader.retrieve_async  sH       3r$$V$$$$&&&&&&&&&rC   r)   c                     t          d|                     dd                    t          |                    |                    S )y
        Sets the reader display to show [cart details](https://docs.stripe.com/docs/terminal/features/display).
        r.   r   0/v1/terminal/readers/{reader}/set_reader_displayr   r   r   r   s      rD   _cls_set_reader_displayzReader._cls_set_reader_display&  s]     BII&v.. J       	
 	
 		
rC   c                     dS r  NrB   r   s     rD   r   zReader.set_reader_display8  r   rC   c                     dS r  rB   r   s     rD   r   zReader.set_reader_displayB  r  rC   r  c                     t          d|                     dd                    t          |                     d                              |                    S )r  r.   r   r  rU   r   r   r  r   s     rD   r   zReader.set_reader_displayK  se     MMBII&txx~~66 J      	
 	
 		
rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r.   r   r  r   r   Nr  r   s      rD   _cls_set_reader_display_asyncz$Reader._cls_set_reader_display_async]  s       ++BII&v.. J    ,        	
 	
 		
rC   c                 
   K   dS r  rB   r   s     rD   set_reader_display_asynczReader.set_reader_display_asynco  r  rC   c                 
   K   dS r  rB   r   s     rD   r  zReader.set_reader_display_asyncy  r  rC   r  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r  r.   r   r  rU   r   r   Nr  r   s     rD   r  zReader.set_reader_display_async  s       %%BII&txx~~66 J    &        	
 	
 		
rC   c                   B   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d'S )(Reader.TestHelpersr.   _resource_clsr   r   r$   r   c                     t          d|                     dd                    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  s]     ##W^^*622 _   " $  	 	 	rC   c                     dS r  NrB   r   s     rD   present_payment_methodz)Reader.TestHelpers.present_payment_method  	     CrC   c                     dS r  rB   r   s     rD   r  z)Reader.TestHelpers.present_payment_method  	     CrC   r  c                     t          d| j                            dd                    t	          | 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  so     &&W^^*4=+<+<T+B+BCC _   " '  	 	 	rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r.   r   r  r   r   Nr  r   s      rD   !_cls_present_payment_method_asyncz4Reader.TestHelpers._cls_present_payment_method_async  s       //W^^*622 _   " 0        	 	 	rC   c                 
   K   dS r  rB   r   s     rD   present_payment_method_asyncz/Reader.TestHelpers.present_payment_method_async         CrC   c                 
   K   dS r  rB   r   s     rD   r  z/Reader.TestHelpers.present_payment_method_async         CrC   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )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  s       m22W^^*4=+<+<T+B+BCC _   " 3        	 	 	rC   r*   c                     t          d|                     dd                    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	  ]     ##Y``*622 a   " $  	 	 	rC   c                     dS r  NrB   r   s     rD   succeed_input_collectionz+Reader.TestHelpers.succeed_input_collection  r  rC   c                     dS r  rB   r   s     rD   r  z+Reader.TestHelpers.succeed_input_collection'  r  rC   r  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r  r.   r   r  rU   r   r   r  r   s     rD   r  z+Reader.TestHelpers.succeed_input_collection0  o     &&Y``*4=+<+<T+B+BCC a   " '  	 	 	rC   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r.   r   r  r   r   Nr  r   s      rD   #_cls_succeed_input_collection_asyncz6Reader.TestHelpers._cls_succeed_input_collection_asyncB         //Y``*622 a   " 0        	 	 	rC   c                 
   K   dS r  rB   r   s     rD   succeed_input_collection_asyncz1Reader.TestHelpers.succeed_input_collection_asyncV  r  rC   c                 
   K   dS r  rB   r   s     rD   r  z1Reader.TestHelpers.succeed_input_collection_async`  r  rC   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r  r.   r   r  rU   r   r   Nr  r   s     rD   r  z1Reader.TestHelpers.succeed_input_collection_asynci         m22Y``*4=+<+<T+B+BCC a   " 3        	 	 	rC   r+   c                     t          d|                     dd                    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_collection{  r  rC   c                     dS r  NrB   r   s     rD   timeout_input_collectionz+Reader.TestHelpers.timeout_input_collection  r  rC   c                     dS r  rB   r   s     rD   r  z+Reader.TestHelpers.timeout_input_collection  r  rC   r  c                     t          d| j                            dd                    t	          | 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|                     dd                    t          |                    |           d{V           S )r  r.   r   r  r   r   Nr  r   s      rD   #_cls_timeout_input_collection_asyncz6Reader.TestHelpers._cls_timeout_input_collection_async  r  rC   c                 
   K   dS r  rB   r   s     rD   timeout_input_collection_asyncz1Reader.TestHelpers.timeout_input_collection_async  r  rC   c                 
   K   dS r  rB   r   s     rD   r  z1Reader.TestHelpers.timeout_input_collection_async  r  rC   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r  r.   r   r  rU   r   r   Nr  r   s     rD   r  z1Reader.TestHelpers.timeout_input_collection_async  r  rC   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    s9        H~%%%			 ?@	 		 	 	 
	& 
			#)*L#M		 	 	 
 
	 
	"#EF		 	 	 
	 
	;	<	<	"#EF		 	 	 
=	<	" 
		 ?@	 		 	 	 
	& 
			#)*L#M		 	 	 
 
	 
	"#EF		 	 	 
	 
	A	B	B	"#EF		 	 	 
C	B	" 
		 AB	 		 	 	 
	& 
			#)*N#O		 	 	 
 
	 
	"#GH		 	 	 
	 
	=	>	>	"#GH		 	 	 
?	>	" 
		 AB	 		 	 	 
	& 
			#)*N#O		 	 	 
 
	 
	"#GH		 	 	 
	 
	C	D	D	"#GH		 	 	 
E	D	" 
		 AB	 		 	 	 
	& 
			#)*N#O		 	 	 
 
	 
	"#GH		 	 	 
	 
	=	>	>	"#GH		 	 	 
?	>	" 
		 AB	 		 	 	 
	& 
			#)*N#O		 	 	 
 
	 
	"#GH		 	 	 
	 
	C	D	D	"#GH		 	 	 
E	D	 	 	rC   r  c                 ,    |                      |           S )N)r  )r  s    rD   test_helperszReader.test_helpers  s    %%%rC   N)Gr=   r>   r?   __doc__r/   r   r   rA   r   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^  r`  r   rk  rm  rq  rs  rw  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IIs
 s
 s
 s
 s
 s
 s
 s
j V gdm$$$$  }$$$ 
	    	GGG  JJJ 3- NNN z23333 38n %&&&&  W012222 

$*+E$F
	
 
 
 [
" %&@A	   \ X 9:	   X .//
9:
	
 
 
 0/
" 

$*+E$F
	
 
 
 [
" %&@A	   \ X 9:	   X 455
9:
	
 
 
 65
" 

$*+F$G
	
 
 
 [
" %&AB	   \ X :;	   X /00
:;
	
 
 
 10
" 

$*+F$G
	
 
 
 [
" %&AB	   \ X :;	   X 566
:;
	
 
 
 76
" 

$*+M$N
	
 
 
 [
" %&HI	   \ X AB	   X 788
AB
	
 
 
 98
" 

$*+M$N
	
 
 
 [
" %&HI	   \ X AB	   X =>>
AB
	
 
 
 ?>
" 

$*+M$N
	
 
 
 [
" %&HI	   \ X AB	   X 788
AB
	
 
 
 98
" 

$*+M$N
	
 
 
 [
" %&HI	   \ X AB	   X =>>
AB
	
 
 
 ?>
" 
f%9: 
x 
 
 
 [
 
23
	
 
 
 [
 

!'(<!=
	
 
 
 [
  C 6*>#? H    \ X v&:;     X -((

34

	

 

 

 )(

 

!'(<!=
	
 
 
 [
  "#78	   \ X 34	   X -..

34

	

 

 

 /.

 01	H	   [& 01	H	   [& 

 &'; <
	
 
 
 [
  

 &'; <
	
 
 
 [
  

$*+M$N
	
 
 
 [
" %&HI	   \ X AB	   X 788
AB
	
 
 
 98
" 

$*+M$N
	
 
 
 [
" %&HI	   \ X AB	   X =>>
AB
	
 
 
 ?>
" 

$*+K$L
	
 
 
 [
" %&FG	   \ X ?@	   X 566
?@
	
 
 
 76
" 

$*+K$L
	
 
 
 [
" %&FG	   \ X ?@	   X ;<<
?@
	
 
 
 =<
" 

$*+F$G
	
 
 
 [
" %&AB	   \ X :;	   X /00
:;
	
 
 
 10
" 

$*+F$G
	
 
 
 [
" %&AB	   \ X :;	   X 566
:;
	
 
 
 76
"  &'= >	   [  &'= >	   [ 

$*+I$J
	
 
 
 [
" %&DE	   \ X =>	   X 344
=>
	
 
 
 54
" 

$*+I$J
	
 
 
 [
" %&DE	   \ X =>	   X 9::
=>
	
 
 
 ;:
"W W W W W,X6 W W Wr
 & & X& #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 A A A A A ? ? ? ? ? ? 4 4 4 4 4 4 * * * * * * = = = = = = . . . . . . 7 7 7 7 7 7 A A A A A A : : : : : : : : A A A A A A A A A A A A A A A A B B B B B B B B B B B B .3%%%%%%444444444444%%%%%%000000                     POOOOOOOOOOOKKKKKKOOOOOO                                         322222q, q, q, q, q,(#"!(#	q, q, q,h= $*       rC   