
    kh+                       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|                  _?        y)    )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
Z2yb)cAuthorizationa  
    When an [issued card](https://stripe.com/docs/issuing) is used to make a purchase, an Issuing `Authorization`
    object is created. [Authorizations](https://stripe.com/docs/issuing/purchases/authorizations) must be approved for the
    purchase to be completed successfully.

    Related guide: [Issued card authorizations](https://stripe.com/docs/issuing/purchases/authorizations)
    zissuing.authorizationOBJECT_NAMEc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)Authorization.AmountDetailsatm_feecashback_amountN__name__
__module____qualname__r   int__annotations__     ]/var/www/api/v1/venv_fitandmore/lib/python3.12/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	y)Authorization.Fleetc                   x    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<   y)(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   sf    %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	y)%Authorization.Fleet.ReportedBreakdownc                       e Zd ZU ee   ed<   y)*Authorization.Fleet.ReportedBreakdown.Fuelgross_amount_decimalNr.   r/   r0   r   rA   r2   r3   r4   r5   FuelrF   o       &.sm3r4   rI   c                       e Zd ZU ee   ed<   y)-Authorization.Fleet.ReportedBreakdown.NonFuelrG   NrH   r3   r4   r5   NonFuelrL   u   rJ   r4   rM   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y))Authorization.Fleet.ReportedBreakdown.Taxlocal_amount_decimalnational_amount_decimalNrH   r3   r4   r5   TaxrO   {   s"    &.sm3 *2#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   sm    | , 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	 JK
 	
	 ';"3
r4   rb   c                   H    e Zd ZU ed   ed<   	 ed   ed<   	 eed      ed<   y)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      sE    	 I
 	
	 'AB
 	
	r4   rp   c                   r    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<   y)	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      su    '},	 #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<   y)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                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)Authorization.NetworkDataacquiring_institution_idsystem_trace_audit_numbertransaction_idNrH   r3   r4   r5   NetworkDatar     s3    "*3-/	 $,C=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
y
)Authorization.PendingRequestc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)*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y)Authorization.RequestHistoryc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)*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  s    	L 	 	 !//	 	 %SM)	 	 	 	 	 %SM)	 
 	
,	 !%	 sm#	 />r4   r   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)Authorization.Treasuryreceived_creditsreceived_debitstransactionN)r.   r/   r0   r   rA   r2   r   r3   r4   r5   Treasuryr     s3    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
y)Authorization.VerificationDatac                   0    e Zd ZU ed   ed<   	 ed   ed<   y)6Authorization.VerificationData.AuthenticationExemption)acquirerissuer
claimed_by)low_value_transactiontransaction_risk_analysisunknownrz   Nr.   r/   r0   r   r2   r3   r4   r5   AuthenticationExemptionr     s*     455 O r4   r   c                       e Zd ZU ed   ed<   y)+Authorization.VerificationData.ThreeDSecure)attempt_acknowledgedauthenticatedfailedrequiredresultNr   r3   r4   r5   ThreeDSecurer     s    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	 $++N#OO	 #++B"CC	 >??	 A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                 p    t        d| j                  ddj                  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[  K     DKK"-m"< L     	
 		
r4   c                      yr  Nr3   r  r  s     r5   approvezAuthorization.approven       	r4   c                      yr  r3   selfr  s     r5   r  zAuthorization.approvey       	r4   r  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r  r'   r	  r
  r   r  r  r   _requestr  r
   getr  s     r5   r  zAuthorization.approve  Q     MMDKK"-dhhtn"= L    	
 		
