a
    g|                     @   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)Dispute)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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/d0 d0eZG d1d2 d2eZi i fd3eee d4d5d6Z i i fd3eee d4d7d8Z!i i fd9eed4d:d;Z"i i fd9eed4d<d=Z#i i fe$d>eed?d@dAZ%i i fe$d>eed?dBdCZ&i i fe$dDeed?dEdFZ'i i fe$dDeed?dGdHZ(i i fe$dIeed?dJdKZ)i i fe$dIeed?dLdMZ*dNS )ODisputeServicec                   @   sb   e Zd ZU ee ed< ed ed< eee  ed< eeeef  ed< ee ed< ed ed< d	S )
DisputeService.CreateParamsamount#DisputeService.CreateParamsEvidenceevidenceexpandmetadatatransaction#DisputeService.CreateParamsTreasuryZtreasuryN)	__name__
__module____qualname__r   int__annotations__r   strr    r   r   m/var/www/staging/api/virtual_environments/venv/lib/python3.9/site-packages/stripe/issuing/_dispute_service.pyCreateParams   s   
r   c                   @   s~   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed	 ed
< ed ed< ed ed< eed  ed< ed ed< dS )r   z7Literal['']|DisputeService.CreateParamsEvidenceCanceledcanceledz8Literal['']|DisputeService.CreateParamsEvidenceDuplicate	duplicatez9Literal['']|DisputeService.CreateParamsEvidenceFraudulent
fraudulentzHLiteral['']|DisputeService.CreateParamsEvidenceMerchandiseNotAsDescribedmerchandise_not_as_describedzCLiteral['']|DisputeService.CreateParamsEvidenceNoValidAuthorizationno_valid_authorizationz:Literal['']|DisputeService.CreateParamsEvidenceNotReceivednot_receivedz4Literal['']|DisputeService.CreateParamsEvidenceOtherotherr   r    r!   r"   r#   r$   r%   service_not_as_describedreasonzDLiteral['']|DisputeService.CreateParamsEvidenceServiceNotAsDescribedr'   Nr   r   r   r   r   r
   r   r   r   r   CreateParamsEvidence'   s<   
r*   c                   @   s   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< ed ed	< ed ed
< ed ed< ed ed< ed ed< dS )z+DisputeService.CreateParamsEvidenceCanceledLiteral['']|stradditional_documentationLiteral['']|intcanceled_atLiteral['']|boolcancellation_policy_providedcancellation_reasonexpected_atexplanationproduct_description-Literal['']|Literal['merchandise', 'service']product_type6Literal['']|Literal['merchant_rejected', 'successful']return_statusreturned_atNr   r   r   r   r   r   r   r   r   CreateParamsEvidenceCanceledh   s   
r;   c                   @   sV   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< ee ed< dS )	z,DisputeService.CreateParamsEvidenceDuplicater+   r,   card_statementcash_receiptcheck_imager3   original_transactionNr   r   r   r   r   r   r   r   r   r   CreateParamsEvidenceDuplicate   s   
rA   c                   @   s&   e Zd ZU ed ed< ed ed< dS )z-DisputeService.CreateParamsEvidenceFraudulentr+   r,   r3   Nr:   r   r   r   r   CreateParamsEvidenceFraudulent   s   
rB   c                   @   sV   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< ed ed	< d
S )z<DisputeService.CreateParamsEvidenceMerchandiseNotAsDescribedr+   r,   r3   r-   received_atreturn_descriptionr7   r8   r9   Nr:   r   r   r   r   -CreateParamsEvidenceMerchandiseNotAsDescribed   s   
rE   c                   @   s&   e Zd ZU ed ed< ed ed< dS )z7DisputeService.CreateParamsEvidenceNoValidAuthorizationr+   r,   r3   Nr:   r   r   r   r   (CreateParamsEvidenceNoValidAuthorization   s   
rF   c                   @   sJ   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< d	S )
z.DisputeService.CreateParamsEvidenceNotReceivedr+   r,   r-   r2   r3   r4   r5   r6   Nr:   r   r   r   r   CreateParamsEvidenceNotReceived   s   
rG   c                   @   s>   e Zd ZU ed ed< ed ed< ed ed< ed ed< dS )z(DisputeService.CreateParamsEvidenceOtherr+   r,   r3   r4   r5   r6   Nr:   r   r   r   r   CreateParamsEvidenceOther   s   
rH   c                   @   sJ   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< dS )	z8DisputeService.CreateParamsEvidenceServiceNotAsDescribedr+   r,   r-   r.   r1   r3   rC   Nr:   r   r   r   r   )CreateParamsEvidenceServiceNotAsDescribed  s   
rI   c                   @   s   e Zd ZU eed< dS )r   Zreceived_debitN)r   r   r   r   r   r   r   r   r   CreateParamsTreasury"  s   
rJ   c                   @   sj   e Zd ZU ed ed< ee ed< eee  ed< ee ed< ee ed< eed  ed< ee ed	< d
S )DisputeService.ListParamsz$DisputeService.ListParamsCreated|intcreatedZending_beforer   limitZstarting_after)ZexpiredZlostZ	submittedZunsubmittedZwonstatusr   N)	r   r   r   r   r   r   r   r   r
   r   r   r   r   
