
    _je                     x   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                   Z3e3e3j4        _5        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)Authorization)Card)
Cardholder)Dispute)Token)#TransactionCreateForceCaptureParams)%TransactionCreateUnlinkedRefundParams)TransactionListParams)TransactionModifyParams)TransactionRefundParams)TransactionRetrieveParamsc                   >   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!d;S )<TransactionaO  
    Any use of an [issued card](https://docs.stripe.com/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://docs.stripe.com/issuing/purchases/transactions)
    zissuing.transactionOBJECT_NAMEc                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )Transaction.AmountDetailsatm_feecashback_amountN__name__
__module____qualname__r   int__annotations__     _/var/www/app.qaans.com/backend/venv/lib/python3.11/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<   dS )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                   V    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   dS )Transaction.NetworkDataauthorization_codeprocessing_datetransaction_idNr)   r*   r+   r   r?   r-   r.   r/   r0   NetworkDatarB   p   sT         $SM)))	 "#&&&	 !%%%	 	r/   rG   c                   H   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dS )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	d
S )!Transaction.PurchaseDetails.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<   dS )6Transaction.PurchaseDetails.Fleet.CardholderPromptData	driver_idodometerunspecified_iduser_idvehicle_numberN)r)   r*   r+   r   r?   r-   r,   r.   r/   r0   CardholderPromptDatarM      s         #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	dS )3Transaction.PurchaseDetails.Fleet.ReportedBreakdownc                   &    e Zd ZU ee         ed<   dS )8Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Fuelgross_amount_decimalNrF   r.   r/   r0   FuelrW      &         *23-777 r/   rY   c                   &    e Zd ZU ee         ed<   dS );Transaction.PurchaseDetails.Fleet.ReportedBreakdown.NonFuelrX   NrF   r.   r/   r0   NonFuelr\      rZ   r/   r]   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )7Transaction.PurchaseDetails.Fleet.ReportedBreakdown.Taxlocal_amount_decimalnational_amount_decimalNrF   r.   r/   r0   Taxr_      s=         *23-77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      s             <       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      s             |   ,' ' ' ' 'L ' ' 'R %--A$BB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dS )	"Transaction.PurchaseDetails.Flightc                       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 )*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      s         &.sm333 "#&&& )1555  (},,,  (},,, #+4.00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      s             ,   4 #3-''' %SM))) !&&& tG}---- $C=((( #-g!6r/   r~   c                   b    e Zd ZU ee         ed<   	 ee         ed<   	 eed<   	 eed<   	 eed<   dS ) Transaction.PurchaseDetails.Fuelindustry_product_codequantity_decimaltypeunitunit_cost_decimalNrF   r.   r/   r0   rY   r     sp         #+C=000 'sm+++ III III  #""" r/   rY   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )#Transaction.PurchaseDetails.Lodgingcheck_in_atnightsNr(   r.   r/   r0   Lodgingr     s=         !#&&& SM!!! r/   r   c                   n    e Zd ZU ee         ed<   	 ee         ed<   	 ee         ed<   	 ee         ed<   dS )#Transaction.PurchaseDetails.Receiptdescriptionquantitytotal	unit_costN)r)   r*   r+   r   r?   r-   floatr,   r.   r/   r0   Receiptr   %  sk         !#&&& 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	 S	 S	 S	 S	L S	 S	 S	j/	7 /	7 /	7 /	7 /	7\ /	7 /	7 /	7b	 	 	 	 	< 	 	 	,	 	 	 	 	l 	 	 		 	 	 	 	l 	 	 	$ 	     	 tn	 '""""	 $w-((((	 C=   	 
 
r/   r   c                   >    e Zd ZU ee         ed<   	 ee         ed<   dS )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                     |                      d|                                 |          }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  sp     $$MMOO % 
 

 &*-- 	7<<(*  
 r/   c                    K   |                      d|                                 |           d{V }t          |t                    s$t	          dt          |          j        z            |S )r   r   r   Nr   )_static_request_asyncr   r   r   r   r   r)   r   s      r0   