r4   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r'   r	  r
  r  r  Nr   _static_request_asyncr  r
   r  s      r5   _cls_approve_asyncz Authorization._cls_approve_async  Y      ++DKK"-m"< L   ,  	
 		
   7AA
	Ac                    K   ywr  r3   r  s     r5   approve_asynczAuthorization.approve_async        	   c                    K   ywr  r3   r  s     r5   r)  zAuthorization.approve_async        	r+  r%  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r  r'   r	  r
  r   r  r  Nr   _request_asyncr  r
   r   r  s     r5   r)  zAuthorization.approve_async  a      %%DKK"-dhhtn"= L   &  	
 		
   AAA
		Ar   c                 p    t        d| j                  ddj                  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                      yr4  Nr3   r  s     r5   declinezAuthorization.decline  r  r4   c                      yr8  r3   r  s     r5   r9  zAuthorization.decline  r  r4   r6  c                     t        d| j                  ddj                  t        | j	                  d                  |            S )r4  r'   r	  r5  r   r  r  r  r  s     r5   r9  zAuthorization.decline  r!  r4   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r4  r'   r	  r5  r  r  Nr#  r  s      r5   _cls_decline_asyncz Authorization._cls_decline_async  r&  r'  c                    K   ywr8  r3   r  s     r5   decline_asynczAuthorization.decline_async  r*  r+  c                    K   ywr8  r3   r  s     r5   r?  zAuthorization.decline_async*  r-  r+  r=  c                    K   t        d| j                  ddj                  t        | j	                  d                  |       d{         S 7 w)r4  r'   r	  r5  r   r  r  Nr/  r  s     r5   r?  zAuthorization.decline_async4  r1  r2  r!   c                     | j                  d| j                         |      }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  s]     $$MMO % 

 &*-7<((* 
 r4   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)rC  r   r  NrD  )r$  rE  rF  r   rG  rz   r.   rH  s      r5   
list_asynczAuthorization.list_async[  sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r"   c                 z    | j                         dt        |      }t        d| j                  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  )rE  r
   r   r  r  r   r  r   s       r5   modifyzAuthorization.modifyo  sD     +b/:   
 	
r4   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)rM  rN  r'   r	  r  N)rE  r
   r   r$  rO  s       r5   modify_asynczAuthorization.modify_async  sR      +b/:++ ,  
 	
