
    Aie                     n   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rHd 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  G d ded   ed         Z3e3e3jh                  _5        y)    )ExpandableField)
ListObject)ListableAPIResource)StripeObject)APIResourceTestHelpers)UpdateableAPIResource)class_method_variantsanitize_id)ClassVarDictListOptionalcastoverload)LiteralTypeUnpackTYPE_CHECKING)BalanceTransaction)Authorization)Card)
Cardholder)Dispute)Token)#TransactionCreateForceCaptureParams)%TransactionCreateUnlinkedRefundParams)TransactionListParams)TransactionModifyParams)TransactionRefundParams)TransactionRetrieveParamsc                   4   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eed<   	 ee	   ed<   	 eed      ed<   	 eed      ed<   	 ed   ed<   	 eed      ed<   	 eed<   	 eed<   	 eed      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d$<   	 eed%      ed&<   	 ee   ed'<   	 ed(   ed)<   	 eed*      ed+<   	 ed,ed-   d.ed    fd/       Zed,ed-   d.ed    fd0       Zeded,ed1   d.d fd2       Zeded,ed1   d.d fd3       Zeded,ed4   d.d fd5       Zeded,ed4   d.d fd6       Z G d7 d8ed          Zed9        Z e	e
eeed:Z!y;)<TransactionaO  
    Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving
    your Stripe account, such as a completed purchase or refund, is represented by an Issuing
    `Transaction` object.

    Related guide: [Issued card transactions](https://stripe.com/docs/issuing/purchases/transactions)
    zissuing.transactionOBJECT_NAMEc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)Transaction.AmountDetailsatm_feecashback_amountN__name__
