
    _j+                       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 d dlmZ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 erfd 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& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z: d dl;m<Z<  G d ded         ed                   Z=e=e=j>        _?        dS )    )ExpandableField)
ListObject)ListableAPIResource)StripeObject)APIResourceTestHelpers)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralTypeUnpackTYPE_CHECKING)BalanceTransaction)Card)
Cardholder)Token)Transaction)AuthorizationApproveParams)AuthorizationCaptureParams)AuthorizationCreateParams)AuthorizationDeclineParams)AuthorizationExpireParams)!AuthorizationFinalizeAmountParams)AuthorizationIncrementParams)AuthorizationListParams)AuthorizationModifyParams)AuthorizationRespondParams)AuthorizationRetrieveParams)AuthorizationReverseParamsc                      e Zd ZU dZdZeed                  ed<    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eed<   	 ee	         ed<   	 eed<   	 ed         ed<   	 ed         ed<   	 ded <   	 eed!                  ed"<   	 eed#<   	 eed$<   	 ee
         ed%<   	 eee                  ed&<   	 ee         ed'<   	 eed(<   	 eed)<   	 eed*<   	 eed+<   	 eed,<   eeef         ed-<   	 ee         ed.<   	 ed         ed/<   	 ee         ed0<   	 ee         ed1<   	 ed2         ed3<   	 eed4                  ed5<   	 ed6         ed7<   	 ee         ed8<   	 eed9<   ee         ed:<   	 ee         ed;<   	 ed<ed=ed>         d?d fd@            Zeed<ed=ed>         d?d fdA                        Zed=ed>         d?d fdB            Z e dC          d=ed>         d?d fdD            Zed<ed=ed>         d?d fdE            Z!eed<ed=ed>         d?d fdF                        Z"ed=ed>         d?d fdG            Z" e dH          d=ed>         d?d fdI            Z"ed<ed=edJ         d?d fdK            Z#eed<ed=edJ         d?d fdL                        Z$ed=edJ         d?d fdM            Z$ e dN          d=edJ         d?d fdO            Z$ed<ed=edJ         d?d fdP            Z%eed<ed=edJ         d?d fdQ                        Z&ed=edJ         d?d fdR            Z& e dS          d=edJ         d?d fdT            Z&ed=edU         d?e'd          fdV            Z(ed=edU         d?e'd          fdW            Z)ed(ed=edX         d?d fdY            Z*ed(ed=edX         d?d fdZ            Z+ed(ed=ed[         d?d fd\            Z,ed(ed=ed[         d?d fd]            Z- G d^ d_e.d                    Z/e0d`             Z1e	e
eeeeeeeeda
Z2dbS )cAuthorizationa  
    When an [issued card](https://docs.stripe.com/issuing) is used to make a purchase, an Issuing `Authorization`
    object is created. [Authorizations](https://docs.stripe.com/issuing/purchases/authorizations) must be approved for the
    purchase to be completed successfully.

    Related guide: [Issued card authorizations](https://docs.stripe.com/issuing/purchases/authorizations)
    zissuing.authorizationOBJECT_NAMEc                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )Authorization.AmountDetailsatm_feecashback_amountN__name__
__module____qualname__r   int__annotations__     a/var/www/app.qaans.com/backend/venv/lib/python3.11/site-packages/stripe/issuing/_authorization.pyAmountDetailsr*   I   s=         #	 "#&&&	 	r4   r6   c                       e Zd ZU  G d de          Z G d de          Zee         ed<   	 eed                  ed<   	 ee         ed<   	 eed	                  ed
<   	 eedZ	dS )Authorization.Fleetc                       e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )(Authorization.Fleet.CardholderPromptDataalphanumeric_id	driver_idodometerunspecified_iduser_idvehicle_numberN)r.   r/   r0   r   strr2   r1   r3   r4   r5   CardholderPromptDatar:   T   s         %c]***  }$$$ sm### %SM))) c]""" %SM))) r4   rB   c                       e Zd ZU  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
Z	dS )%Authorization.Fleet.ReportedBreakdownc                   &    e Zd ZU ee         ed<   dS )*Authorization.Fleet.ReportedBreakdown.Fuelgross_amount_decimalNr.   r/   r0   r   rA   r2   r3   r4   r5   FuelrF   o   &         &.sm333 r4   rI   c                   &    e Zd ZU ee         ed<   dS )-Authorization.Fleet.ReportedBreakdown.NonFuelrG   NrH   r3   r4   r5   NonFuelrL   u   rJ   r4   rM   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS ))Authorization.Fleet.ReportedBreakdown.Taxlocal_amount_decimalnational_amount_decimalNrH   r3   r4   r5   TaxrO   {   s=         &.sm333 *2#666 r4   rR   fuelnon_fueltax)rS   rT   rU   N)
r.   r/   r0   r   rI   rM   rR   r   r2   _inner_class_typesr3   r4   r5   ReportedBreakdownrD   n   s             |       ,       l    4.    w'''' # #" "r4   rW   cardholder_prompt_data)fuel_and_non_fuel_purchasefuel_purchasenon_fuel_purchasepurchase_typereported_breakdown)full_servicenon_fuel_transactionself_serviceservice_type)rX   r]   N)
r.   r/   r0   r   rB   rW   r   r2   r   rV   r3   r4   r5   Fleetr8   S   s         	 	 	 	 	< 	 	 	4'	 '	 '	 '	 '	 '	 '	 '	R !))= >>>>	  %
 	
 	
 	
	 %%67777	 JK
 	
 	
 	
	 ';"3
 
r4   rb   c                   b    e Zd ZU ed         ed<   	 ed         ed<   	 eed                  ed<   dS )Authorization.FraudChallengesmschannel)expiredpendingrejectedundeliverableverifiedstatus)no_phone_numberunsupported_phone_numberundeliverable_reasonN)r.   r/   r0   r   r2   r   r3   r4   r5   FraudChallengerd      sn         	 I
 	
 	
 	
	 'AB
 	
 	
 	
	 	r4   rp   c                       e Zd ZU ee         ed<   	 ee         ed<   	 eed                  ed<   	 eed                  ed<   	 ee         ed<   dS )	Authorization.Fuelindustry_product_codequantity_decimal)dieselotherunleaded_plusunleaded_regularunleaded_supertype)charging_minuteimperial_gallonkilogramkilowatt_hourliterrv   pound	us_gallonunitunit_cost_decimalN)r.   r/   r0   r   rA   r2   r   r3   r4   r5   rI   rr      s         '},,,	 #3-'''	 "
 	
 	
 	
	 	
 	
 	
 	
	 $C=(((	 	r4   rI   c                       e Zd ZU eed<   	 eed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   	 eed<   	 ee         ed<   	 ee         ed<   	 ee         ed	<   	 ee         ed
<   	 ee         ed<   dS )Authorization.MerchantDatacategorycategory_codecitycountryname
network_idpostal_codestatetax_idterminal_idurlN)r.   r/   r0   rA   r2   r   r3   r4   r5   MerchantDatar      s         	 	 sm	 #	 sm	 	 c]"""	 }	 	 c]"""	 c]	 	r4   r   c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )Authorization.NetworkDataacquiring_institution_idsystem_trace_audit_numbertransaction_idNrH   r3   r4   r5   NetworkDatar     sT         "*3-///	 $,C=000	 !%%%	 	r4   r   c                       e Zd ZU  G d de          Zeed<   	 ee         ed<   	 eed<   	 e	ed<   	 eed<   	 eed<   	 ee         ed	<   	 deiZ
d
S )Authorization.PendingRequestc                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )*Authorization.PendingRequest.AmountDetailsr+   r,   Nr-   r3   r4   r5   r6   r   ,  =         c]""" &c]*** r4   r6   amountamount_detailscurrencyis_amount_controllablemerchant_amountmerchant_currencynetwork_risk_scoreN)r.   r/   r0   r   r6   r1   r2   r   rA   boolrV   r3   r4   r5   PendingRequestr   +  s         	 	 	 	 	L 	 	 	 	 !////	 	 !%$$$	 	 	 %SM)))	 />r4   r   c                      e Zd ZU  G d de          Zeed<   	 ee         ed<   	 eed<   	 ee	         ed<   	 eed<   	 e	ed<   	 eed	<   	 e	ed
<   	 ee         ed<   	 e
d         ed<   	 ee	         ed<   	 ee         ed<   	 deiZdS )Authorization.RequestHistoryc                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )*Authorization.RequestHistory.AmountDetailsr+   r,   Nr-   r3   r4   r5   r6   r   U  r   r4   r6   r   r   approvedauthorization_codecreatedr   r   r   r   )account_disabledcard_activecard_canceledcard_expiredcard_inactivecardholder_blockedcardholder_inactive cardholder_verification_requiredinsecure_authorization_methodinsufficient_fundsnetwork_fallbacknot_allowedpin_blockedspending_controlssuspected_fraudverification_failedwebhook_approvedwebhook_declinedwebhook_errorwebhook_timeoutreasonreason_messagerequested_atN)r.   r/   r0   r   r6   r1   r2   r   r   rA   r   rV   r3   r4   r5   RequestHistoryr   T  sF        	 	 	 	 	L 	 	 	 	 !////	 	 %SM)))	 	 	 	 	 %SM)))	 
 	
 	
 	
,	 !%%%	 sm###	 />r4   r   c                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )Authorization.Treasuryreceived_creditsreceived_debitstransactionN)r.   r/   r0   r   rA   r2   r   r3   r4   r5   Treasuryr     sT         s)###	 c"""	 c]"""	 	r4   r   c                       e Zd ZU  G d de          Z G d de          Zed         ed<   	 ed         ed<   	 ee         ed<   	 ed         ed	<   	 ed         ed
<   	 ee	         ed<   	 ee         ed<   	 eedZ
dS )Authorization.VerificationDatac                   >    e Zd ZU ed         ed<   	 ed         ed<   dS )6Authorization.VerificationData.AuthenticationExemption)acquirerissuer
claimed_by)low_value_transactiontransaction_risk_analysisunknownrz   Nr.   r/   r0   r   r2   r3   r4   r5   AuthenticationExemptionr     sI          45555 O    r4   r   c                   &    e Zd ZU ed         ed<   dS )+Authorization.VerificationData.ThreeDSecure)attempt_acknowledgedauthenticatedfailedrequiredresultNr   r3   r4   r5   ThreeDSecurer     s0         M    r4   r   )matchmismatchnot_providedaddress_line1_checkaddress_postal_code_checkauthentication_exemption	cvc_checkexpiry_checkr   three_d_secure)r   r   N)r.   r/   r0   r   r   r   r   r2   r   rA   rV   r3   r4   r5   VerificationDatar     s(        
	 
	 
	 
	 
	l 
	 
	 
		 	 	 	 	< 	 	 	 %%HIIII	 $++N#OOOO	 #++B"CCCC	 >????	 ABBBB	 c]"""	 !....	 )@*
 