s   <A	A
	A	r$   c                 8     | |fi |}|j                          |S )<
        Retrieves an Issuing Authorization object.
        )refreshr  r   r  instances       r5   retrievezAuthorization.retrieve  s$     r$V$r4   c                 T   K    | |fi |}|j                          d{    |S 7 w)rT  N)refresh_asyncrV  s       r5   retrieve_asynczAuthorization.retrieve_async  s3      r$V$$$&&& 	's   (&(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$yK)LAuthorization.TestHelpersr'   _resource_clsr  r  r   r  c                 p    t        d| j                  ddj                  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  K     ##U\\&1-&@ ]  " $ 	 	r4   c                      yr`  Nr3   r  s     r5   capturez!Authorization.TestHelpers.capture       r4   c                      yre  r3   r  s     r5   rf  z!Authorization.TestHelpers.capture       r4   rb  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r`  r'   r	  ra  r   r  r  r   resourcer  r  r
   r   r  s     r5   rf  z!Authorization.TestHelpers.capture  ^     &&U\\&1$--2C2CD2I&J ]  " ' 	 	r4   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r`  r'   r	  ra  r  r  Nr#  r  s      r5   _cls_capture_asyncz,Authorization.TestHelpers._cls_capture_async  Y      //U\\&1-&@ ]  " 0  	 	r'  c                    K   ywre  r3   r  s     r5   capture_asyncz'Authorization.TestHelpers.capture_async        r+  c                    K   ywre  r3   r  s     r5   rr  z'Authorization.TestHelpers.capture_async        r+  ro  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r`  r'   r	  ra  r   r  r  Nr   rl  r0  r  r
   r   r  s     r5   rr  z'Authorization.TestHelpers.capture_async
  l      mm22U\\&1$--2C2CD2I&J ]  " 3  	 	   AA'A%
	A'r   c                 >    t        d| j                  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  s0     ##=! $  r4   c                 Z   K   t        d| j                  dd|       d{         S 7 w)r{  r'   r	  r|  r  N)r   r$  r}  s     r5   create_asyncz&Authorization.TestHelpers.create_async,  s>      //=! 0   s   +)
	+r   c                 p    t        d| j                  ddj                  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<  sK     ##T[[&1-&@ \  " $ 	 	r4   c                      yr  Nr3   r  s     r5   expirez Authorization.TestHelpers.expireP  rg  r4   c                      yr  r3   r  s     r5   r  z Authorization.TestHelpers.expireZ  ri  r4   r  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r  r'   r	  r  r   r  r  rk  r  s     r5   r  z Authorization.TestHelpers.expirec  s^     &&T[[&1$--2C2CD2I&J \  " ' 	 	r4   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_expire_asyncz+Authorization.TestHelpers._cls_expire_asyncu  sY      //T[[&1-&@ \  " 0  	 	r'  c                    K   ywr  r3   r  s     r5   expire_asyncz&Authorization.TestHelpers.expire_async  rs  r+  c                    K   ywr  r3   r  s     r5   r  z&Authorization.TestHelpers.expire_async  ru  r+  r  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r  r'   r	  r  r   r  r  Nrw  r  s     r5   r  z&Authorization.TestHelpers.expire_async  sl      mm22T[[&1$--2C2CD2I&J \  " 3  	 	ry  r   c                 p    t        d| j                  ddj                  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  sK     ##]dd&1-&@ e  " $ 	 	r4   c                      yr  Nr3   r  s     r5   finalize_amountz)Authorization.TestHelpers.finalize_amount       r4   c                      yr  r3   r  s     r5   r  z)Authorization.TestHelpers.finalize_amount  ri  r4   r  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r  r'   r	  r  r   r  r  rk  r  s     r5   r  z)Authorization.TestHelpers.finalize_amount  s^     &&]dd&1$--2C2CD2I&J e  " ' 	 	r4   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_finalize_amount_asyncz4Authorization.TestHelpers._cls_finalize_amount_async  sY      //]dd&1-&@ e  " 0  	 	r'  c                    K   ywr  r3   r  s     r5   finalize_amount_asyncz/Authorization.TestHelpers.finalize_amount_async        r+  c                    K   ywr  r3   r  s     r5   r  z/Authorization.TestHelpers.finalize_amount_async  ru  r+  r  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r  r'   r	  r  r   r  r  Nrw  r  s     r5   r  z/Authorization.TestHelpers.finalize_amount_async  sl      mm22]dd&1$--2C2CD2I&J e  " 3  	 	ry  r    c                 p    t        d| j                  ddj                  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"  sK     ##W^^&1-&@ _  " $ 	 	r4   c                      yr  Nr3   r  s     r5   	incrementz#Authorization.TestHelpers.increment6  r  r4   c                      yr  r3   r  s     r5   r  z#Authorization.TestHelpers.incrementA  ri  r4   r  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r  r'   r	  r  r   r  r  rk  r  s     r5   r  z#Authorization.TestHelpers.incrementJ  s^     &&W^^&1$--2C2CD2I&J _  " ' 	 	r4   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_increment_asyncz.Authorization.TestHelpers._cls_increment_async\  sY      //W^^&1-&@ _  " 0  	 	r'  c                    K   ywr  r3   r  s     r5   increment_asyncz)Authorization.TestHelpers.increment_asyncp  r  r+  c                    K   ywr  r3   r  s     r5   r  z)Authorization.TestHelpers.increment_async{  ru  r+  r  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r  r'   r	  r  r   r  r  Nrw  r  s     r5   r  z)Authorization.TestHelpers.increment_async  sl      mm22W^^&1$--2C2CD2I&J _  " 3  	 	ry  r#   c                 p    t        d| j                  ddj                  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  sK     ##fmm&1-&@ n  " $ 	 	r4   c                      yr  Nr3   r  s     r5   respondz!Authorization.TestHelpers.respond  rg  r4   c                      yr  r3   r  s     r5   r  z!Authorization.TestHelpers.respond  ri  r4   r  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r  r'   r	  r  r   r  r  rk  r  s     r5   r  z!Authorization.TestHelpers.respond  s^     &&fmm&1$--2C2CD2I&J n  " ' 	 	r4   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_respond_asyncz,Authorization.TestHelpers._cls_respond_async  sY      //fmm&1-&@ n  " 0  	 	r'  c                    K   ywr  r3   r  s     r5   respond_asyncz'Authorization.TestHelpers.respond_async  rs  r+  c                    K   ywr  r3   r  s     r5   r  z'Authorization.TestHelpers.respond_async  ru  r+  r  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r  r'   r	  r  r   r  r  Nrw  r  s     r5   r  z'Authorization.TestHelpers.respond_async  sl      mm22fmm&1$--2C2CD2I&J n  " 3  	 	ry  r%   c                 p    t        d| j                  ddj                  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  rc  r4   c                      yr  Nr3   r  s     r5   reversez!Authorization.TestHelpers.reverse  rg  r4   c                      yr  r3   r  s     r5   r  z!Authorization.TestHelpers.reverse&  ri  r4   r  c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r  r'   r	  r  r   r  r  rk  r  s     r5   r  z!Authorization.TestHelpers.reverse/  rm  r4   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r  r'   r	  r  r  r  Nr#  r  s      r5   _cls_reverse_asyncz,Authorization.TestHelpers._cls_reverse_asyncA  rp  r'  c                    K   ywr  r3   r  s     r5   reverse_asyncz'Authorization.TestHelpers.reverse_asyncU  rs  r+  c                    K   ywr  r3   r  s     r5   r  z'Authorization.TestHelpers.reverse_async_  ru  r+  r  c                    K   t        d| j                  j                  ddj                  t	        | j                  j                  d                  |       d{         S 7 w)r  r'   r	  r  r   r  r  Nrw  r  s     r5   r  z'Authorization.TestHelpers.reverse_asynch  rx  ry  N)%r.   r/   r0   r   r2   classmethodrA   r   rb  r   staticmethodrf  r	   ro  rr  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r3   r4   r5   TestHelpersr]    s	   O,,			 9:	 		 
	& 
			*01M*N		 
 
	 
	"#?@		 
	 
