a
    gV                     @   sx   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mZ d dlmZmZmZ G dd	 d	eZd
S )    )
ListObject)RequestOptions)StripeService)sanitize_id)Reader)DictListcast)LiteralNotRequired	TypedDictc                   @   s  e Zd ZG dd deZG dd deZG dd deZG dd deZG d	d
 d
eZG dd deZ	G dd deZ
G dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd  d eZi i fed!eed"d#d$Zi i fed!eed"d%d&Zi i fed'eed"d(d)Zi i fed'eed"d*d+Zi i fed,eed"d-d.Zi i fed,eed"d/d0Zi i fd1eee d2d3d4Zi i fd1eee d2d5d6Zi fd7eed2d8d9Z i fd7eed2d:d;Z!i i fed<eed"d=d>Z"i i fed<eed"d?d@Z#i fedAeed"dBdCZ$i fedAeed"dDdEZ%i fedFeed"dGdHZ&i fedFeed"dIdJZ'i i fedKeed"dLdMZ(i i fedKeed"dNdOZ)i fedPeed"dQdRZ*i fedPeed"dSdTZ+dUS )VReaderServicec                   @   s   e Zd ZU eee  ed< dS ) ReaderService.CancelActionParamsexpandN__name__
__module____qualname__r   r   str__annotations__ r   r   m/var/www/staging/api/virtual_environments/venv/lib/python3.9/site-packages/stripe/terminal/_reader_service.pyCancelActionParams   s   
r   c                   @   sJ   e Zd ZU eee  ed< ee ed< ee ed< ed ed< eed< dS )ReaderService.CreateParamsr   labellocationLiteral['']|Dict[str, str]metadataZregistration_codeNr   r   r   r   r   CreateParams   s   
r   c                   @   s   e Zd ZdS )ReaderService.DeleteParamsN)r   r   r   r   r   r   r   DeleteParams)   s   r    c                   @   sz   e Zd ZU eed  ed< ee ed< eee  ed< ee ed< ee ed< ee ed< ee ed< eed	  ed
< dS )ReaderService.ListParams)Zbbpos_chipper2xZbbpos_wisepad3Zbbpos_wisepos_eZmobile_phone_readerZsimulated_wisepos_eZ	stripe_m2Zstripe_s700Zverifone_P400Zdevice_typeZending_beforer   limitr   Zserial_numberZstarting_after)ZofflineZonlinestatusN)	r   r   r   r   r
   r   r   r   intr   r   r   r   
ListParams,   s   
r%   c                   @   s2   e Zd ZU eee  ed< eed< ed ed< dS )(ReaderService.ProcessPaymentIntentParamsr   payment_intent5ReaderService.ProcessPaymentIntentParamsProcessConfigprocess_configNr   r   r   r   r   ProcessPaymentIntentParamsY   s   
r*   c                   @   sB   e Zd ZU eed  ed< ee ed< ee ed< ed ed< dS )r(   alwaysZlimitedunspecifiedallow_redisplayenable_customer_cancellationZskip_tipping<ReaderService.ProcessPaymentIntentParamsProcessConfigTippingZtippingN)r   r   r   r   r
   r   boolr   r   r   r   'ProcessPaymentIntentParamsProcessConfigi   s   
r2   c                   @   s   e Zd ZU ee ed< dS )r0   Zamount_eligibleN)r   r   r   r   r$   r   r   r   r   r   .ProcessPaymentIntentParamsProcessConfigTipping   s   
r3   c                   @   s>   e Zd ZU ed ed< eee  ed< ed ed< eed< dS )&ReaderService.ProcessSetupIntentParamsr+   r.   r   3ReaderService.ProcessSetupIntentParamsProcessConfigr)   Zsetup_intentN)r   r   r   r
   r   r   r   r   r   r   r   r   ProcessSetupIntentParams   s   
r6   c                   @   s   e Zd ZU ee ed< dS )r5   r/   Nr   r   r   r   r1   r   r   r   r   r   %ProcessSetupIntentParamsProcessConfig   s   
r8   c                   @   sz   e Zd ZU ee ed< ee ed< eee  ed< eeeef  ed< ee ed< ee	 ed< ed ed< ee	 ed	< d
S )!ReaderService.RefundPaymentParamsamountZcharger   r   r'   Zrefund_application_fee4ReaderService.RefundPaymentParamsRefundPaymentConfigZrefund_payment_configZreverse_transferN)
r   r   r   r   r$   r   r   r   r   r1   r   r   r   r   RefundPaymentParams   s   
r<   c                   @   s   e Zd ZU ee ed< dS )r;   r/   Nr7   r   r   r   r   &RefundPaymentParamsRefundPaymentConfig   s   
r=   c                   @   s   e Zd ZU eee  ed< dS )ReaderService.RetrieveParamsr   Nr   r   r   r   r   RetrieveParams   s   
r?   c                   @   s6   e Zd ZU ed ed< eee  ed< ed ed< dS )$ReaderService.SetReaderDisplayParams(ReaderService.SetReaderDisplayParamsCartZcartr   typeN)r   r   r   r   r   r   r   r
   r   r   r   r   SetReaderDisplayParams   s   
rC   c                   @   s6   e Zd ZU eed< ed ed< ee ed< eed< dS )rA   currency0ReaderService.SetReaderDisplayParamsCartLineItemZ
line_itemsZtaxtotalN)r   r   r   r   r   r   r   r$   r   r   r   r   SetReaderDisplayParamsCart   s
   
