Ë
    <@‹g^  ã                   óî   — 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 d d	lmZmZ d d
lmZ d dlmZmZmZmZmZmZmZ d dlmZmZm Z  e rd dl!m"Z"  G d„ ded   ed   e«      Z#y)é    )ÚAccount)ÚCustomer)ÚDeletableAPIResource)ÚInvalidRequestError)ÚExpandableField)ÚRequestOptions)ÚStripeObject)ÚUpdateableAPIResource)Úclass_method_variantÚsanitize_id)ÚVerifyMixin)ÚClassVarÚDictÚListÚOptionalÚUnionÚcastÚoverload)ÚLiteralÚUnpackÚTYPE_CHECKING)ÚCardc            	       ó|  — 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d<   	 ee   ed<   	 ee   ed<   	 ee   ed<   	 eeed         ed<   	 ee   ed<   	 eed<   	 eed<   	 eed      ed<   	 ee   ed<   	 ee   ed<   	 ee	   ed<   	 eed<   	 eed<   	 eeeef      ed<   	 ed   ed<   	 ee
   ed<   	 ee   ed<   	 eed<   	 eed       ed!<   	 ed"ed#ed$   d%ed&   fd'„«       Z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*«      d#ed$   d%ed&   fd+„«       Zed"ed#ed$   d%ed&   fd,„«       Z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/«      d#ed$   d%ed&   fd0„«       Zd1„ Zed2„ «       Zed3„ «       Ze	e
d4œZ y5)6ÚBankAccounta¨  
    These bank accounts are payment methods on `Customer` objects.

    On the other hand [External Accounts](https://stripe.com/api#external_accounts) are transfer
    destinations on `Account` objects for connected accounts.
    They can be bank accounts or debit cards as well, and are documented in the links above.

    Related guide: [Bank debits and transfers](https://stripe.com/payments/bank-debits-transfers)
    Úbank_accountÚOBJECT_NAMEc                   óŒ   — e Zd ZU  G d„ de«      Zeee      ed<   	 eee      ed<   	 eee      ed<   	 eee      ed<   	 deiZ	y)úBankAccount.FutureRequirementsc                   ó6   — e Zd ZU ed   ed<   	 eed<   	 eed<   y)ú$BankAccount.FutureRequirements.Error©ZÚ&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_detectedÚ1invalid_url_website_business_information_mismatchÚinvalid_url_website_emptyÚ invalid_url_website_inaccessibleÚ+invalid_url_website_inaccessible_geoblockedÚ3invalid_url_website_inaccessible_password_protectedÚinvalid_url_website_incompleteÚ2invalid_url_website_incomplete_cancellation_policyÚ7invalid_url_website_incomplete_customer_service_detailsÚ1invalid_url_website_incomplete_legal_restrictionsÚ,invalid_url_website_incomplete_refund_policyÚ,invalid_url_website_incomplete_return_policyÚ3invalid_url_website_incomplete_terms_and_conditionsÚ1invalid_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_invalidÚ2verification_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_representative_authorityÚ'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Ú6verification_requires_additional_proof_of_registrationÚverification_supportabilityÚcodeÚreasonÚrequirementN©Ú__name__Ú