r4   r   r   r   r   )chipcontactlesskeyed_inonlineswipeauthorization_methodr   balance_transactionsr   cardr   
cardholderr   r   fleetfraud_challengesrS   idlivemoder   r   merchant_datametadatanetwork_dataobjectpending_requestrequest_history)closedrg   rh   reversedrl   r   tokenr   transactionstreasuryverification_dataverified_by_fraud_challengewalletauthorizationparamsr   returnc                     t          d|                     dd                    t          |                    |                    S )  
        [Deprecated] Approves a pending Issuing Authorization object. This request should be made within the timeout window of the [real-time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow.
        This method is deprecated. Instead, [respond directly to the webhook request to approve an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).
        r'   post2/v1/issuing/authorizations/{authorization}/approver  r  r   _static_requestformatr
   clsr  r  s      r5   _cls_approvezAuthorization._cls_approve[  ]     DKK"-m"<"< L       	
 	
 		
r4   c                     dS r  Nr3   r  r  s     r5   approvezAuthorization.approven  	     	r4   c                     dS r  r3   selfr  s     r5   r  zAuthorization.approvey  	     	r4   r  c                     t          d|                     dd                    t          |                     d                              |                    S )r  r'   r	  r
  r   r  r  r   _requestr  r
   getr  s     r5   r  zAuthorization.approve  e     MMDKK"-dhhtnn"="= L      	
 	
 		