n	-	"#?@		 
.	" 
		 9:	 		 
	& 
			*01M*N		 
 
	 
	"#?@		 
	 
2	3	"#?@		 
4	" 
	!"=>		 
	 
	!"=>		 
	 
		 89	 		 
	& 
			*01L*M		 
 
	 
	"#>?		 
	 
m	,	"#>?		 
-	" 
		 89	 		 
	& 
			*01L*M		 
 
	 
	"#>?		 
	 
1	2	"#>?		 
3	" 
		 @A	 		 
	& 
			@A	 	 
 
	 
	"#FG		 
	 
4	5	"#FG		 
6	" 
		 @A	 		 
	& 
			@A	 	 
 
	 
	"#FG		 
	 
:	;	"#FG		 
<	" 
		 ;<	 		 
	& 
			;<	 	 
 
	 
	"#AB		 
	 
.	/	"#AB		 
0	" 
		 ;<	 		 
	& 
			;<	 	 
 
	 
	"#AB		 
	 
4	5	"#AB		 
6	" 
		 9:	 		 
	& 
			*01M*N		 
 
	 
	"#?@		 
	 
n	-	"#?@		 
.	" 
		 9:	 		 
	& 
			*01M*N		 
 
	 
	"#?@		 
	 
2	3	"#?@		 
4	" 
		 9:	 		 
	& 
			*01M*N		 
 
	 
	"#?@		 
	 
n	-	"#?@		 
.	" 
		 9:	 		 
	& 
			*01M*N		 
 
	 
	"#?@		 
	 
2	3	"#?@		 
4	r4   r  c                 $    | j                  |       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)  r6  r9  r=  r?  r   rI  rK  rP  rR  rX  r[  r   r  propertyr  rV   r3   r4   r5   r'   r'   9   s    	  '"9:;  _
 _
B $'| 'R,| ,\l '? '?RP? P?d< 4
< 4
l K ]++ N "<  344 L 677 L M E? tN344 4. 	G N    38n ;'' +,, n-- .)) >?? OG,-- }%% x   ('!)$/ SM 

+12N+O
	
 
$ &,-I&J	   ;<	  .)
;<
	
 *
$ 

+12N+O
	
 
$ &,-I&J	   ;<	  ./
;<
	
 0
$ 

+12N+O
	
 
$ &,-I&J	   ;<	  .)
;<
	
 *
$ 

+12N+O
	
 
$ &,-I&J	   ;<	  ./
;<
	
 0
$ 78	O	$ & 78	O	$ & 

 &'B C
	
 
  

 &'B C
	
 
   &'D E	   &'D E	 Q,_= Qf & & (*%#))-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 * = . 7 A : A A B B>)5+7
P(/*Pf2 +8   'r4   