
    +h[                         d dl mZ d dlmZmZ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mZmZmZmZ d d	lmZmZmZmZmZ d d
lmZ erd dlm Z  d dl!m"Z" d dl#m$Z$  G d ded   ed   ed         Z%y)    )util)CreateableAPIResourceListableAPIResourceUpdateableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)class_method_variant)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)
quote_plus)BalanceTransaction)File)Transactionc                      e Zd ZU dZdZeed      ed<    G d de      Z	 G d de      Z
er G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d  d!e      Z G d" d#e      Z G d$ d%e      Z 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 d0 d1e      Z" G d2 d3e      Z# G d4 d5e      Z$e%ed6<   	 e&e'd7      ed8<   	 e%ed9<   	 e(ed:<   	 e	ed;<   e(ed<<   	 e)ed=<   	 e*e(e(f   ed><   	 ed   ed?<   	 ed@   edA<   	 e+dB   edC<   	 e&e
   edD<   	 e,	 	 	 	 d\dFe&e(   dGe&e(   dHe&e(   dIe&e(   dJe-dK   dLd fdM       Z.e,	 	 	 d]dFe&e(   dHe&e(   dIe&e(   dJe-dN   dLe/d    f
dO       Z0e,d<e(dJe-dP   dLd fdQ       Z1e,d<e(dJe-dR   dLd fdS       Z2e,	 	 	 d]dTe(dFe&e(   dHe&e(   dIe&e(   dJe-dU   dLd fdV       Z3e4e5	 	 	 d]dTe(dFe&e(   dHe&e(   dIe&e(   dJe-dU   dLd fdW              Z6e4	 d^dGe&e(   dJe-dU   dLd fdX       Z6 e7dY      	 d^dGe&e(   dJe-dU   dLd fdZ       Z6e	e
d[Z8yE)_Disputea  
    As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with.

    Related guide: [Issuing disputes](https://stripe.com/docs/issuing/purchases/disputes)
    zissuing.dispute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d   ed<   	 ee
   ed<   eeeeee	e
dZy)Dispute.Evidencec                       e Zd ZU eed      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee	d	      ed
<   	 ee	d      ed<   	 ee   ed<   y)Dispute.Evidence.Canceledr   additional_documentationcanceled_atcancellation_policy_providedcancellation_reasonexpected_atexplanationproduct_descriptionmerchandiseserviceproduct_typemerchant_rejected
successfulreturn_statusreturned_atN)
__name__
__module____qualname__r   r   __annotations__intboolstrr        W/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/issuing/dispute.pyCanceledr!   ,   s    &.v/F&GG "#& +34.8 "*#. "#& "#& "*#. #7+C#DEE $G,M$NOO "#&r:   r<   c                       e Zd ZU eed      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<   y)	Dispute.Evidence.Duplicater   r"   card_statementcash_receiptcheck_imager'   original_transactionNr2   r3   r4   r   r   r5   r8   r9   r:   r;   	Duplicater>   V   s~    &.v/F&GG %_V%<== #?6#:;; "/&"9:: "#& #+3-/r:   rD   c                   6    e Zd ZU eed      ed<   	 ee   ed<   y)Dispute.Evidence.Fraudulentr   r"   r'   NrC   r9   r:   r;   
FraudulentrF   p   s(    &.v/F&GG "#&r:   rG   c                       e Zd ZU eed      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 eed      ed<   	 ee   ed<   y	)
*Dispute.Evidence.MerchandiseNotAsDescribedr   r"   r'   received_atreturn_descriptionr-   r0   r1   N)	r2   r3   r4   r   r   r5   r8   r6   r   r9   r:   r;   MerchandiseNotAsDescribedrI   z   ss    &.v/F&GG "#& "#& !)- $G,M$NOO "#&r:   rL   c                   r    e Zd ZU eed      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 eed      ed<   y)	Dispute.Evidence.NotReceivedr   r"   r&   r'   r(   r)   r,   N)	r2   r3   r4   r   r   r5   r6   r8   r   r9   r:   r;   NotReceivedrN      sb    &.v/F&GG "#& "#& "*#. #7+C#DEEr:   rO   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)Dispute.Evidence.Otherr   r"   r'   r(   r)   r,   N)r2   r3   r4   r   r   r5   r8   r   r9   r:   r;   OtherrQ      sQ    &.v/F&GG "#& "*#. #7+C#DEEr:   rR   c                   l    e Zd ZU eed      ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)&Dispute.Evidence.ServiceNotAsDescribedr   r"   r#   r%   r'   rJ   N)r2   r3   r4   r   r   r5   r6   r8   r9   r:   r;   ServiceNotAsDescribedrT      s[    &.v/F&GG "#& "*#. "#& "#&r:   rU   canceled	duplicate
fraudulentmerchandise_not_as_describednot_receivedother)rV   rW   rX   rY   rZ   r[   service_not_as_describedreasonr\   N)r2   r3   r4   r
   r<   rD   rG   rL   rO   rR   rU   r   r5   r   _inner_class_typesr9   r:   r;   Evidencer   +   s    (	| (	T	 	4	 		 	4	, 	,	L 	$	L 	, 8$$I&&Z((&./H&II{++(
 	
	 #++@"AA "$,E'(=
r:   r_   c                   *    e Zd ZU ee   ed<   	 eed<   y)Dispute.Treasurydebit_reversalreceived_debitN)r2   r3   r4   r   r8   r5   r9   r:   r;   Treasuryra      s     %	 	r:   rd   c                   x    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<   y)Dispute.CreateParamsr6   amountDispute.CreateParamsEvidenceevidence	List[str]expandzDict[str, str]metadatar8   transactionDispute.CreateParamsTreasurytreasuryNr2   r3   r4   r   r5   r9   r:   r;   CreateParamsrf      so    && ""@AA  ,, ""233 %U++ ""@AAr:   rq   c                       e Zd ZU eed<   y)rn   rc   N)r2   r3   r4   r8   r5   r9   r:   r;   CreateParamsTreasuryzDispute.CreateParamsTreasury  s    r:   rs   c                       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<   y)rh   z0Literal['']|Dispute.CreateParamsEvidenceCanceledrV   z1Literal['']|Dispute.CreateParamsEvidenceDuplicaterW   z2Literal['']|Dispute.CreateParamsEvidenceFraudulentrX   zALiteral['']|Dispute.CreateParamsEvidenceMerchandiseNotAsDescribedrY   z3Literal['']|Dispute.CreateParamsEvidenceNotReceivedrZ   z-Literal['']|Dispute.CreateParamsEvidenceOtherr[   Literal['canceled', 'duplicate', 'fraudulent', 'merchandise_not_as_described', 'not_received', 'other', 'service_not_as_described']r]   z=Literal['']|Dispute.CreateParamsEvidenceServiceNotAsDescribedr\   Nrp   r9   r:   r;   CreateParamsEvidencezDispute.CreateParamsEvidence      !B  #C  $D  +6S+  &E  NOO   V  '2O' r:   rv   c                   f    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<   y)	1Dispute.CreateParamsEvidenceServiceNotAsDescribedLiteral['']|strr"   Literal['']|intr#   r%   r'   rJ   Nrp   r9   r:   r;   )CreateParamsEvidenceServiceNotAsDescribedry   K  _    &12C&DD %%677 "-->!?? %%677 %%677r:   r|   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)!Dispute.CreateParamsEvidenceOtherrz   r"   r'   r(   -Literal['']|Literal['merchandise', 'service']r,   Nrp   r9   r:   r;   CreateParamsEvidenceOtherr   a  P    &12C&DD %%677 "-->!?? &? r:   r   c                   f    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<   y	)
'Dispute.CreateParamsEvidenceNotReceivedrz   r"   r{   r&   r'   r(   r   r,   Nrp   r9   r:   r;   CreateParamsEvidenceNotReceivedr   u  c    &12C&DD %%677 %%677 "-->!?? &? r:   r   c                   x    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	<   y
)5Dispute.CreateParamsEvidenceMerchandiseNotAsDescribedrz   r"   r'   r{   rJ   rK   6Literal['']|Literal['merchant_rejected', 'successful']r0   r1   Nrp   r9   r:   r;   -CreateParamsEvidenceMerchandiseNotAsDescribedr     v    &12C&DD %%677 %%677 !,,= >> 'H  %%677r:   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)&Dispute.CreateParamsEvidenceFraudulentrz   r"   r'   Nrp   r9   r:   r;   CreateParamsEvidenceFraudulentr     &    &12C&DD %%677r:   r   c                   x    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<   y	)
%Dispute.CreateParamsEvidenceDuplicaterz   r"   r?   r@   rA   r'   r8   rB   Nrp   r9   r:   r;   CreateParamsEvidenceDuplicater     q    &12C&DD ((9:: &&788 %%677 %%677 #.e"44r:   r   c                       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<   y)$Dispute.CreateParamsEvidenceCanceledrz   r"   r{   r#   Literal['']|boolr$   r%   r&   r'   r(   r   r,   r   r0   r1   Nrp   r9   r:   r;   CreateParamsEvidenceCanceledr         &12C&DD %%677 +66H*II "-->!?? %%677 %%677 "-->!?? &?  'H  %%677r:   r   c                       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<   y)Dispute.ListParamszDispute.ListParamsCreated|intcreatedr8   ending_beforerj   rk   r6   limitstarting_afterz=Literal['expired', 'lost', 'submitted', 'unsubmitted', 'won']statusrm   Nrp   r9   r:   r;   
ListParamsr     s     !@AA 'u--  ,, u%% (..  O  %U++r:   r   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)Dispute.ListParamsCreatedr6   gtgteltlteNrp   r9   r:   r;   ListParamsCreatedr     sH    E"" U## E"" U##r:   r   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y	)
Dispute.ModifyParamsr6   rg   Dispute.ModifyParamsEvidenceri   rj   rk   Literal['']|Dict[str, str]rl   Nrp   r9   r:   r;   ModifyParamsr   -  sJ    && ""@AA  ,, "">??r:   r   c                       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<   y)r   z0Literal['']|Dispute.ModifyParamsEvidenceCanceledrV   z1Literal['']|Dispute.ModifyParamsEvidenceDuplicaterW   z2Literal['']|Dispute.ModifyParamsEvidenceFraudulentrX   zALiteral['']|Dispute.ModifyParamsEvidenceMerchandiseNotAsDescribedrY   z3Literal['']|Dispute.ModifyParamsEvidenceNotReceivedrZ   z-Literal['']|Dispute.ModifyParamsEvidenceOtherr[   ru   r]   z=Literal['']|Dispute.ModifyParamsEvidenceServiceNotAsDescribedr\   Nrp   r9   r:   r;   ModifyParamsEvidencezDispute.ModifyParamsEvidence?  rw   r:   r   c                   f    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<   y)	1Dispute.ModifyParamsEvidenceServiceNotAsDescribedrz   r"   r{   r#   r%   r'   rJ   Nrp   r9   r:   r;   )ModifyParamsEvidenceServiceNotAsDescribedr   o  r}   r:   r   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)!Dispute.ModifyParamsEvidenceOtherrz   r"   r'   r(   r   r,   Nrp   r9   r:   r;   ModifyParamsEvidenceOtherr     r   r:   r   c                   f    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<   y	)
'Dispute.ModifyParamsEvidenceNotReceivedrz   r"   r{   r&   r'   r(   r   r,   Nrp   r9   r:   r;   ModifyParamsEvidenceNotReceivedr     r   r:   r   c                   x    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	<   y
)5Dispute.ModifyParamsEvidenceMerchandiseNotAsDescribedrz   r"   r'   r{   rJ   rK   r   r0   r1   Nrp   r9   r:   r;   -ModifyParamsEvidenceMerchandiseNotAsDescribedr     r   r:   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)&Dispute.ModifyParamsEvidenceFraudulentrz   r"   r'   Nrp   r9   r:   r;   ModifyParamsEvidenceFraudulentr     r   r:   r   c                   x    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<   y	)
%Dispute.ModifyParamsEvidenceDuplicaterz   r"   r?   r@   rA   r'   r8   rB   Nrp   r9   r:   r;   ModifyParamsEvidenceDuplicater     r   r:   r   c                       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<   y)$Dispute.ModifyParamsEvidenceCanceledrz   r"   r{   r#   r   r$   r%   r&   r'   r(   r   r,   r   r0   r1   Nrp   r9   r:   r;   ModifyParamsEvidenceCanceledr     r   r:   r   c                       e Zd ZU ed   ed<   y)Dispute.RetrieveParamsrj   rk   Nrp   r9   r:   r;   RetrieveParamsr     s    ,,r:   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)Dispute.SubmitParamsrj   rk   r   rl   Nrp   r9   r:   r;   SubmitParamsr   %  s%    ,, "">??r:   r   rg   r   balance_transactionsr   currencyri   idlivemoderl   object)expiredlost	submittedunsubmittedwonr   r   rm   ro   Napi_keyidempotency_keystripe_versionstripe_accountparamsrf   returnc                 `    t        d| j                  d| j                         |||||            S )a{  
        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.
        r   post)r   _static_request	class_url)clsr   r   r   r   r   s         r;   createzDispute.create]  s=     
 	
r:   r   c                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )z
        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r   r   r   r   z%Expected list object from API, got %s)r   r   
isinstancer   	TypeErrortyper2   )r   r   r   r   r   results         r;   listzDispute.listv  sf     $$MMO)) % 
 &*-7<((* 
 r:   r   c                 z    | j                         dt        |      }t        d| j                  d||            S )z
        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.
        /r   r   )r   )r   r   r   r   )r   r   r   urls       r;   modifyzDispute.modify  s=     *R.9F;
 	
r:   r   c                 8     | |fi |}|j                          |S )z6
        Retrieves an Issuing Dispute object.
        )refresh)r   r   r   instances       r;   retrievezDispute.retrieve  s$     r$V$r:   disputer   c                     t        d| j                  ddj                  t        j                  |            ||||            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).
        r   r   %/v1/issuing/disputes/{dispute}/submitr   r   )r   r   formatr   sanitize_id)r   r   r   r   r   r   s         r;   _cls_submitzDispute._cls_submit  sY     7>> ,,W5 ?   --   	
 	