r4   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r'   r	  r
  r  r  Nr   _static_request_asyncr  r
   r  s      r5   _cls_approve_asyncz Authorization._cls_approve_async         ++DKK"-m"<"< L    ,        	
 	
 		
r4   c                 
   K   dS r  r3   r  s     r5   approve_asynczAuthorization.approve_async         	r4   c                 
   K   dS r  r3   r  s     r5   r(  zAuthorization.approve_async         	r4   r%  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r  r'   r	  r
  r   r  r  Nr   _request_asyncr  r
   r   r  s     r5   r(  zAuthorization.approve_async         %%DKK"-dhhtnn"="= L    &        	
 	
 		
r4   r   c                     t          d|                     dd                    t          |                    |                    S )  
        [Deprecated] Declines a pending Issuing Authorization object. This request should be made within the timeout window of the [real time authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations) flow.
        This method is deprecated. Instead, [respond directly to the webhook request to decline an authorization](https://docs.stripe.com/docs/issuing/controls/real-time-authorizations#authorization-handling).
        r'   r	  2/v1/issuing/authorizations/{authorization}/decliner  r  r  r  s      r5   _cls_declinezAuthorization._cls_decline  r  r4   c                     dS r1  Nr3   r  s     r5   declinezAuthorization.decline  r  r4   c                     dS r5  r3   r  s     r5   r6  zAuthorization.decline  r  r4   r3  c                     t          d|                     dd                    t          |                     d                              |                    S )r1  r'   r	  r2  r   r  r  r  r  s     r5   r6  zAuthorization.decline  r!  r4   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r1  r'   r	  r2  r  r  Nr#  r  s      r5   _cls_decline_asyncz Authorization._cls_decline_async  r&  r4   c                 
   K   dS r5  r3   r  s     r5   decline_asynczAuthorization.decline_async  r)  r4   c                 
   K   dS r5  r3   r  s     r5   r<  zAuthorization.decline_async*  r+  r4   r:  c                    K   t          d|                     dd                    t          |                     d                              |           d{V           S )r1  r'   r	  r2  r   r  r  Nr-  r  s     r5   r<  zAuthorization.decline_async4  r/  r4   r!   c                     |                      d|                                 |          }t          |t                    s$t	          dt          |          j        z            |S )
        Returns a list of Issuing Authorization objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
        r   r  %Expected list object from API, got %s)r  	class_url
