
    +hH                     |    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 d dlmZ  G d d	ed	         Zy
)    )UpdateableAPIResource)Account)ExpandableField)StripeObject)ClassVarListOptional)Literal)
quote_plusc                   
   e Zd ZU dZdZeed      ed<    G d de      Z	 G d de      Z
ed   ed	<   	 ee	   ed
<   eed<   	 ed   ed<   	 eed<   	 ee   ed<   	 ee
   ed<   ed   ed<   	 d Zed        Zedd       Ze	e
dZy)
Capabilityz
    This is an object representing a capability for a Stripe account.

    Related guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities)
    
capabilityOBJECT_NAMEc                       e Zd ZU  G d de      Z G d de      Zeee      ed<   	 ee	   ed<   	 ee
   ed<   	 ee
   ed<   	 ee   ed	<   	 ee
   ed
<   	 ee
   ed<   	 ee
   ed<   	 eedZy)Capability.FutureRequirementsc                   0    e Zd ZU ee   ed<   	 ee   ed<   y))Capability.FutureRequirements.Alternativealternative_fields_dueoriginal_fields_dueN__name__
__module____qualname__r   str__annotations__     R/var/www/html/venv/lib/python3.12/site-packages/stripe/api_resources/capability.pyAlternativer      "    $(I- "&c*r   r   c                   6    e Zd ZU ed   ed<   	 eed<   	 eed<   y)#Capability.FutureRequirements.ErrorW&invalid_address_city_state_postal_code$invalid_address_highway_contract_boxinvalid_address_private_mailboxinvalid_business_profile_name(invalid_business_profile_name_denylistedinvalid_company_name_denylistedinvalid_dob_age_over_maximuminvalid_dob_age_under_18invalid_dob_age_under_minimum"invalid_product_description_length%invalid_product_description_url_matchinvalid_representative_country.invalid_statement_descriptor_business_mismatch'invalid_statement_descriptor_denylisted#invalid_statement_descriptor_length.invalid_statement_descriptor_prefix_denylisted,invalid_statement_descriptor_prefix_mismatchinvalid_street_addressinvalid_tax_idinvalid_tax_id_formatinvalid_tos_acceptanceinvalid_url_denylistedinvalid_url_formatinvalid_url_length!invalid_url_web_presence_detected1invalid_url_website_business_information_mismatchinvalid_url_website_empty invalid_url_website_inaccessible+invalid_url_website_inaccessible_geoblocked3invalid_url_website_inaccessible_password_protectedinvalid_url_website_incomplete2invalid_url_website_incomplete_cancellation_policy7invalid_url_website_incomplete_customer_service_details1invalid_url_website_incomplete_legal_restrictions,invalid_url_website_incomplete_refund_policy,invalid_url_website_incomplete_return_policy3invalid_url_website_incomplete_terms_and_conditions1invalid_url_website_incomplete_under_constructioninvalid_url_website_otherinvalid_value_otherverification_directors_mismatch&verification_document_address_mismatch%verification_document_address_missingverification_document_corrupt+verification_document_country_not_supported(verification_document_directors_mismatch"verification_document_dob_mismatch$verification_document_duplicate_typeverification_document_expired!verification_document_failed_copy&verification_document_failed_greyscale"verification_document_failed_other&verification_document_failed_test_mode verification_document_fraudulent(verification_document_id_number_mismatch'verification_document_id_number_missing verification_document_incompleteverification_document_invalid2verification_document_issue_or_expiry_date_missing!verification_document_manipulated"verification_document_missing_back#verification_document_missing_front#verification_document_name_mismatch"verification_document_name_missing*verification_document_nationality_mismatch"verification_document_not_readable verification_document_not_signed"verification_document_not_uploaded$verification_document_photo_mismatchverification_document_too_large(verification_document_type_not_supported!verification_extraneous_directors!verification_failed_address_match'verification_failed_business_iec_number"verification_failed_document_match#verification_failed_id_number_match"verification_failed_keyed_identityverification_failed_keyed_matchverification_failed_name_matchverification_failed_other'verification_failed_residential_address verification_failed_tax_id_match%verification_failed_tax_id_not_issuedverification_missing_directorsverification_missing_executivesverification_missing_owners;verification_requires_additional_memorandum_of_associationscodereasonrequirementNr   r   r   r
   r   r   r   r   r   Errorr"       7    VOX Xr K r   r   alternativescurrent_deadlinecurrently_duedisabled_reasonerrorseventually_duepast_duepending_verificationr   r   Nr   r   r   r   r   r   r	   r   r   intr   _inner_class_typesr   r   r   FutureRequirementsr      s    	, 	d	L d	L tK011	 #3-'	 Cy 	 "#&	 U	 S	!	 s)	 #3i'	 /:UKr   r   c                       e Zd ZU  G d de      Z G d de      Zeee      ed<   	 ee	   ed<   	 ee
   ed<   	 ee
   ed<   	 ee   ed	<   	 ee
   ed
<   	 ee
   ed<   	 ee
   ed<   	 eedZy)Capability.Requirementsc                   0    e Zd ZU ee   ed<   	 ee   ed<   y)#Capability.Requirements.Alternativer   r   Nr   r   r   r   r   r      r    r   r   c                   6    e Zd ZU ed   ed<   	 eed<   	 eed<   y)Capability.Requirements.Errorr#   r{   r|   r}   Nr~   r   r   r   r   r      r   r   r   r   r   r   r   r   r   r   r   r   Nr   r   r   r   Requirementsr      s    	, 	d	L d	L tK011	 #3-'	 Cy 	 "#&	 U	 S	!	 s)	 #3i'	 /:UKr   r   r   accountfuture_requirementsidobject	requestedrequested_atrequirements)activedisabledinactivependingunrequestedstatusc                     | j                   }| j                  }t        j                         }t	        |t              r|j                   }t        |      }t        |      }|d|d|S )N/z/capabilities/)r   r   r   	class_url
isinstancer   )selftokenr   base	acct_extnextns         r   instance_urlzCapability.instance_url\  sV    ,,  "gw'jjGw'	% *.	4@@r   c                     t        d      )NzCan't update a capability without an account ID. Update a capability using account.modify_capability('acct_123', 'acap_123', params)NotImplementedError)clssidparamss      r   modifyzCapability.modifyf  s    !H
 	
r   Nc                     t        d      )NzCan't retrieve a capability without an account ID. Retrieve a capability using account.retrieve_capability('acct_123', 'acap_123')r   )r   r   api_keyr   s       r   retrievezCapability.retrievem  s    !B
 	
r   )r   r   )N)r   r   r   __doc__r   r   r
   r   r   r   r   r   r	   r   boolr   r   classmethodr   r   r   r   r   r   r   r      s     4@K',/0?QL\ QLfWL| WLr Y'' ""455G L!! O 3- <((NOOA 
 
 
 
  2$r   r   N)stripe.api_resources.abstractr   stripe.api_resources.accountr   %stripe.api_resources.expandable_fieldr   stripe.stripe_objectr   typingr   r   r	   typing_extensionsr
   urllib.parser   r   r   r   r   <module>r      s4    @ 0 A - + + % #k&|4 kr   