o
    Bi07                     @   s   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mZmZmZ d d	lmZmZmZmZmZ erLd d
lmZ G dd ded ed ZdS )    )ExpandableField)
ListObject)ListableAPIResource)RequestOptions)StripeObject)UpdateableAPIResource)sanitize_id)ClassVarListOptionalcast)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Cardc                   @   s  e Zd ZU dZdZeed  ed< G dd deZ	G dd de
ZG dd	 d	eZG d
d de
ZG d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ed d ed  fd!d"Zeded d ed  fd#d$Zededed% d d fd&d'Zededed% d d fd(d)Zededed* d d fd+d,Zededed* d d fd-d.Zde	iZd/S )0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                   @   s   e Zd ZU G dd deZG dd deZG dd deZG d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dS )zToken.NetworkDatac                   @   sd   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< dS )	zToken.NetworkData.Devicedevice_fingerprint
ip_addresslocationnamephone_number)otherphonewatchtypeN)__name__
__module____qualname__r   str__annotations__r    r#   r#   U/var/www/html/Trade-python/venv/lib/python3.10/site-packages/stripe/issuing/_token.pyDevice   s   
 r%   c                   @   s<   e Zd ZU ee ed< 	 eed< 	 eed< 	 ee ed< dS )zToken.NetworkData.Mastercardcard_reference_idtoken_reference_idtoken_requestor_idtoken_requestor_nameN)r   r   r    r   r!   r"   r#   r#   r#   r$   
Mastercard9   s   
 r*   c                   @   s8   e Zd ZU eed< 	 eed< 	 eed< 	 ee ed< dS )zToken.NetworkData.Visar&   r'   r(   token_risk_scoreN)r   r   r    r!   r"   r   r#   r#   r#   r$   VisaK   s   
 r,   c                   @   s   e Zd ZU G d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dS )z Token.NetworkData.WalletProviderc                   @   s    e Zd ZU eed< 	 eed< dS )z2Token.NetworkData.WalletProvider.CardholderAddressline1postal_codeN)r   r   r    r!   r"   r#   r#   r#   r$   CardholderAddress^   s
   
 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#   r$   WalletProvider]   s@   
 
"r^   device
mastercardr`   visar   rb   wallet_provider)r_   r`   rb   rc   N)r   r   r    r   r%   r*   r,   r^   r   r"   r   r]   r#   r#   r#   r$   NetworkData   s    
 W
rd   c                   @   sr   e Zd ZU eed< 	 ed ed< 	 ee ed< 	 eee  ed< 	 ee ed< 	 ee ed< 	 eed  ed	< d
S )Token.ListParamscardzToken.ListParamsCreated|intcreatedending_beforeexpandlimitstarting_afteractivedeleted	requested	suspendedstatusN)	r   r   r    r!   r"   r   r
   r\   r   r#   r#   r#   r$   
ListParams   s"   
 rr   c                   @   sD   e Zd ZU ee ed< 	 ee ed< 	 ee ed< 	 ee ed< dS )zToken.ListParamsCreatedgtgteltlteN)r   r   r    r   r\   r"   r#   r#   r#   r$   ListParamsCreated   s   
 rw   c                   @   s,   e Zd ZU eee  ed< 	 ed ed< dS )Token.ModifyParamsri   )rm   rn   rp   rq   N)r   r   r    r   r
   r!   r"   r   r#   r#   r#   r$   ModifyParams   s
   
 ry   c                   @   s   e Zd ZU eee  ed< dS )Token.RetrieveParamsri   N)r   r   r    r   r
   r!   r"   r#   r#   r#   r$   RetrieveParams   s   
 r{   r   rf   rg   r   idlast4livemodera   networknetwork_datanetwork_updated_atobjectrl   rq   )	apple_pay
google_paysamsung_payrc   paramsre   returnc                 K   s4   | j d|  |d}t|tstdt|j |S )C
        Lists all Issuing Token objects for a given card.
        getr   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrorr   r   clsr   resultr#   r#   r$   list5  s   
z
Token.listc                    s<   | j d|  |dI dH }t|tstdt|j |S )r   r   r   Nr   )_static_request_asyncr   r   r   r   r   r   r   r#   r#   r$   
list_asyncG  s   
zToken.list_asyncrx   c                 K   s*   d|   t|f }td| jd||dS )`
        Attempts to update the specified Issuing Token object to the status specified.
        %s/%sr   postr   )r   r   r   r   r   r|   r   urlr#   r#   r$   modify[  s   zToken.modifyc                    s2   d|   t|f }td| jd||dI dH S )r   r   r   r   r   N)r   r   r   r   r   r#   r#   r$   modify_asyncl  s   
zToken.modify_asyncrz   c                 K   s   | |fi |}|   |S )4
        Retrieves an Issuing Token object.
        )refreshr   r|   r   instancer#   r#   r$   retrieve}  s   zToken.retrievec                    s$   | |fi |}|  I dH  |S )r   N)refresh_asyncr   r#   r#   r$   retrieve_async  s   zToken.retrieve_asyncN)r   r   r    __doc__r   r	   r   r"   r   rd   r   rr   r   rw   ry   r{   r   r\   r   r!   boolclassmethodr   r   r   r   r   r   r   r   r]   r#   r#   r#   r$   r      s   
  & 


r   N)stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr   typingr	   r
   r   r   typing_extensionsr   r   r   r   r   stripe.issuing._cardr   r   r#   r#   r#   r$   <module>   s   