
    _j                     z   d dl mZmZmZm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 G d de          ZdS )    )DictOptionalUnioncast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d         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_idr   errorNmessagec                    t          t          |                               |           d }|rct          |d          r<	 t	          t
          |                              d          }n)# t          $ r d}Y nw xY wt          |t                    r|}|| _
        || _        || _        || _        |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   BaseException
isinstancestrr   r   r   r   r   r   getr   _construct_error_objectr   )	selfr   r   r   r   r   r   body	__class__s	           Q/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/_error.pyr   zStripeError.__init__   s	    	k4  ))'222" 	! y(++ 	!y1188AADD$   ? DD
 Is++ ! &"}"	,**<>>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__4   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__C   s8    N###MMMOOO	
 	
r'   returnc                    | j         Ct          | j         t                    r)d| j         vs t          | j         d         t                    sd S ddlm} ddlm}  |j        | j         d         |                                d          S )Nr   r   r   )_APIRequestorV1)values	requestorapi_mode)	r   r   dictstripe._error_objectr   stripe._api_requestorr5   _construct_from_global_instance)r   r   r5   s      r"   r   z#StripeError._construct_error_objectK   s    N"dnd33 #dn,,dnW5t<< - 4444444777777*{*>'*#4466 
 
 
 	
r'   )NNNNNN)r1   
__module____qualname__r   r   __annotations__intobjectr   r   r   r   r&   propertyr+   r2   r   r   __classcell__r!   s   @r"   r
   r
      s        sm}#d38n%%%%
3-M"""" "&15%)&*,0""4 "4#"4 E%*-."4 c]	"4
 F#"4 $sCx.)"4 sm"4 "4 "4 "4 "4 "4H     X
 
 

+)> 
 
 
 
 
 
 
 
r'   r
   c                       e Zd ZdS )APIErrorNr1   r?   r@    r'   r"   rH   rH   _           Dr'   rH   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   rM   r   rN   )	r   r   r   r   r   r   r   rN   r!   s	           r"   r   zAPIConnectionError.__init__f   sE     	 $''00YY	
 	
 	
 )r'   )NNNNNF)r1   r?   r@   boolrA   r   rE   rF   s   @r"   rM   rM   c   s_         
 ) ) ) ) ) ) ) ) ) )r'   rM   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/   r0   )r!   r1   r   paramr   r   r   r*   s    r"   r2   z!StripeErrorWithParamCode.__repr__w   sL    
 '''


			   		
r'   N)r1   r?   r@   r2   rJ   r'   r"   rR   rR   v   s#        
 
 
 
 
r'   rR   c                   (     e Zd Z	 	 	 	 d fd	Z xZS )	CardErrorNc                 p    t          t          |                               ||||||           || _        d S r)   )r   rV   r   rT   	r   r   rT   r   r   r   r   r   r!   s	           r"   r   zCardError.__init__   sA     	i''YY	
 	
 	
 


r'   )NNNNr1   r?   r@   r   rE   rF   s   @r"   rV   rV      sK                  r'   rV   c                       e Zd ZdS )IdempotencyErrorNrI   rJ   r'   r"   r[   r[      rK   r'   r[   c                   *     e Zd Z	 	 	 	 	 d fd	Z xZS )InvalidRequestErrorNc                 p    t          t          |                               ||||||           || _        d S r)   )r   r]   r   rT   rX   s	           r"   r   zInvalidRequestError.__init__   sB     	!4((11YY	
 	
 	
 


r'   )NNNNNrY   rF   s   @r"   r]   r]      sN        
          r'   r]   c                       e Zd ZdS )AuthenticationErrorNrI   rJ   r'   r"   r`   r`      rK   r'   r`   c                       e Zd ZdS )PermissionErrorNrI   rJ   r'   r"   rb   rb      rK   r'   rb   c                       e Zd ZdS )RateLimitErrorNrI   rJ   r'   r"   rd   rd      rK   r'   rd   c                         e Zd Zd fd	Z xZS )SignatureVerificationErrorNc                 h    t          t          |                               ||           || _        d S r)   )r   rf   r   
sig_header)r   r   rh   r   r!   s       r"   r   z#SignatureVerificationError.__init__   s/    ($//88)LLL$r'   r)   rY   rF   s   @r"   rf   rf      s=        % % % % % % % % % %r'   rf   c                       e Zd ZdS )TemporarySessionExpiredErrorNrI   rJ   r'   r"   rj   rj      rK   r'   rj   N)typingr   r   r   r   r;   r   	Exceptionr
   rH   rM   rR   rV   r[   r]   r`   rb   rd   rf   rj   rJ   r'   r"   <module>rm      sH   . . . . . . . . . . . . , , , , , ,V
 V
 V
 V
 V
) V
 V
 V
r	 	 	 	 	{ 	 	 	) ) ) ) ) ) ) )&
 
 
 
 
{ 
 
 
     (   "	 	 	 	 	{ 	 	 	    2   "	 	 	 	 	+ 	 	 		 	 	 	 	k 	 	 		 	 	 	 	[ 	 	 	% % % % % % % %	 	 	 	 	; 	 	 	 	 	r'   