isinstancer   	TypeErrorrz   r.   r  r  r   s      r5   listzAuthorization.listG  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r4   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )r@  r   r  NrA  )r$  rB  rC  r   rD  rz   r.   rE  s      r5   
list_asynczAuthorization.list_async[  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r4   r"   c                     |                                  dt          |          }t          d|                     d||                    S )
        Updates the specified Issuing Authorization object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        /r'   r	  r  )rB  r
   r   r  r  r   r  r   s       r5   modifyzAuthorization.modifyo  sX     +b///:    
 
 	
r4   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )rJ  rK  r'   r	  r  N)rB  r
   r   r$  rL  s       r5   modify_asynczAuthorization.modify_async  sz       +b///:++ ,        
 
 	
r4   r$   c                 @     | |fi |}|                                  |S )<
        Retrieves an Issuing Authorization object.
        )refreshr  r   r  instances       r5   retrievezAuthorization.retrieve  s2     3r$$V$$r4   c                 P   K    | |fi |}|                                  d{V  |S )rQ  N)refresh_asyncrS  s       r5   retrieve_asynczAuthorization.retrieve_async  sH       3r$$V$$$$&&&&&&&&&r4   c                   
   e Zd ZU ed         ed<   ededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd	            Z ed
          ded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed          ded         ddfd            Zeded         ddfd            Zeded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed          ded         ddfd            Zededed         ddfd            Ze	e
