
    jof                     f   d dl mZmZmZmZ d dlZd dlm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dS )    )DictOptionalUnioncastN)ErrorObjectc                       e Zd ZU ee         ed<   ee         ed<   ee         ed<   ee         ed<   eeeef                  ed<   ee         ed<   ee         ed<   ee	         ed<   	 	 	 	 	 	 dd
ee         dee
eef                  dee         dee         deeeef                  dee         f fdZd Zed             Zd Zdee	         fdZ xZS )StripeError_message	http_bodyhttp_status	json_bodyheaderscode
request_iderrorNmessagec                    t          t          |                               |           d }|rLt          |d          r<	 t	          t
          |                              d          }n# t          $ r d}Y nw xY w|| _        || _	        || _
        || _        |pi | _        || _        | j                            dd           | _        |                                 | _        d S )Ndecodezutf-8zE<Could not decode body as utf-8. Please report to support@stripe.com>z
request-id)superr	   __init__hasattrr   bytesr   BaseExceptionr
   r   r   r   r   r   getr   _construct_error_objectr   )	selfr   r   r   r   r   r   body	__class__s	           G/var/www/html/Alfredo/env/lib/python3.11/site-packages/stripe/_error.pyr   zStripeError.__init__   s     	k4  ))'222" 	H55 	E9--44W==    ;   &"}"	,**<>>1133


s   (A( (A76A7c                 \    | j         pd}| j        d                    | j        |          S |S )Nz<empty message>zRequest {0}: {1})r
   r   format)r   msgs     r   __str__zStripeError.__str__0   s4    m00?&%,,T_cBBBJ    c                     | j         S N)r
   r   s    r   user_messagezStripeError.user_message;   s
    }r$   c                 P    | j         j        d| j        d| j        d| j        dS )N	(message=, http_status=, request_id=))r   __name__r
   r   r   r'   s    r   __repr__zStripeError.__repr__?   s8    N###MMMOOO	
 	
r$   returnc                    | j         Ct          | j         t                    r)d| j         vs t          | j         d         t                    sd S t          j        | j         d         t
          j                                        d          S )Nr   V1)values	requestorapi_mode)r   
isinstancedictr   _construct_fromstripe_APIRequestor_global_instancer'   s    r   r   z#StripeError._construct_error_objectG   s    N"dnd33 #dn,,dnW5t<< - 4*>'**;;==
 
 
 	
r$   )NNNNNN)r.   
__module____qualname__r   str__annotations__intobjectr   r   r   r   r   r#   propertyr(   r/   r   __classcell__r   s   @r   r	   r	      s        sm}#d38n%%%%
3-K     "&15%)&*,0"4 4#4 E%*-.4 c]	4
 F#4 $sCx.)4 sm4 4 4 4 4 4<     X
 
 

+)> 
 
 
 
 
 
 
 
r$   r	   c                       e Zd ZdS )APIErrorNr.   r<   r=    r$   r   rF   rF   W           Dr$   rF   c                   8     e Zd ZU eed<   	 	 	 	 	 	 d fd	Z xZS )APIConnectionErrorshould_retryNFc                 p    t          t          |                               ||||||           || _        d S r&   )r   rK   r   rL   )	r   r   r   r   r   r   r   rL   r   s	           r   r   zAPIConnectionError.__init__^   sE     	 $''00YY	
 	
 	
 )r$   )NNNNNF)r.   r<   r=   boolr?   r   rC   rD   s   @r   rK   rK   [   s_         
 ) ) ) ) ) ) ) ) ) )r$   rK   c                       e Zd Zd ZdS )StripeErrorWithParamCodec                 p    | j         j        d| j        d| j        d| j        d| j        d| j        dS )Nr*   z, param=z, code=r+   r,   r-   )r   r.   r
   paramr   r   r   r'   s    r   r/   z!StripeErrorWithParamCode.__repr__o   sL    
 '''


			   		
r$   N)r.   r<   r=   r/   rH   r$   r   rP   rP   n   s#        
 
 
 
 
r$   rP   c                   (     e Zd Z	 	 	 	 d fd	Z xZS )	CardErrorNc                 p    t          t          |                               ||||||           || _        d S r&   )r   rT   r   rR   	r   r   rR   r   r   r   r   r   r   s	           r   r   zCardError.__init__   sA     	i''YY	
 	
 	
 


r$   )NNNNr.   r<   r=   r   rC   rD   s   @r   rT   rT   ~   sK                  r$   rT   c                       e Zd ZdS )IdempotencyErrorNrG   rH   r$   r   rY   rY      rI   r$   rY   c                   *     e Zd Z	 	 	 	 	 d fd	Z xZS )InvalidRequestErrorNc                 p    t          t          |                               ||||||           || _        d S r&   )r   r[   r   rR   rV   s	           r   r   zInvalidRequestError.__init__   sB     	!4((11YY	
 	
 	
 


r$   )NNNNNrW   rD   s   @r   r[   r[      sN        
          r$   r[   c                       e Zd ZdS )AuthenticationErrorNrG   rH   r$   r   r^   r^      rI   r$   r^   c                       e Zd ZdS )PermissionErrorNrG   rH   r$   r   r`   r`      rI   r$   r`   c                       e Zd ZdS )RateLimitErrorNrG   rH   r$   r   rb   rb      rI   r$   rb   c                         e Zd Zd fd	Z xZS )SignatureVerificationErrorNc                 h    t          t          |                               ||           || _        d S r&   )r   rd   r   
sig_header)r   r   rf   r   r   s       r   r   z#SignatureVerificationError.__init__   s/    ($//88)LLL$r$   r&   rW   rD   s   @r   rd   rd      s=        % % % % % % % % % %r$   rd   )typingr   r   r   r   r9   stripe._error_objectr   	Exceptionr	   rF   rK   rP   rT   rY   r[   r^   r`   rb   rd   rH   r$   r   <module>rj      s)   . . . . . . . . . . . .  , , , , , ,L
 L
 L
 L
 L
) L
 L
 L
^	 	 	 	 	{ 	 	 	) ) ) ) ) ) ) )&
 
 
 
 
{ 
 
 
     (   "	 	 	 	 	{ 	 	 	    2   "	 	 	 	 	+ 	 	 		 	 	 	 	k 	 	 		 	 	 	 	[ 	 	 	% % % % % % % % % %r$   