ListParams(  s   
rO   c                   @   s>   e Zd ZU ee ed< ee ed< ee ed< ee ed< dS )z DisputeService.ListParamsCreatedgtZgteltZlteN)r   r   r   r   r   r   r   r   r   r   ListParamsCreatedH  s
   
rR   c                   @   s   e Zd ZU eee  ed< dS )DisputeService.RetrieveParamsr   Nr   r   r   r   r   r   r   r   r   r   r   RetrieveParamsZ  s   
rU   c                   @   s*   e Zd ZU eee  ed< ed ed< dS )DisputeService.SubmitParamsr   Literal['']|Dict[str, str]r   NrT   r   r   r   r   SubmitParams`  s   
rX   c                   @   sB   e Zd ZU ee ed< ed ed< eee  ed< ed ed< dS )DisputeService.UpdateParamsr   #DisputeService.UpdateParamsEvidencer   r   rW   r   N)r   r   r   r   r   r   r   r   r   r   r   r   UpdateParamsj  s
   
r[   c                   @   s~   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed	 ed
< ed ed< ed ed< eed  ed< ed ed< dS )rZ   z7Literal['']|DisputeService.UpdateParamsEvidenceCanceledr   z8Literal['']|DisputeService.UpdateParamsEvidenceDuplicater    z9Literal['']|DisputeService.UpdateParamsEvidenceFraudulentr!   zHLiteral['']|DisputeService.UpdateParamsEvidenceMerchandiseNotAsDescribedr"   zCLiteral['']|DisputeService.UpdateParamsEvidenceNoValidAuthorizationr#   z:Literal['']|DisputeService.UpdateParamsEvidenceNotReceivedr$   z4Literal['']|DisputeService.UpdateParamsEvidenceOtherr%   r&   r(   zDLiteral['']|DisputeService.UpdateParamsEvidenceServiceNotAsDescribedr'   Nr)   r   r   r   r   UpdateParamsEvidence|  s<   
r\   c                   @   s   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< ed ed	< ed ed
< ed ed< ed ed< ed ed< dS )z+DisputeService.UpdateParamsEvidenceCanceledr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   Nr:   r   r   r   r   UpdateParamsEvidenceCanceled  s   
r]   c                   @   sV   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< ee ed< dS )	z,DisputeService.UpdateParamsEvidenceDuplicater+   r,   r<   r=   r>   r3   r?   Nr@   r   r   r   r   UpdateParamsEvidenceDuplicate  s   
r^   c                   @   s&   e Zd ZU ed ed< ed ed< dS )z-DisputeService.UpdateParamsEvidenceFraudulentr+   r,   r3   Nr:   r   r   r   r   UpdateParamsEvidenceFraudulent  s   
r_   c                   @   sV   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< ed ed	< d
S )z<DisputeService.UpdateParamsEvidenceMerchandiseNotAsDescribedr+   r,   r3   r-   rC   rD   r7   r8   r9   Nr:   r   r   r   r   -UpdateParamsEvidenceMerchandiseNotAsDescribed  s   
r`   c                   @   s&   e Zd ZU ed ed< ed ed< dS )z7DisputeService.UpdateParamsEvidenceNoValidAuthorizationr+   r,   r3   Nr:   r   r   r   r   (UpdateParamsEvidenceNoValidAuthorization+  s   
ra   c                   @   sJ   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< d	S )
z.DisputeService.UpdateParamsEvidenceNotReceivedr+   r,   r-   r2   r3   r4   r5   r6   Nr:   r   r   r   r   UpdateParamsEvidenceNotReceived5  s   
rb   c                   @   s>   e Zd ZU ed ed< ed ed< ed ed< ed ed< dS )z(DisputeService.UpdateParamsEvidenceOtherr+   r,   r3   r4   r5   r6   Nr:   r   r   r   r   UpdateParamsEvidenceOtherM  s   
rc   c                   @   sJ   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed< dS )	z8DisputeService.UpdateParamsEvidenceServiceNotAsDescribedr+   r,   r-   r.   r1   r3   rC   Nr:   r   r   r   r   )UpdateParamsEvidenceServiceNotAsDescribeda  s   
rd   rK   )paramsoptionsreturnc              	   C   s   t tt | jddd||dS )
        Returns a list of Issuing Dispute objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
        get/v1/issuing/disputesapiZbase_addressre   rf   )r	   r   r   _requestselfre   rf   r   r   r   listw  s    zDisputeService.listc              	      s$   t tt | jddd||dI dH S )rh   ri   rj   rk   rl   N)r	   r   r   _request_asyncrn   r   r   r   