__module__Ú__qualname__r   Ú__annotations__Ústr© ó    úS/var/www/html/AdoubleTech/venv/lib/python3.12/site-packages/stripe/_bank_account.pyÚErrorr    &   ó6   … ØðY/ñ[ó [ðxð ‹Kðð Óðr†   rˆ   Úcurrently_dueÚerrorsÚpast_dueÚpending_verificationN©
r€   r�   r‚   r	   rˆ   r   r   r„   rƒ   Ú_inner_class_typesr…   r†   r‡   ÚFutureRequirementsr   %   óv   … ôg	�Lô g	ðR    S¡	Ñ*Ó*ð	ð ˜˜e™Ñ%Ó%ð	ð ˜4 ™9Ñ%Ó%ð	ð ' t¨C¡yÑ1Ó1ð	ð '¨Ð.Ñr†   r�   c                   óŒ   — e Zd ZU  G d„ de«      Zeee      ed<   	 eee      ed<   	 eee      ed<   	 eee      ed<   	 deiZ	y)úBankAccount.Requirementsc                   ó6   — e Zd ZU ed   ed<   	 eed<   	 eed<   y)úBankAccount.Requirements.Errorr!   r|   r}   r~   Nr   r…   r†   r‡   rˆ   r•   ¢   r‰   r†   rˆ   rŠ   r‹   rŒ   r�   NrŽ   r…   r†   r‡   ÚRequirementsr“   ¡   r‘   r†   r–   c                   ó   — e Zd Zy)úBankAccount.DeleteParamsN)r€   r�   r‚   r…   r†   r‡   ÚDeleteParamsr˜     s   „ Ør†   r™   r   ÚaccountÚaccount_holder_nameÚaccount_holder_typeÚaccount_type)ÚinstantÚstandardÚavailable_payout_methodsÚ	bank_nameÚcountryÚcurrencyr   ÚcustomerÚdefault_for_currencyÚfingerprintÚfuture_requirementsÚidÚlast4ÚmetadataÚobjectÚrequirementsÚrouting_numberÚstatusTÚdeletedÚsidÚparamsr˜   Úreturn©r   r   c                 óˆ   — | j                  «       ›dt        |«      ›�}t        t        d   | j	                  d||¬«      «      S )úJ
        Delete a specified external account for a given account.
        ú/r³   Údelete©r±   )Ú	class_urlr   r   r   Ú_static_request©Úclsr°   r±   Úurls       r‡   Ú_cls_deletezBankAccount._cls_deletes  sK   € ð Ÿ™�¬+°cÔ*:Ð;ˆÜÜÐ'Ñ(Ø×ÑØØØð  ó ó
ð 	
r†   c                  ó   — y©rµ   Nr…   ©r°   r±   s     r‡   r·   zBankAccount.delete„  s   € ð 	r†   c                  ó   — yrÀ   r…   ©Úselfr±   s     r‡   r·   zBankAccount.deleteŽ  s   € ð 	r†   r¾   c                 óF   — | j                  d| j                  «       |¬«      S )rµ   r·   r¸   )Ú_request_and_refreshÚinstance_urlrÃ   s     r‡   r·   zBankAccount.delete—  s.   € ð ×(Ñ(ØØ×ÑÓØð )ó 
ð 	
r†   c              ‹   ó¤   K  — | j                  «       ›dt        |«      ›�}t        t        d   | j	                  d||¬«      ƒ d{  –—† «      S 7 Œ­w)rµ   r¶   r³   r·   r¸   N)r¹   r   r   r   Ú_static_request_asyncr»   s       r‡   Ú_cls_delete_asynczBankAccount._cls_delete_async¤  sY   è ø€ ð Ÿ™�¬+°cÔ*:Ð;ˆÜÜÐ'Ñ(Ø×+Ñ+ØØØð ,ó ÷ ó
ð 	
ðús   ‚AAÁA
Á	Ac              ‹   ó   K  — y­wrÀ   r…   rÁ   s     r‡   Údelete_asynczBankAccount.delete_asyncµ  s   è ø€ ð 	ùó   ‚c              ‹   ó   K  — y­wrÀ   r…   rÃ   s     r‡   rÌ   zBankAccount.delete_async¿  s   è ø€ ð 	ùrÍ   rÊ   c              ‹   ób   K  — | j                  d| j                  «       |¬«      ƒ d{  –—† S 7 Œ­w)rµ   r·   r¸   N)Ú_request_and_refresh_asyncrÇ   rÃ   s     r‡   rÌ   zBankAccount.delete_asyncÈ  s<   è ø€ ð ×4Ñ4ØØ×ÑÓØð 5ó 
÷ 
ð 	
ð 
ús   ‚&/¨-©/c                 óÐ  — | j                   }t        |«      }t        | d«      rN| j                  }t	        j
                  «       }|€J ‚t        |t        «      r|j                   }t        |«      }d}nit        | d«      rN| j                  }t        j
                  «       }|€J ‚t        |t        «      r|j                   }t        |«      }d}nt        d|z  d«      ‚|›d|›d|›d|›�S )Nr¤   Úsourcesrš   Úexternal_accountszWCould not determine whether bank_account_id %s is attached to a customer or an account.r¨   r¶   )