deded         ddfd                        Ze	ded         ddfd            Z ed          ded         ddfd            Zededed         ddfd             Ze	e
deded         ddfd!                        Ze	ded         ddfd"            Z ed#          ded         ddfd$            Zededed         ddfd%            Ze	e
deded         ddfd&                        Ze	ded         ddfd'            Z ed(          ded         ddfd)            Zededed*         ddfd+            Ze	e
deded*         ddfd,                        Ze	ded*         ddfd-            Z ed.          ded*         ddfd/            Zededed*         ddfd0            Ze	e
deded*         ddfd1                        Ze	ded*         ddfd2            Z ed3          ded*         ddfd4            Zededed5         ddfd6            Ze	e
deded5         ddfd7                        Ze	ded5         ddfd8            Z ed9          ded5         ddfd:            Zededed5         ddfd;            Ze	e
deded5         ddfd<                        Z e	ded5         ddfd=            Z  ed>          ded5         ddfd?            Z ededed@         ddfdA            Z!e	e
deded@         ddfdB                        Z"e	ded@         ddfdC            Z" edD          ded@         ddfdE            Z"ededed@         ddfdF            Z#e	e
deded@         ddfdG                        Z$e	ded@         ddfdH            Z$ edI          ded@         ddfdJ            Z$dKS )LAuthorization.TestHelpersr'   _resource_clsr  r  r   r  c                     t          d|                     dd                    t          |                    |                    S )<
            Capture a test-mode authorization.
            r'   r	  ?/v1/test_helpers/issuing/authorizations/{authorization}/capturer  r  r  r  s      r5   _cls_capturez&Authorization.TestHelpers._cls_capture  ]     ##U\\&1-&@&@ ]   " $  	 	 	r4   c                     dS r]  Nr3   r  s     r5   capturez!Authorization.TestHelpers.capture  	     Cr4   c                     dS rb  r3   r  s     r5   rc  z!Authorization.TestHelpers.capture  	     Cr4   r_  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r]  r'   r	  r^  r   r  r  r   resourcer  r  r
   r   r  s     r5   rc  z!Authorization.TestHelpers.capture  o     &&U\\&1$-2C2CD2I2I&J&J ]   " '  	 	 	r4   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r]  r'   r	  r^  r  r  Nr#  r  s      r5   _cls_capture_asyncz,Authorization.TestHelpers._cls_capture_async         //U\\&1-&@&@ ]   " 0        	 	 	r4   c                 
   K   dS rb  r3   r  s     r5   capture_asyncz'Authorization.TestHelpers.capture_async         Cr4   c                 
   K   dS rb  r3   r  s     r5   ro  z'Authorization.TestHelpers.capture_async         Cr4   rl  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r]  r'   r	  r^  r   r  r  Nr   ri  r.  r  r
   r   r  s     r5   ro  z'Authorization.TestHelpers.capture_async
         m22U\\&1$-2C2CD2I2I&J&J ]   " 3        	 	 	r4   r   c                 N    t          d|                     dd|                    S );
            Create a test-mode authorization.
            r'   r	  '/v1/test_helpers/issuing/authorizationsr  )r   r  r  r  s     r5   createz Authorization.TestHelpers.create  s:     ##=! $    r4   c                 ^   K   t          d|                     dd|           d{V           S )rw  r'   r	  rx  r  N)r   r$  ry  s     r5   create_asyncz&Authorization.TestHelpers.create_async,  s\       //=! 0          r4   r   c                     t          d|                     dd                    t          |                    |                    S );
            Expire a test-mode Authorization.
            r'   r	  >/v1/test_helpers/issuing/authorizations/{authorization}/expirer  r  r  r  s      r5   _cls_expirez%Authorization.TestHelpers._cls_expire<  s]     ##T[[&1-&@&@ \   " $  	 	 	r4   c                     dS r~  Nr3   r  s     r5   expirez Authorization.TestHelpers.expireP  rd  r4   c                     dS r  r3   r  s     r5   r  z Authorization.TestHelpers.expireZ  rf  r4   r  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r~  r'   r	  r  r   r  r  rh  r  s     r5   r  z Authorization.TestHelpers.expirec  so     &&T[[&1$-2C2CD2I2I&J&J \   " '  	 	 	r4   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r~  r'   r	  r  r  r  Nr#  r  s      r5   _cls_expire_asyncz+Authorization.TestHelpers._cls_expire_asyncu  s       //T[[&1-&@&@ \   " 0        	 	 	r4   c                 
   K   dS r  r3   r  s     r5   expire_asyncz&Authorization.TestHelpers.expire_async  rp  r4   c                 
   K   dS r  r3   r  s     r5   r  z&Authorization.TestHelpers.expire_async  rr  r4   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r~  r'   r	  r  r   r  r  Nrt  r  s     r5   r  z&Authorization.TestHelpers.expire_async  s       m22T[[&1$-2C2CD2I2I&J&J \   " 3        	 	 	r4   r   c                     t          d|                     dd                    t          |                    |                    S )
            Finalize the amount on an Authorization prior to capture, when the initial authorization was for an estimated amount.
            r'   r	  G/v1/test_helpers/issuing/authorizations/{authorization}/finalize_amountr  r  r  r  s      r5   _cls_finalize_amountz.Authorization.TestHelpers._cls_finalize_amount  s]     ##]dd&1-&@&@ e   " $  	 	 	r4   c                     dS r  Nr3   r  s     r5   finalize_amountz)Authorization.TestHelpers.finalize_amount  	     Cr4   c                     dS r  r3   r  s     r5   r  z)Authorization.TestHelpers.finalize_amount  rf  r4   r  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r  r'   r	  r  r   r  r  rh  r  s     r5   r  z)Authorization.TestHelpers.finalize_amount  so     &&]dd&1$-2C2CD2I2I&J&J e   " '  	 	 	r4   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_finalize_amount_asyncz4Authorization.TestHelpers._cls_finalize_amount_async  s       //]dd&1-&@&@ e   " 0        	 	 	r4   c                 
   K   dS r  r3   r  s     r5   finalize_amount_asyncz/Authorization.TestHelpers.finalize_amount_async         Cr4   c                 
   K   dS r  r3   r  s     r5   r  z/Authorization.TestHelpers.finalize_amount_async  rr  r4   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r  r'   r	  r  r   r  r  Nrt  r  s     r5   r  z/Authorization.TestHelpers.finalize_amount_async  s       m22]dd&1$-2C2CD2I2I&J&J e   " 3        	 	 	r4   r    c                     t          d|                     dd                    t          |                    |                    S )>
            Increment a test-mode Authorization.
            r'   r	  A/v1/test_helpers/issuing/authorizations/{authorization}/incrementr  r  r  r  s      r5   _cls_incrementz(Authorization.TestHelpers._cls_increment"  s]     ##W^^&1-&@&@ _   " $  	 	 	r4   c                     dS r  Nr3   r  s     r5   	incrementz#Authorization.TestHelpers.increment6  r  r4   c                     dS r  r3   r  s     r5   r  z#Authorization.TestHelpers.incrementA  rf  r4   r  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r  r'   r	  r  r   r  r  rh  r  s     r5   r  z#Authorization.TestHelpers.incrementJ  so     &&W^^&1$-2C2CD2I2I&J&J _   " '  	 	 	r4   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_increment_asyncz.Authorization.TestHelpers._cls_increment_async\  s       //W^^&1-&@&@ _   " 0        	 	 	r4   c                 
   K   dS r  r3   r  s     r5   increment_asyncz)Authorization.TestHelpers.increment_asyncp  r  r4   c                 
   K   dS r  r3   r  s     r5   r  z)Authorization.TestHelpers.increment_async{  rr  r4   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r  r'   r	  r  r   r  r  Nrt  r  s     r5   r  z)Authorization.TestHelpers.increment_async  s       m22W^^&1$-2C2CD2I2I&J&J _   " 3        	 	 	r4   r#   c                     t          d|                     dd                    t          |                    |                    S )
            Respond to a fraud challenge on a testmode Issuing authorization, simulating either a confirmation of fraud or a correction of legitimacy.
            r'   r	  P/v1/test_helpers/issuing/authorizations/{authorization}/fraud_challenges/respondr  r  r  r  s      r5   _cls_respondz&Authorization.TestHelpers._cls_respond  s]     ##fmm&1-&@&@ n   " $  	 	 	r4   c                     dS r  Nr3   r  s     r5   respondz!Authorization.TestHelpers.respond  rd  r4   c                     dS r  r3   r  s     r5   r  z!Authorization.TestHelpers.respond  rf  r4   r  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r  r'   r	  r  r   r  r  rh  r  s     r5   r  z!Authorization.TestHelpers.respond  so     &&fmm&1$-2C2CD2I2I&J&J n   " '  	 	 	r4   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_respond_asyncz,Authorization.TestHelpers._cls_respond_async  s       //fmm&1-&@&@ n   " 0        	 	 	r4   c                 
   K   dS r  r3   r  s     r5   respond_asyncz'Authorization.TestHelpers.respond_async  rp  r4   c                 
   K   dS r  r3   r  s     r5   r  z'Authorization.TestHelpers.respond_async  rr  r4   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r  r'   r	  r  r   r  r  Nrt  r  s     r5   r  z'Authorization.TestHelpers.respond_async  s       m22fmm&1$-2C2CD2I2I&J&J n   " 3        	 	 	r4   r%   c                     t          d|                     dd                    t          |                    |                    S )<
            Reverse a test-mode Authorization.
            r'   r	  ?/v1/test_helpers/issuing/authorizations/{authorization}/reverser  r  r  r  s      r5   _cls_reversez&Authorization.TestHelpers._cls_reverse  r`  r4   c                     dS r  Nr3   r  s     r5   reversez!Authorization.TestHelpers.reverse  rd  r4   c                     dS r  r3   r  s     r5   r  z!Authorization.TestHelpers.reverse&  rf  r4   r  c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r  r'   r	  r  r   r  r  rh  r  s     r5   r  z!Authorization.TestHelpers.reverse/  rj  r4   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_reverse_asyncz,Authorization.TestHelpers._cls_reverse_asyncA  rm  r4   c                 
   K   dS r  r3   r  s     r5   reverse_asyncz'Authorization.TestHelpers.reverse_asyncU  rp  r4   c                 
   K   dS r  r3   r  s     r5   r  z'Authorization.TestHelpers.reverse_async_  rr  r4   r  c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r  r'   r	  r  r   r  r  Nrt  r  s     r5   r  z'Authorization.TestHelpers.reverse_asynch  ru  r4   N)%r.   r/   r0   r   r2   classmethodrA   r   r_  r   staticmethodrc  r	   rl  ro  rz  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r3   r4   r5   TestHelpersrZ    s        O,,,,			 9:	 		 	 	 
	& 
			*01M*N		 	 	 
 
	 
	"#?@		 	 	 
	 
	n	-	-	"#?@		 	 	 
.	-	" 
		 9:	 		 	 	 
	& 
			*01M*N		 	 	 
 
	 
	"#?@		 	 	 
	 
	2	3	3	"#?@		 	 	 
4	3	" 
	!"=>		 	 	 
	 
	!"=>		 	 	 
	 
		 89	 		 	 	 
	& 
			*01L*M		 	 	 
 
	 
	"#>?		 	 	 
	 
	m	,	,	"#>?		 	 	 
-	,	" 
		 89	 		 	 	 
	& 
			*01L*M		 	 	 
 
	 
	"#>?		 	 	 
	 
	1	2	2	"#>?		 	 	 
3	2	" 
		 @A	 		 	 	 
	& 
			@A	 	 	 	 
 
	 
	"#FG		 	 	 
	 
	4	5	5	"#FG		 	 	 
6	5	" 
		 @A	 		 	 	 
	& 
			@A	 	 	 	 
 
	 
	"#FG		 	 	 
	 
	:	;	;	"#FG		 	 	 
<	;	" 
		 ;<	 		 	 	 
	& 
			;<	 	 	 	 
 
	 
	"#AB		 	 	 
	 
	.	/	/	"#AB		 	 	 
0	/	" 
		 ;<	 		 	 	 
	& 
			;<	 	 	 	 
 
	 
	"#AB		 	 	 
	 
	4	5	5	"#AB		 	 	 
6	5	" 
		 9:	 		 	 	 
	& 
			*01M*N		 	 	 
 
	 
	"#?@		 	 	 
	 
	n	-	-	"#?@		 	 	 
.	-	" 
		 9:	 		 	 	 
	& 
			*01M*N		 	 	 
 
	 
	"#?@		 	 	 
	 
	2	3	3	"#?@		 	 	 
4	3	" 
		 9:	 		 	 	 
	& 
			*01M*N		 	 	 
 
	 
	"#?@		 	 	 
	 
	n	-	-	"#?@		 	 	 
.	-	" 
		 9:	 		 	 	 
	& 
			*01M*N		 	 	 
 
	 
	"#?@		 	 	 
	 
	2	3	3	"#?@		 	 	 
4	3	 	 	r4   r  c                 ,    |                      |           S )N)r  )r  s    r5   test_helperszAuthorization.test_helpersz  s    %%%r4   )
r   r   r   rS   r   r   r   r   r   r  N)3r.   r/   r0   __doc__r(   r   r   r2   r   r6   rb   rp   rI   r   r   r   r   r   r   r1   r   r   r   r   rA   r   r  r   r  r   r  r  r	   r%  r(  r3  r6  r:  r<  r   rF  rH  rM  rO  rU  rX  r   r  propertyr  rV   r3   r4   r5   r'   r'   9   s]
          	  '"9:;          _
 _
 _
 _
 _
 _
 _
 _
B       $' ' ' ' '| ' ' 'R, , , , ,| , , ,\    l   '? '? '? '? '? '? '? '?RP? P? P? P? P? P? P? P?d    <   4
 4
 4
 4
 4
< 4
 4
 4
l KKK ]++++ NNN "<    34444 LLL 67777 LLL MMM E? tN34444 4. 	GGG NNN    38n ;'''' +,,,, n---- .)))) >???? OG,---- }%%%% x     ('''!)$/// SM 