__module____qualname__r   int__annotations__     N/var/www/html/immo/lib/python3.12/site-packages/stripe/issuing/_transaction.pyAmountDetailsr%   8   s"    #	 "#&	r/   r1   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)Transaction.MerchantDatacategorycategory_codecitycountryname
network_idpostal_codestatetax_idterminal_idurlN)r)   r*   r+   strr-   r   r.   r/   r0   MerchantDatar3   B   s    	 	 sm	 #	 sm	 	 c]"	 }	 	 c]"	 c]	r/   r@   c                   B    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   y)Transaction.NetworkDataauthorization_codeprocessing_datetransaction_idNr)   r*   r+   r   r?   r-   r.   r/   r0   NetworkDatarB   p   s3    $SM)	 "#&	 !%	r/   rG   c                       e Zd ZU  G d de      Z G d de      Z G d de      Z G d de      Z G d	 d
e      Ze	e   e
d<   	 e	e   e
d<   	 e	e   e
d<   	 e	e   e
d<   	 e	ee      e
d<   	 e	e   e
d<   	 eeeeedZy)Transaction.PurchaseDetailsc                       e Zd ZU  G d de      Z G d de      Zee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 eed	Z	y
)!Transaction.PurchaseDetails.Fleetc                   f    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<   y)6Transaction.PurchaseDetails.Fleet.CardholderPromptData	driver_idodometerunspecified_iduser_idvehicle_numberN)r)   r*   r+   r   r?   r-   r,   r.   r/   r0   CardholderPromptDatarM      sU    #C=( #3-' !)- "#& !)-r/   rS   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)3Transaction.PurchaseDetails.Fleet.ReportedBreakdownc                       e Zd ZU ee   ed<   y)8Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuelgross_amount_decimalNrF   r.   r/   r0   FuelrW          *23-7r/   rY   c                       e Zd ZU ee   ed<   y);Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuelrX   NrF   r.   r/   r0   NonFuelr\      rZ   r/   r]   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)7Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Taxlocal_amount_decimalnational_amount_decimalNrF   r.   r/   r0   Taxr_      s"    *23-7 .6c]:r/   rb   fuelnon_fueltax)rc   rd   re   N)
r)   r*   r+   r   rY   r]   rb   r   r-   _inner_class_typesr.   r/   r0   ReportedBreakdownrU      sm    < l ,  tn$ #7++ c]" ! '&"r/   rg   cardholder_prompt_datapurchase_typereported_breakdownservice_type)rh   rj   N)
r)   r*   r+   r   rS   rg   r   r-   r?   rf   r.   r/   r0   FleetrK      ss    | ,'L 'R %--A$BB $C=( !)): ;; #3-' +?&7"r/   rl   c                       e Zd ZU  G d de      Zee   ed<   	 ee   ed<   	 ee	   ed<   	 ee
e      ed<   	 ee   ed<   	 deiZy)	"Transaction.PurchaseDetails.Flightc                   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)*Transaction.PurchaseDetails.Flight.Segmentarrival_airport_codecarrierdeparture_airport_codeflight_numberservice_classstopover_allowedN)r)   r*   r+   r   r?   r-   boolr.   r/   r0   Segmentrp      sf    &.sm3 "#& )15  (},  (}, #+4.0r/   rx   departure_atpassenger_name
refundablesegmentstravel_agencyN)r)   r*   r+   r   rx   r   r,   r-   r?   rw   r   rf   r.   r/   r0   Flightrn      su    , 4 #3-' %SM) !& tG}-- $C=( #-g!6r/   r~   c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 eed<   	 eed<   	 eed<   y) Transaction.PurchaseDetails.Fuelindustry_product_codequantity_decimaltypeunitunit_cost_decimalNrF   r.   r/   r0   rY   r     sG    #+C=0 'sm+ I I  #"r/   rY   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)#Transaction.PurchaseDetails.Lodgingcheck_in_atnightsNr(   r.   r/   r0   Lodgingr     s"    !#& SM!r/   r   c                   T    e Zd ZU ee   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   y)#Transaction.PurchaseDetails.Receiptdescriptionquantitytotal	unit_costN)r)   r*   r+   r   r?   r-   floatr,   r.   r/   r0   Receiptr   %  sD    !#& uo% C=   }$r/   r   fleetflightrc   lodgingreceipt	reference)r   r   rc   r   r   N)r)   r*   r+   r   rl   r~   rY   r   r   r   r-   r   r?   rf   r.   r/   r0   PurchaseDetailsrI   ~   s    S	L S	j/	7\ /	7b	< 	,	l 		l 	$ 	   	 tn	 '""	 $w-((	 C= 	 
r/   r   c                   0    e Zd ZU ee   ed<   	 ee   ed<   y)Transaction.Treasuryreceived_creditreceived_debitNrF   r.   r/   r0   Treasuryr   W  s"    !#&	 !%	r/   r   amountamount_detailsr   authorizationr   balance_transactionr   cardr   
cardholdercreatedcurrencyr   disputeidlivemodemerchant_amountmerchant_currencymerchant_datametadatanetwork_dataobjectpurchase_detailsr   tokentreasury)capturerefundr   )	apple_pay
google_paysamsung_paywalletparamsr   returnc                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )
        Returns a list of Issuing Transaction objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
        getr   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorr   r)   clsr   results      r0   listzTransaction.list  s]     $$MMO % 

 &*-7<((* 
 r/   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r   r   r   Nr   )_static_request_asyncr   r   r   r   r   r)   r   s      r0   
list_asynczTransaction.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 Transaction object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
        /r"   postr   )r   r
   r   r   r   r   r   r>   s       r0   modifyzTransaction.modify  sD     +b/:   
 	
r/   c                    K   | j                         dt        |      }t        d| j                  d||       d{         S 7 w)r   r   r"   r   r   N)r   r
   r   r   r   s       r0   modify_asynczTransaction.modify_async  sR      +b/:++ ,  
 	
