
    +h3                         d dl mZ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mZmZ d dlmZmZmZmZmZ d dlmZ erd d	lmZ  G d
 ded   ed         Zy)    )ListableAPIResourceUpdateableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)ClassVarListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)
quote_plus)Cardc                      e Zd ZU dZdZeed      ed<    G d de      Z	e
r, G d de      Z G d d	e      Z G d
 de      Z G d de      Zed   ed<   	 eed<   	 ee   ed<   	 eed<   	 ee   ed<   	 eed<   	 ed   ed<   	 ee	   ed<   eed<   	 ed   ed<   	 ed   ed<   	 eed      ed<   	 e	 	 	 d*dee   d ee   d!ee   d"ed#   d$ed    f
d%       Zeded"ed&   d$d fd'       Zeded"ed(   d$d fd)       Zde	iZy)+Tokena  
    An issuing token object is created when an issued card is added to a digital wallet. As a [card issuer](https://stripe.com/docs/issuing), you can [view and manage these tokens](https://stripe.com/docs/issuing/controls/token-management) through Stripe.
    zissuing.tokenOBJECT_NAMEc                       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ee   e	d	<   ee   e	d
<   e
d   e	d<   	 ee   e	d<   ee   e	d<   eeeedZy)Token.NetworkDatac                   ~    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d      ed<   y)	Token.NetworkData.Devicedevice_fingerprint
ip_addresslocationnamephone_number)otherphonewatchtypeN)__name__
__module____qualname__r   str__annotations__r        U/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/issuing/token.pyDevicer   !   sm     (- !% sm# 3- #3-' 7#<=>>r*   r,   c                   H    e Zd ZU ee   ed<   	 eed<   	 eed<   	 ee   ed<   y)Token.NetworkData.Mastercardcard_reference_idtoken_reference_idtoken_requestor_idtoken_requestor_nameN)r$   r%   r&   r   r'   r(   r)   r*   r+   
Mastercardr.   ;   s<    '}, !$# !$# #+3-/r*   r3   c                   B    e Zd ZU eed<   	 eed<   	 eed<   	 ee   ed<   y)Token.NetworkData.Visar/   r0   r1   token_risk_scoreN)r$   r%   r&   r'   r(   r   r)   r*   r+   Visar5   M   s8    "" !$# !$# 'sm+r*   r7   c                       e Zd ZU  G d de      Zee   ed<   	 ee   ed<   	 ee	d      ed<   	 ee   ed<   ee   ed<   	 ee   ed	<   	 ee   ed
<   	 ee
e	d         ed<   	 ee	d      ed<   	 ee   ed<   	 deiZy) Token.NetworkData.WalletProviderc                   $    e Zd ZU eed<   	 eed<   y)2Token.NetworkData.WalletProvider.CardholderAddressline1postal_codeN)r$   r%   r&   r'   r(   r)   r*   r+   CardholderAddressr;   `   s    
 ! r*   r>   
account_idaccount_trust_score)appmanualon_filer    card_number_sourcecardholder_addresscardholder_namedevice_trust_scorehashed_account_email_address)account_card_too_newaccount_recently_changedaccount_too_newaccount_too_new_since_launchadditional_devicedata_expireddefer_id_v_decisiondevice_recently_lostgood_activity_historyhas_suspended_tokens	high_riskinactive_accountlong_account_tenurelow_account_scorelow_device_scorelow_phone_number_scorenetwork_service_erroroutside_home_territory provisioning_cardholder_mismatch+provisioning_device_and_cardholder_mismatchprovisioning_device_mismatch#same_device_no_prior_authentication+same_device_successful_prior_authenticationsoftware_updatesuspicious_activitytoo_many_different_cardholderstoo_many_recent_attemptstoo_many_recent_tokensreason_codes)approvedeclinerequire_authsuggested_decisionsuggested_decision_versionN)r$   r%   r&   r   r>   r   r'   r(   intr   r
   _inner_class_typesr)   r*   r+   WalletProviderr9   _   s    L  !% "*#. !);<!  !)): ;;%c]* !)- +33-7 #2! !D !)<=!  )15 #78I!Jr*   rm   device
mastercardro   visar#   rq   wallet_provider)rn   ro   rq   rr   N)r$   r%   r&   r   r,   r3   r7   rm   r   r(   r   rl   r)   r*   r+   NetworkDatar       s    	\ 	4	 	$	< 	$U	K\ U	Kn   Z((*++	 tn!.11$-	
r*   rs   c                       e Zd ZU eed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed	<   	 ed   ed
<   	 ed   ed<   y)Token.ListParamscardzToken.ListParamsCreated|intcreatedr'   ending_before	List[str]expandrk   limitstarting_afterz6Literal['active', 'deleted', 'requested', 'suspended']statusN)r$   r%   r&   r'   r(   r   r)   r*   r+   
ListParamsru      s~    I !!>?? 'u--  ,, u%% (..  H r*   r~   c                   T    e Zd ZU ed   ed<   	 ed   ed<   	 ed   ed<   	 ed   ed<   y)Token.ListParamsCreatedrk   gtgteltlteNr$   r%   r&   r   r(   r)   r*   r+   ListParamsCreatedr      sH    E"" U## E"" U##r*   r   c                   0    e Zd ZU ed   ed<   	 ed   ed<   y)Token.ModifyParamsry   rz   )activedeleted	suspendedr}   N)r$   r%   r&   r   r(   r   r)   r*   r+   ModifyParamsr      s%    ,, <==r*   r   c                       e Zd ZU ed   ed<   y)Token.RetrieveParamsry   rz   Nr   r)   r*   r+   RetrieveParamsr     s    ,,r*   r   r   rv   rw   r   idlast4livemoderp   networknetwork_datanetwork_updated_atobject)r   r   	requestedr   r}   )	apple_pay
google_paysamsung_payrr   Napi_keystripe_versionstripe_accountparamsru   returnc                     | j                  d| j                         ||||      }t        |t              s!t	        dt        |      j                  z        |S )zC
        Lists all Issuing Token objects for a given card.
        get)r   r   r   r   z%Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorr#   r$   )clsr   r   r   r   results         r+   listz
Token.list9  sf     $$MMO)) % 
 &*-7<((* 
 r*   r   c                 z    | j                         dt        |      }t        d| j                  d||            S )z`
        Attempts to update the specified Issuing Token object to the status specified.
        /r   post)r   )r   r   r   r   )r   r   r   urls       r+   modifyzToken.modifyU  s=     *R.9F;
 	
r*   r   c                 8     | |fi |}|j                          |S )z4
        Retrieves an Issuing Token object.
        )refresh)r   r   r   instances       r+   retrievezToken.retrieveb  s$     r$V$r*   )NNN)r$   r%   r&   __doc__r   r	   r   r(   r   rs   r   r   r~   r   r   r   r   r   rk   r   r'   boolclassmethodr   r   r   r   r   rl   r)   r*   r+   r   r      s    7FK'/23Ec
l c
J 	 	@		 	$	> 		^ 	 &
!! L !% 	G C= N )** ;'' O$$ ABB 89   "&(,(,	# ! !	
 +, 
G	 6 



 &'; <

	

 

  &'= >	  )+6r*   r   N)stripe.api_resources.abstractr   r   %stripe.api_resources.expandable_fieldr    stripe.api_resources.list_objectr   stripe.request_optionsr   stripe.stripe_objectr   typingr	   r
   r   r   typing_extensionsr   r   r   r   r   urllib.parser   !stripe.api_resources.issuing.cardr   r   r)   r*   r+   <module>r      sP    B 7 1 - 1 1  $6T7(*?*H T7r*   