r¨   r   Úhasattrr¤   r   r¹   Ú
isinstancerš   r   r   )rÄ   ÚtokenÚextnr¤   ÚbaseÚ
owner_extnÚ
class_baserš   s           r‡   rÇ   zBankAccount.instance_urlÕ  sä   € Ø—‘ˆÜ˜5Ó!ˆÜ�4˜Ô$Ø—}‘}ˆHä×%Ñ%Ó'ˆDØÐ'Ð'Ð'Ü˜(¤HÔ-Ø#Ÿ;™;�Ü$ XÓ.ˆJØ"‰Jä�T˜9Ô%Ø—l‘lˆGä×$Ñ$Ó&ˆDØÐ&Ð&Ð&Ü˜'¤7Ô+Ø!Ÿ*™*�Ü$ WÓ-ˆJØ,‰Jô &ð8Ø:?ñ@àóð ò !%¢j²*¹dÐCÐCr†   c                 ó   — t        d«      ‚)Na`  Can't modify a bank account without a customer or account ID. Use stripe.Customer.modify_source('customer_id', 'bank_account_id', ...) (see https://stripe.com/docs/api/customer_bank_accounts/update) or stripe.Account.modify_external_account('customer_id', 'bank_account_id', ...) (see https://stripe.com/docs/api/external_account_bank_accounts/update).©ÚNotImplementedError)r¼   r°   r±   s      r‡   ÚmodifyzBankAccount.modifyõ  s   € ä!ðWó
ð 	
r†   c                 ó   — t        d«      ‚)Na_  Can't retrieve a bank account without a customer or account ID. Use stripe.customer.retrieve_source('customer_id', 'bank_account_id') (see https://stripe.com/docs/api/customer_bank_accounts/retrieve) or stripe.Account.retrieve_external_account('account_id', 'bank_account_id') (see https://stripe.com/docs/api/external_account_bank_accounts/retrieve).rÜ   )r¼   r¨   r±   s      r‡   ÚretrievezBankAccount.retrieveÿ  s   € ä!ðYó
ð 	
r†   )r§   r¬   N)!r€   r�   r‚   Ú__doc__r   r   r   rƒ   r	   r�   r–   r   r™   r   r   r„   r   Úboolr   Úclassmethodr   r   r¾   r   Ústaticmethodr·   r   rÊ   rÌ   rÇ   rÞ   rà   r�   r…   r†   r‡   r   r      s§  … ñ
ð 6D€K�˜' .Ñ1Ñ2ÓCôz/˜\ô z/ôxz/�|ô z/ôx�~ô ð �o iÑ0Ñ1Ó1ðð " #™Ó&ðð " #™Ó&ðð ˜3‘-Óðð ' t¨GÐ4IÑ,JÑ'KÑLÓLðð ˜‰}Óðð ƒLðð ƒMðð � zÑ2Ñ3Ó3ðð # 4™.Ó(ðð ˜#‘Óðð "Ð"4Ñ5Ó5ðð 	ƒGðð ƒJðð �t˜C ˜H‘~Ñ&Ó&ðð �NÑ#Ó#ðð ˜<Ñ(Ó(ðð ˜S‘MÓ!ðð ƒKðð
 �g˜d‘mÑ$Ó$ðð ð
Øð
Ø!'Ð(BÑ!Cð
à	Ð$Ñ	%ò
ó ð
ð  ØðØðØ"Ð#=Ñ>ðà	Ð$Ñ	%òó ó ðð ðØÐ9Ñ:ðà	Ð$Ñ	%òó ðñ ˜-Ó(ð

ØÐ9Ñ:ð

à	Ð$Ñ	%ò

ó )ð

ð ð
Øð
Ø!'Ð(BÑ!Cð
à	Ð$Ñ	%ò
ó ð
ð  ØðØðØ"Ð#=Ñ>ðà	Ð$Ñ	%òó ó ðð ðØÐ9Ñ:ðà	Ð$Ñ	%òó ðñ Ð-Ó.ð

ØÐ9Ñ:ð

à	Ð$Ñ	%ò

ó /ð

òDð@ ñ
ó ð
ð ñ
ó ð
ð  2Ø$ñÑr†   r   N)$Ústripe._accountr   Ústripe._customerr   Ústripe._deletable_api_resourcer   Ústripe._errorr   Ústripe._expandable_fieldr   Ústripe._request_optionsr   Ústripe._stripe_objectr	   Ústripe._updateable_api_resourcer
   Ústripe._utilr   r   Ústripe._verify_mixinr   Útypingr   r   r   r   r   r   r   Útyping_extensionsr   r   r   Ústripe._cardr   r   r…   r†   r‡   ú<module>rò      sY   ðõ $Ý %Ý ?Ý -Ý 4Ý 2Ý .Ý Aß :Ý ,ß H× HÑ Hß <Ñ <áÝ!ôxØ˜Ñ'Ø˜-Ñ(Øõxr†   