a
    ù!fÓH  ã                   @   st   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	„ d	ed	 ƒZd
S )é    )ÚUpdateableAPIResource)ÚAccount)ÚExpandableField)ÚStripeObject)ÚClassVarÚListÚOptional)ÚLiteral)Ú
quote_plusc                   @   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
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d„ Zedd„ ƒZeddd„ƒZe	e
dœZdS )Ú
Capabilityz¬
    This is an object representing a capability for a Stripe account.

    Related guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities)
    Z
capabilityÚOBJECT_NAMEc                   @   sœ   e Zd ZU G dd„ deƒZG d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dS )zCapability.FutureRequirementsc                   @   s&   e Zd ZU ee ed< ee ed< dS )z)Capability.FutureRequirements.AlternativeÚalternative_fields_dueÚoriginal_fields_dueN©Ú__name__Ú
__module__Ú__qualname__r   ÚstrÚ__annotations__© r   r   ú`/var/www/html/python-backend/venv/lib/python3.9/site-packages/stripe/api_resources/capability.pyÚAlternative   s   
r   c                   @   s*   e Zd ZU ed ed< eed< eed< dS )z#Capability.FutureRequirements.Error©WZ&invalid_address_city_state_postal_codeZ$invalid_address_highway_contract_boxZinvalid_address_private_mailboxZinvalid_business_profile_nameZ(invalid_business_profile_name_denylistedZinvalid_company_name_denylistedZinvalid_dob_age_over_maximumZinvalid_dob_age_under_18Zinvalid_dob_age_under_minimumZ"invalid_product_description_lengthZ%invalid_product_description_url_matchZinvalid_representative_countryZ.invalid_statement_descriptor_business_mismatchZ'invalid_statement_descriptor_denylistedZ#invalid_statement_descriptor_lengthZ.invalid_statement_descriptor_prefix_denylistedZ,invalid_statement_descriptor_prefix_mismatchZinvalid_street_addressZinvalid_tax_idZinvalid_tax_id_formatZinvalid_tos_acceptanceZinvalid_url_denylistedZinvalid_url_formatZinvalid_url_lengthZ!invalid_url_web_presence_detectedZ1invalid_url_website_business_information_mismatchZinvalid_url_website_emptyZ invalid_url_website_inaccessibleZ+invalid_url_website_inaccessible_geoblockedZ3invalid_url_website_inaccessible_password_protectedZinvalid_url_website_incompleteZ2invalid_url_website_incomplete_cancellation_policyZ7invalid_url_website_incomplete_customer_service_detailsZ1invalid_url_website_incomplete_legal_restrictionsZ,invalid_url_website_incomplete_refund_policyZ,invalid_url_website_incomplete_return_policyZ3invalid_url_website_incomplete_terms_and_conditionsZ1invalid_url_website_incomplete_under_constructionZinvalid_url_website_otherZinvalid_value_otherZverification_directors_mismatchZ&verification_document_address_mismatchZ%verification_document_address_missingZverification_document_corruptZ+verification_document_country_not_supportedZ(verification_document_directors_mismatchZ"verification_document_dob_mismatchZ$verification_document_duplicate_typeZverification_document_expiredZ!verification_document_failed_copyZ&verification_document_failed_greyscaleZ"verification_document_failed_otherZ&verification_document_failed_test_modeZ verification_document_fraudulentZ(verification_document_id_number_mismatchZ'verification_document_id_number_missingZ verification_document_incompleteZverification_document_invalidZ2verification_document_issue_or_expiry_date_missingZ!verification_document_manipulatedZ"verification_document_missing_backZ#verification_document_missing_frontZ#verification_document_name_mismatchZ"verification_document_name_missingZ*verification_document_nationality_mismatchZ"verification_document_not_readableZ verification_document_not_signedZ"verification_document_not_uploadedZ$verification_document_photo_mismatchZverification_document_too_largeZ(verification_document_type_not_supportedZ!verification_extraneous_directorsZ!verification_failed_address_matchZ'verification_failed_business_iec_numberZ"verification_failed_document_matchZ#verification_failed_id_number_matchZ"verification_failed_keyed_identityZverification_failed_keyed_matchZverification_failed_name_matchZverification_failed_otherZ'verification_failed_residential_addressZ verification_failed_tax_id_matchZ%verification_failed_tax_id_not_issuedZverification_missing_directorsZverification_missing_executivesZverification_missing_ownersZ;verification_requires_additional_memorandum_of_associationsÚcodeÚreasonÚrequirementN©r   r   r   r	   r   r   r   r   r   r   ÚError    s   
ÿ\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   r   ÚFutureRequirements   s   

fr*   c                   @   sœ   e Zd ZU G dd„ deƒZG d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dS )zCapability.Requirementsc                   @   s&   e Zd ZU ee ed< ee ed< dS )z#Capability.Requirements.Alternativer   r   Nr   r   r   r   r   r   ©   s   
r   c                   @   s*   e Zd ZU ed ed< eed< eed< dS )zCapability.Requirements.Errorr   r   r   r   Nr   r   r   r   r   r   ³   s   
ÿ\r   r   r   r    r!   r"   r#   r$   r%   r&   Nr'   r   r   r   r   ÚRequirements¨   s   

f
r+   r   ÚaccountÚfuture_requirementsÚidÚobjectÚ	requestedZrequested_atÚrequirements)ÚactiveÚdisabledZinactiveÚpendingZunrequestedÚstatusc                 C   sB   | j }| j}t ¡ }t|tƒr$|j }t|ƒ}t|ƒ}d|||f S )Nz%s/%s/capabilities/%s)r.   r,   r   Z	class_urlÚ
isinstancer
   )ÚselfÚtokenr,   ÚbaseZ	acct_extnZextnr   r   r   Úinstance_url\  s    
zCapability.instance_urlc                 K   s   t dƒ‚d S )Nz„Can't update a capability without an account ID. Update a capability using account.modify_capability('acct_123', 'acap_123', params)©ÚNotImplementedError)ÚclsZsidÚparamsr   r   r   Úmodifyf  s    ÿzCapability.modifyNc                 K   s   t dƒ‚d S )Nz‚Can't retrieve a capability without an account ID. Retrieve a capability using account.retrieve_capability('acct_123', 'acap_123')r;   )r=   r.   Zapi_keyr>   r   r   r   Úretrievem  s    ÿzCapability.retrieve)r-   r1   )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,   
  

þr   N)Zstripe.api_resources.abstractr   Zstripe.api_resources.accountr   Z%stripe.api_resources.expandable_fieldr   Zstripe.stripe_objectr   Útypingr   r   r   Ztyping_extensionsr	   Úurllib.parser
   r   r   r   r   r   Ú<module>   s   