list_async  s    
zDisputeService.list_asyncr   c              	   C   s   t t| jddd||dS ){  
        Creates an Issuing Dispute object. Individual pieces of evidence within the evidence object are optional at this point. Stripe only validates that required evidence is present during submission. Refer to [Dispute reasons and evidence](https://stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence) for more details about evidence requirements.
        postrj   rk   rl   )r	   r   rm   rn   r   r   r   create  s    zDisputeService.createc              	      s    t t| jddd||dI dH S )rs   rt   rj   rk   rl   N)r	   r   rq   rn   r   r   r   create_async  s    
zDisputeService.create_asyncrS   )disputere   rf   rg   c              	   C   s&   t t| jddjt|dd||dS )6
        Retrieves an Issuing Dispute object.
        ri   /v1/issuing/disputes/{dispute}rw   rk   rl   r	   r   rm   formatr   ro   rw   re   rf   r   r   r   retrieve  s    	zDisputeService.retrievec              	      s,   t t| jddjt|dd||dI dH S )rx   ri   ry   rz   rk   rl   Nr	   r   rq   r|   r   r}   r   r   r   retrieve_async  s    	
zDisputeService.retrieve_asyncrY   c              	   C   s&   t t| jddjt|dd||dS )
        Updates the specified Issuing Dispute object by setting the values of the parameters passed. Any parameters not provided will be left unchanged. Properties on the evidence object can be unset by passing in an empty string.
        rt   ry   rz   rk   rl   r{   r}   r   r   r   update  s    	zDisputeService.updatec              	      s,   t t| jddjt|dd||dI dH S )r   rt   ry   rz   rk   rl   Nr   r}   r   r   r   update_async  s    	
zDisputeService.update_asyncrV   c              	   C   s&   t t| jddjt|dd||dS )!  
        Submits an Issuing Dispute to the card network. Stripe validates that all evidence fields required for the dispute's reason are present. For more details, see [Dispute reasons and evidence](https://stripe.com/docs/issuing/purchases/disputes#dispute-reasons-and-evidence).
        rt   %/v1/issuing/disputes/{dispute}/submitrz   rk   rl   r{   r}   r   r   r   submit  s    	zDisputeService.submitc              	      s,   t t| jddjt|dd||dI dH S )r   rt   r   rz   rk   rl   Nr   r}   r   r   r   submit_async1  s    	
zDisputeService.submit_asyncN)+r   r   r   r   r   r*   r;   rA   rB   rE   rF   rG   rH   rI   rJ   rO   rR   rU   rX   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   r   r   r   rp   rr   ru   rv   r   r~   r   r   r   r   r   r   r   r   r   r      s   A.

 
A.

r   N)Zstripe._list_objectr   Zstripe._request_optionsr   Zstripe._stripe_servicer   Zstripe._utilr   Zstripe.issuing._disputer   typingr   r   r	   Ztyping_extensionsr
   r   r   r   r   r   r   r   <module>   s   