rG   c                   @   s&   e Zd ZU eed< eed< eed< dS )rE   r:   descriptionZquantityN)r   r   r   r$   r   r   r   r   r   r   "SetReaderDisplayParamsCartLineItem   s   
rI   c                   @   s6   e Zd ZU eee  ed< ed ed< ed ed< dS )ReaderService.UpdateParamsr   zLiteral['']|strr   r   r   Nr   r   r   r   r   UpdateParams   s   
rK   r   )readerparamsoptionsreturnc              	   C   s&   t t| jddjt|dd||dS )*
        Deletes a Reader object.
        delete/v1/terminal/readers/{reader}rL   apiZbase_addressrM   rN   r	   r   _requestformatr   selfrL   rM   rN   r   r   r   rQ     s    	zReaderService.deletec              	      s,   t t| jddjt|dd||dI dH S )rP   rQ   rR   rS   rT   rU   Nr	   r   _request_asyncrX   r   rY   r   r   r   delete_async!  s    	
zReaderService.delete_asyncr>   c              	   C   s&   t t| jddjt|dd||dS ),
        Retrieves a Reader object.
        getrR   rS   rT   rU   rV   rY   r   r   r   retrieve7  s    	zReaderService.retrievec              	      s,   t t| jddjt|dd||dI dH S )r^   r_   rR   rS   rT   rU   Nr[   rY   r   r   r   retrieve_asyncM  s    	
zReaderService.retrieve_asyncrJ   c              	   C   s&   t t| jddjt|dd||dS )
        Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        postrR   rS   rT   rU   rV   rY   r   r   r   updatec  s    	zReaderService.updatec              	      s,   t t| jddjt|dd||dI dH S )rb   rc   rR   rS   rT   rU   Nr[   rY   r   r   r   update_asyncy  s    	
zReaderService.update_asyncr!   )rM   rN   rO   c              	   C   s   t tt | jddd||dS )3
        Returns a list of Reader objects.
        r_   /v1/terminal/readersrT   rU   )r	   r   r   rW   rZ   rM   rN   r   r   r   list  s    zReaderService.listc              	      s$   t tt | jddd||dI dH S )rf   r_   rg   rT   rU   N)r	   r   r   r\   rh   r   r   r   
list_async  s    
zReaderService.list_asyncr   c              	   C   s   t t| jddd||dS ).
        Creates a new Reader object.
        rc   rg   rT   rU   )r	   r   rW   rh   r   r   r   create  s    zReaderService.createc              	      s    t t| jddd||dI dH S )rk   rc   rg   rT   rU   N)r	   r   r\   rh   r   r   r   create_async  s    
zReaderService.create_asyncr   c              	   C   s&   t t| jddjt|dd||dS )4
        Cancels the current reader action.
        rc   +/v1/terminal/readers/{reader}/cancel_actionrS   rT   rU   rV   rY   r   r   r   cancel_action  s    	zReaderService.cancel_actionc              	      s,   t t| jddjt|dd||dI dH S )rn   rc   ro   rS   rT   rU   Nr[   rY   r   r   r   cancel_action_async  s    	
z!ReaderService.cancel_action_asyncr&   c              	   C   s&   t t| jddjt|dd||dS )7
        Initiates a payment flow on a Reader.
        rc   4/v1/terminal/readers/{reader}/process_payment_intentrS   rT   rU   rV   rY   r   r   r   process_payment_intent  s    	z$ReaderService.process_payment_intentc              	      s,   t t| jddjt|dd||dI dH S )rr   rc   rs   rS   rT   rU   Nr[   rY   r   r   r   process_payment_intent_async  s    	
z*ReaderService.process_payment_intent_asyncr4   c              	   C   s&   t t| jddjt|dd||dS )<
        Initiates a setup intent flow on a Reader.
        rc   2/v1/terminal/readers/{reader}/process_setup_intentrS   rT   rU   rV   rY   r   r   r   process_setup_intent3  s    	z"ReaderService.process_setup_intentc              	      s,   t t| jddjt|dd||dI dH S )rv   rc   rw   rS   rT   rU   Nr[   rY   r   r   r   process_setup_intent_asyncI  s    	
z(ReaderService.process_setup_intent_asyncr9   c              	   C   s&   t t| jddjt|dd||dS )0
        Initiates a refund on a Reader
        rc   ,/v1/terminal/readers/{reader}/refund_paymentrS   rT   rU   rV   rY   r   r   r   refund_payment_  s    	zReaderService.refund_paymentc              	      s,   t t| jddjt|dd||dI dH S )rz   rc   r{   rS   rT   rU   Nr[   rY   r   r   r   refund_payment_asyncu  s    	
z"ReaderService.refund_payment_asyncr@   c              	   C   s&   t t| jddjt|dd||dS );
        Sets reader display to show cart details.
        rc   0/v1/terminal/readers/{reader}/set_reader_displayrS   rT   rU   rV   rY   r   r   r   set_reader_display  s    	z ReaderService.set_reader_displayc              	      s,   t t| jddjt|dd||dI dH S )r~   rc   r   rS   rT   rU   Nr[   rY   r   r   r   set_reader_display_async  s    	
z&ReaderService.set_reader_display_asyncN),r   r   r   r   r   r   r    r%   r*   r2   r3   r6   r8   r<   r=   r?   rC   rG   rI   rK   r   r   r   rQ   r]   r`   ra   rd   re   r   ri   rj   rl   rm   rp   rq   rt   ru   rx   ry   r|   r}   r   r   r   r   r   r   r      sH  -$r   N)Zstripe._list_objectr   Zstripe._request_optionsr   Zstripe._stripe_servicer   Zstripe._utilr   Zstripe.terminal._readerr   typingr   r   r	   Ztyping_extensionsr
   r   r   r   r   r   r   r   <module>   s   