s   <A	A
	A	r    c                 8     | |fi |}|j                          |S ):
        Retrieves an Issuing Transaction object.
        )refreshr   r   r   instances       r0   retrievezTransaction.retrieve  s$     r$V$r/   c                 T   K    | |fi |}|j                          d{    |S 7 w)r   N)refresh_asyncr   s       r0   retrieve_asynczTransaction.retrieve_async  s3      r$V$$$&&& 	's   (&(c                      e Zd ZU ed   ed<   e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   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y)Transaction.TestHelpersr"   _resource_clsr   r   r   c                 >    t        d| j                  dd|            S )i
            Allows the user to capture an arbitrary amount, also known as a forced capture.
            r"   r   :/v1/test_helpers/issuing/transactions/create_force_capturer   r   r   r   r   s     r0   create_force_capturez,Transaction.TestHelpers.create_force_capture  s0     ##P! $  r/   c                 Z   K   t        d| j                  dd|       d{         S 7 w)r   r"   r   r   r   Nr   r   r   s     r0   create_force_capture_asyncz2Transaction.TestHelpers.create_force_capture_async*  s>      //P! 0      +)
	+r   c                 >    t        d| j                  dd|            S )i
            Allows the user to refund an arbitrary amount, also known as a unlinked refund.
            r"   r   </v1/test_helpers/issuing/transactions/create_unlinked_refundr   r   r   s     r0   create_unlinked_refundz.Transaction.TestHelpers.create_unlinked_refund:  s0     ##R! $  r/   c                 Z   K   t        d| j                  dd|       d{         S 7 w)r   r"   r   r   r   Nr   r   s     r0   create_unlinked_refund_asyncz4Transaction.TestHelpers.create_unlinked_refund_asyncJ  s>      //R! 0   r   transactionr   c                 p    t        d| j                  ddj                  t        |            |            S )9
            Refund a test-mode Transaction.
            r"   r   :/v1/test_helpers/issuing/transactions/{transaction}/refundr   r   )r   r   formatr
   r   r   r   s      r0   _cls_refundz#Transaction.TestHelpers._cls_refundZ  sK     ##PWW$/$< X  " $ 	 	r/   c                      yr   Nr.   r   r   s     r0   r   zTransaction.TestHelpers.refundl  s     r/   c                      yr   r.   selfr   s     r0   r   zTransaction.TestHelpers.refundv  s     r/   r   c                     t        d| j                  j                  ddj                  t	        | j                  j                  d                  |            S )r   r"   r   r   r   r   r   )r   resource_requestr   r
   r   r   s     r0   r   zTransaction.TestHelpers.refund  s^     &&PWW$/0A0A$0G$H X  " ' 	 	r/   c                    K   t        d| j                  ddj                  t        |            |       d{         S 7 w)r   r"   r   r   r   r   N)r   r   r   r
   r   s      r0   _cls_refund_asyncz)Transaction.TestHelpers._cls_refund_async  sY      //PWW$/$< X  " 0  	 	s   7AA
	Ac                    K   ywr   r.   r   s     r0   refund_asyncz$Transaction.TestHelpers.refund_async  s         c                    K   ywr   r.   r   s     r0   r  z$Transaction.TestHelpers.refund_async  s      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   N)r   r   _request_asyncr   r
   r   r   s     r0   r  z$Transaction.TestHelpers.refund_async  sl      mm22PWW$/0A0A$0G$H X  " 3  	 	s   AA'A%
	A'N)r)   r*   r+   r   r-   classmethodr   r   r   r   r   r?   r   r   staticmethodr   r	   r   r  r.   r/   r0   TestHelpersr     s>   M**		!"GH		 
	 
	!"GH		 
	 
	!"IJ		 
	 
	!"IJ		 
	 
	!	-34M-N		 
	" 
			(./H(I		 
 
	 
	"#<=		 
	 
m	,	"#<=		 
-	" 
	!	-34M-N		 
	" 
			(./H(I		 
 
	 
	"#<=		 
	 
1	2	"#<=		 
3	r/   r	  c                 $    | j                  |       S )N)r	  )r   s    r0   test_helperszTransaction.test_helpers  s    %%r/   )r   r   r   r   r   N)"r)   r*   r+   __doc__r#   r   r   r-   r   r1   r@   rG   r   r   r,   r   r   r?   rw   r   r  r   r   r   r   r   r   r   r   r   r	  propertyr  rf   r.   r/   r0   r"   r"   (   sH    	 '"789  ,| ,\l W
, W
r<  K ]++ OO<== "/2F"GHH &
!! 677 L M oi011 	G N    38n ;'' )** // OG,-- x   %
&& WEFGG 56	M	" & 56	M	" & 

 &'@ A
	
 
  

 &'@ A
	
 
   &'B C	   &'B C	 o,]; ob & & (%#+r/   r"   N)6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._authorizationr   stripe.issuing._cardr   stripe.issuing._cardholderr   stripe.issuing._disputer   stripe.issuing._tokenr   >stripe.params.issuing._transaction_create_force_capture_paramsr   @stripe.params.issuing._transaction_create_unlinked_refund_paramsr   .stripe.params.issuing._transaction_list_paramsr   0stripe.params.issuing._transaction_modify_paramsr   0stripe.params.issuing._transaction_refund_paramsr   2stripe.params.issuing._transaction_retrieve_paramsr    r"   r	  r   r.   r/   r0   <module>r#     s    5 * = . 7 A : A A B B>;)5/+
j
&-(j
Z )4   %r/   