r:   c                      yr   Nr9   )r   r   r   r   r   s        r;   submitzDispute.submit  s     	r:   c                      yr   r9   selfr   r   s      r;   r   zDispute.submit  s     	r:   r   c                     t        d| j                  ddj                  t        j                  | j                  d                  ||            S )r   r   r   r   r   r   )r   r   )r   _requestr   r   r   r   r   s      r;   r   zDispute.submit  sY     MM7>> ,,TXXd^< ?  !0  

 
	
r:   )ri   ro   )NNNN)NNN)N)9r2   r3   r4   __doc__r   r   r   r5   r
   r_   rd   r   r	   rq   r   rs   rv   r|   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   r   r   r8   r7   r   r   classmethodr   r   r   r   r   r   r   r   staticmethodr   r   r^   r9   r:   r;   r   r      s   
 9JK'"345IB
< B
H<  	> 	4	9 	.	9 .	`		 	,		 	(	i 	0	I 	8	Y 		I 	4,	9 ,	\	 	@		 	$	> 	$.	9 .	`		 	,		 	(	i 	0	I 	8	Y 		I 	4,	9 ,	\	^ 		> 	 K #4(<#=>> L M G N 38n %&& HII !// x    "&)-(,(,
#
 "#
 !	

 !
 /0
 

 
0  "&(,(,	# ! !	
 -. 
I	 6 



 &'= >

	

 

  &'? @	   "&(,(,

 #
 !	

 !
 /0
 

 
2  "&(,(,	

#
 !
 !	

 /0
 

  
  *.!# /0 
	  -( *.
!#
 /0
 
	
 )
( '/HEr:   r   N)&striper   stripe.api_resources.abstractr   r   r   %stripe.api_resources.expandable_fieldr    stripe.api_resources.list_objectr   stripe.request_optionsr	   stripe.stripe_objectr
   stripe.utilr   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   r   urllib.parser   (stripe.api_resources.balance_transactionr   stripe.api_resources.filer   (stripe.api_resources.issuing.transactionr   r   r9   r:   r;   <module>r     sm     
 B 7 1 - , A A  $K.DTF)$	")$TFr:   