+12N+O
	
 
 
 [
$ &,-I&J	   \ X ;<	   X .))
;<
	
 
 
 *)
$ 

+12N+O
	
 
 
 [
$ &,-I&J	   \ X ;<	   X .//
;<
	
 
 
 0/
$ 

+12N+O
	
 
 
 [
$ &,-I&J	   \ X ;<	   X .))
;<
	
 
 
 *)
$ 

+12N+O
	
 
 
 [
$ &,-I&J	   \ X ;<	   X .//
;<
	
 
 
 0/
$ 78	O	$   [& 78	O	$   [& 

 &'B C
	
 
 
 [
  

 &'B C
	
 
 
 [
   &'D E	   [  &'D E	   [Q Q Q Q Q,_= Q Q Qf & & X& (*%#))- r4   r'   N)@stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._stripe_objectr   stripe._test_helpersr   stripe._updateable_api_resourcer   stripe._utilr	   r
   typingr   r   r   r   r   r   typing_extensionsr   r   r   r   stripe._balance_transactionr   stripe.issuing._cardr   stripe.issuing._cardholderr   stripe.issuing._tokenr   stripe.issuing._transactionr   3stripe.params.issuing._authorization_approve_paramsr   3stripe.params.issuing._authorization_capture_paramsr   2stripe.params.issuing._authorization_create_paramsr   3stripe.params.issuing._authorization_decline_paramsr   2stripe.params.issuing._authorization_expire_paramsr   ;stripe.params.issuing._authorization_finalize_amount_paramsr   5stripe.params.issuing._authorization_increment_paramsr    0stripe.params.issuing._authorization_list_paramsr!   2stripe.params.issuing._authorization_modify_paramsr"   3stripe.params.issuing._authorization_respond_paramsr#   4stripe.params.issuing._authorization_retrieve_paramsr$   3stripe.params.issuing._authorization_reverse_paramsr%   r'   r  r[  r3   r4   r5   <module>r     s   5 4 4 4 4 4 * * * * * * = = = = = = . . . . . . 7 7 7 7 7 7 A A A A A A : : : : : : : : A A A A A A A A A A A A A A A A B B B B B B B B B B B B )>>>>>>))))))555555++++++777777                                                            
P P P P P(/*P P Pf2 +8  ' ' 'r4   