list_asynczTransaction.list_async  s       00MMOO 1 
 
 
 
 
 
 
 

 &*-- 	7<<(*  
 r/   r   c                     |                                  dt          |          }t          d|                     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  sX     +b///:    
 
 	
r/   c                    K   |                                  dt          |          }t          d|                     d||           d{V           S )r   r   r"   r   r   N)r   r
   r   r   r   s       r0   modify_asynczTransaction.modify_async  sz       +b///:++ ,        
 
 	
r/   r    c                 @     | |fi |}|                                  |S ):
        Retrieves an Issuing Transaction object.
        )refreshr   r   r   instances       r0   retrievezTransaction.retrieve  s2     3r$$V$$r/   c                 P   K    | |fi |}|                                  d{V  |S )r   N)refresh_asyncr   s       r0   retrieve_asynczTransaction.retrieve_async  sH       3r$$V$$$$&&&&&&&&&r/   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dS )Transaction.TestHelpersr"   _resource_clsr   r   r   c                 N    t          d|                     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  s:     ##P! $    r/   c                 ^   K   t          d|                     dd|           d{V           S )r   r"   r   r   r   Nr   r   r   s     r0   create_force_capture_asyncz2Transaction.TestHelpers.create_force_capture_async*  s\       //P! 0          r/   r   c                 N    t          d|                     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:  s:     ##R! $    r/   c                 ^   K   t          d|                     dd|           d{V           S )r   r"   r   r   r   Nr   r   s     r0   create_unlinked_refund_asyncz4Transaction.TestHelpers.create_unlinked_refund_asyncJ  s\       //R! 0          r/   transactionr   c                     t          d|                     dd                    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  s]     ##PWW$/$<$< X   " $  	 	 	r/   c                     dS r   Nr.   r   r   s     r0   r   zTransaction.TestHelpers.refundl  s	     Cr/   c                     dS r   r.   selfr   s     r0   r   zTransaction.TestHelpers.refundv  s	     Cr/   r   c                     t          d| j                            dd                    t	          | j                            d                              |                    S )r   r"   r   r   r   r   r   )r   resource_requestr   r
   r   r   s     r0   r   zTransaction.TestHelpers.refund  so     &&PWW$/0A0A$0G0G$H$H X   " '  	 	 	r/   c                    K   t          d|                     dd                    t          |                    |           d{V           S )r   r"   r   r   r   r   N)r   r   r   r
   r   s      r0   _cls_refund_asyncz)Transaction.TestHelpers._cls_refund_async  s       //PWW$/$<$< X   " 0        	 	 	r/   c                 
   K   dS r   r.   r   s     r0   refund_asyncz$Transaction.TestHelpers.refund_async  s       Cr/   c                 
   K   dS r   r.   r   s     r0   r  z$Transaction.TestHelpers.refund_async  s       Cr/   r   c                    K   t          d| j                            dd                    t	          | j                            d                              |           d{V           S )r   r"   r   r   r   r   r   N)r   r   _request_asyncr   r
   r   r   s     r0   r  z$Transaction.TestHelpers.refund_async  s       m22PWW$/0A0A$0G0G$H$H X   " 3        	 	 	r/   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	2	"#<=		 	 	 
3	2	 	 	r/   r  c                 ,    |                      |           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"   (   s          	 '"789          , , , , ,| , , ,\    l   W
 W
 W
 W
 W
, W
 W
 W
r    <    KKK ]++++ OO<==== "/2F"GHHHH &
!!!! 67777 LLL MMM oi01111 	GGG NNN    38n ;'''' )**** //// OG,---- x     %
&&&& WEFGGGG 56	M	"   [& 56	M	"   [& 

 &'@ A
	
 
 
 [
  

 &'@ A
	
 
 
 [
   &'B C	   [  &'B C	   [o o o o o,]; o o ob & & X& (%#+ 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 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//////++++++                              
j
 j
 j
 j
 j
&-(j
 j
 j
Z )4  % % %r/   