
    <@gI                     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	m
Z
mZ d dlmZmZmZ  G d ded         Zy	)
    )
ListObject)ListableAPIResource)RequestOptions)StripeObject)ClassVarDictList)LiteralNotRequiredUnpackc                      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eed
<   	 eed<   	 ed   ed<   	 eeee   f   ed<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 e	ed<   eded   ded    fd       Z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)CountrySpeca  
    Stripe needs to collect certain pieces of information about each account
    created. These requirements can differ depending on the account's country. The
    Country Specs API makes these rules available to your integration.

    You can also view the information from this API call as [an online
    guide](https://stripe.com/docs/connect/required-verification-information).
    country_specOBJECT_NAMEc                   X    e Zd ZU  G d de      Z G d de      Zeed<   eed<   eedZy)	CountrySpec.VerificationFieldsc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)&CountrySpec.VerificationFields.Company
additionalminimumN__name__
__module____qualname__r	   str__annotations__     S/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_country_spec.pyCompanyr      "    S	! #Yr   r    c                   0    e Zd ZU ee   ed<   	 ee   ed<   y))CountrySpec.VerificationFields.Individualr   r   Nr   r   r   r   
Individualr#   "   r!   r   r$   company
individual)r%   r&   N)r   r   r   r   r    r$   r   _inner_class_typesr   r   r   VerificationFieldsr      s3    	l 		 	 )0
Kr   r(   c                   Z    e Zd ZU ee   ed<   	 eee      ed<   	 ee   ed<   	 ee   ed<   y)CountrySpec.ListParamsending_beforeexpandlimitstarting_afterN)r   r   r   r   r   r   r	   intr   r   r   
ListParamsr*   0   sL    "3''	 DI&&	 3	 $C((	r   r0   c                   $    e Zd ZU eee      ed<   y)CountrySpec.RetrieveParamsr,   N)r   r   r   r   r	   r   r   r   r   r   RetrieveParamsr2   B   s    DI&&	r   r3   default_currencyidobject!supported_bank_account_currenciessupported_payment_currenciessupported_payment_methodssupported_transfer_countriesverification_fieldsparamsr*   returnc                     | j                  d| j                         |      }t        |t              s!t	        dt        |      j                  z        |S )F
        Lists all Country Spec objects available in the API.
        getr<   %Expected list object from API, got %s)_static_request	class_url
isinstancer   	TypeErrortyper   clsr<   results      r   listzCountrySpec.listf   s]     $$MMO % 

 &*-7<((* 
 r   c                    K   | j                  d| j                         |       d{   }t        |t              s!t	        dt        |      j                  z        |S 7 7w)r?   r@   rA   NrB   )_static_request_asyncrD   rE   r   rF   rG   r   rH   s      r   
list_asynczCountrySpec.list_asyncz   sk      00MMO 1 
 

 &*-7<((* 
 
s   &A"A 8A"r2   c                 8     | |fi |}|j                          |S )B
        Returns a Country Spec for a given Country code.
        )refreshrI   r5   r<   instances       r   retrievezCountrySpec.retrieve   s$     r$V$r   c                 T   K    | |fi |}|j                          d{    |S 7 w)rP   N)refresh_asyncrR   s       r   retrieve_asynczCountrySpec.retrieve_async   s3      r$V$$$&&& 	's   (&(N)r   r   r   __doc__r   r   r
   r   r   r(   r   r0   r3   r   r   r	   classmethodr   r   rK   rN   rT   rW   r'   r   r   r   r   r      s    6DK'.12CL\ L2^ $   	G N## (,CcN';; #'s)+  $Cy( #'s)+ ,+67	M	" & 67	M	" &  &'C D	   &'C D	  01CDr   r   N)stripe._list_objectr   stripe._listable_api_resourcer   stripe._request_optionsr   stripe._stripe_objectr   typingr   r   r	   typing_extensionsr
   r   r   r   r   r   r   <module>r`      s5    + = 2 . ' ' : :YE%m4 YEr   