a
    !f!8                    @   s  d dl mZ d dlmZmZ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mZmZ d d	lmZmZmZmZmZ d d
lmZ erd dlm Z  d dl!m"Z" d dl#m$Z$ d dl%m&Z& d dl'm(Z( G dd ded ed ed Z)dS )    )util)CreateableAPIResourceListableAPIResourceUpdateableAPIResource)ExpandableField)
ListObject)RequestOptions)StripeObject)class_method_variant)ClassVarDictListOptionalcastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)
quote_plus)Account)Application)LineItem)ShippingRate)TaxIdc                   @   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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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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G d,d- d-eZG d.d/ d/eZ G d0d1 d1eZ!G d2d3 d3eZ"G d4d5 d5eZ#G d6d7 d7eZ$G d8d9 d9eZ%G d:d; d;eZ&G d<d= d=eZ'G d>d? d?eZ(G d@dA dAeZ)G dBdC dCeZ*G dDdE dEeZ+G dFdG dGeZ,G dHdI dIeZ-G dJdK dKeZ.G dLdM dMeZ/G dNdO dOeZ0G dPdQ dQeZ1G dRdS dSeZ2G dTdU dUeZ3G dVdW dWeZ4G dXdY dYeZ5G dZd[ d[eZ6G d\d] d]eZ7G d^d_ d_eZ8G d`da daeZ9G dbdc dceZ:G ddde deeZ;G dfdg dgeZ<G dhdi dieZ=G djdk dkeZ>G dldm dmeZ?G dndo doeZ@G dpdq dqeZAG drds dseZBG dtdu dueZCG dvdw dweZDG dxdy dyeZEG dzd{ d{eZFG d|d} d}eZGG d~d deZHG dd deZIG dd deZJG dd deZKG dd deZLG dd deZMG dd deZNG dd deZOePed< e	ed< ePed< eQeRd  ed< eQeS ed< eQeT ed< e
ed< ed ed< eQe ed< eUed< eVe ed< eed< ed ed< eUed< eQe ed< eQeWd  ed< ePed< eXeUeUf ed< ed ed< eQeRd  ed< eQe ed< ed ed< eQeVed   ed< eed< eQe ed< eVe ed< ed ed< eQe ed< eed< eQe ed< eUed< eYdeQeU eQeU eQeU eQeU eZd d dddZ[eYdeQeU eQeU eQeU eZd eWd  dddZ\eYdeUeQeU eQeU eQeU eZd eWd dddZ]e^e_deUeQeU eQeU eQeU eZd eWd dddZ`e^deQeU eZd eWd dÜddZ`eadŃdeQeU eZd eWd dÜddZ`eYeUeZd d dȜddʄZbeYeUeZd d dȜdd̈́Zce	e
eeeeeeeeeeedΜZddS )PaymentLinka#  
    A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times.

    When a customer opens a payment link it will open a new [checkout session](https://stripe.com/docs/api/checkout/sessions) to render the payment page. You can use [checkout session events](https://stripe.com/docs/api/events/types#event_types-checkout.session.completed) to track payments through payment links.

    Related guide: [Payment Links API](https://stripe.com/docs/payment-links)
    payment_linkOBJECT_NAMEc                   @   s\   e Zd ZU 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dZ	d	S )
zPaymentLink.AfterCompletionc                   @   s   e Zd ZU ee ed< dS )z.PaymentLink.AfterCompletion.HostedConfirmationcustom_messageN__name__
__module____qualname__r   str__annotations__ r&   r&   b/var/www/html/python-backend/venv/lib/python3.9/site-packages/stripe/api_resources/payment_link.pyHostedConfirmation0   s   
r(   c                   @   s   e Zd ZU eed< dS )z$PaymentLink.AfterCompletion.RedirecturlNr!   r"   r#   r$   r%   r&   r&   r&   r'   Redirect6   s   
r+   hosted_confirmationredirectr,   r-   typeN)
r!   r"   r#   r	   r(   r+   r   r%   r   _inner_class_typesr&   r&   r&   r'   AfterCompletion/   s   
r1   c                   @   s   e Zd ZU eed< dS )zPaymentLink.AutomaticTaxenabledNr!   r"   r#   boolr%   r&   r&   r&   r'   AutomaticTaxG   s   
r5   c                   @   s.   e Zd ZU eed  ed< eed  ed< dS )zPaymentLink.ConsentCollection)autonone
promotions)r7   requiredterms_of_serviceN)r!   r"   r#   r   r   r%   r&   r&   r&   r'   ConsentCollectionM   s   
r;   c                   @   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	d
< ee	d< ee e	d< ee	d< ee e	d< ed e	d< eeeedZdS )zPaymentLink.CustomFieldc                   @   s2   e Zd ZU G dd deZee ed< deiZdS )z PaymentLink.CustomField.Dropdownc                   @   s   e Zd ZU eed< eed< dS )z'PaymentLink.CustomField.Dropdown.OptionlabelvalueNr*   r&   r&   r&   r'   OptionY   s   
r>   optionsN)r!   r"   r#   r	   r>   r   r%   r0   r&   r&   r&   r'   DropdownX   s   

r@   c                   @   s&   e Zd ZU ee ed< ed ed< dS )zPaymentLink.CustomField.Labelcustomr/   N)r!   r"   r#   r   r$   r%   r   r&   r&   r&   r'   Labeli   s   
rB   c                   @   s&   e Zd ZU ee ed< ee ed< dS )zPaymentLink.CustomField.Numericmaximum_lengthminimum_lengthNr!   r"   r#   r   intr%   r&   r&   r&   r'   Numerics   s   
rG   c                   @   s&   e Zd ZU ee ed< ee ed< dS )zPaymentLink.CustomField.TextrC   rD   NrE   r&   r&   r&   r'   Text}   s   
rH   dropdownkeyr<   numericoptionaltextrI   rK   rM   r/   )rI   r<   rK   rM   N)r!   r"   r#   r	   r@   rB   rG   rH   r   r%   r$   r4   r   r0   r&   r&   r&   r'   CustomFieldW   s    



rO   c                   @   sn   e Zd ZU 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e ed	< eeed
Z	dS )zPaymentLink.CustomTextc                   @   s   e Zd ZU eed< dS )z&PaymentLink.CustomText.ShippingAddressmessageNr*   r&   r&   r&   r'   ShippingAddress   s   
rQ   c                   @   s   e Zd ZU eed< dS )zPaymentLink.CustomText.SubmitrP   Nr*   r&   r&   r&   r'   Submit   s   
rR   c                   @   s   e Zd ZU eed< dS )z/PaymentLink.CustomText.TermsOfServiceAcceptancerP   Nr*   r&   r&   r&   r'   TermsOfServiceAcceptance   s   
rS   shipping_addresssubmitterms_of_service_acceptance)rT   rU   rV   N)
r!   r"   r#   r	   rQ   rR   rS   r   r%   r0   r&   r&   r&   r'   
CustomText   s   
rW   c                   @   s:   e Zd ZU G dd deZeed< ee ed< deiZdS )zPaymentLink.InvoiceCreationc                   @   s   e Zd ZU G dd deZG dd deZeeed   e	d< eee  e	d< ee
 e	d< ee
 e	d	< eee
e
f  e	d
< ee e	d< eedZdS )z'PaymentLink.InvoiceCreation.InvoiceDatac                   @   s   e Zd ZU eed< eed< dS )z3PaymentLink.InvoiceCreation.InvoiceData.CustomFieldnamer=   Nr*   r&   r&   r&   r'   rO      s   
rO   c                   @   s   e Zd ZU ee ed< dS )z8PaymentLink.InvoiceCreation.InvoiceData.RenderingOptionsamount_tax_displayNr    r&   r&   r&   r'   RenderingOptions   s   
rZ   r   account_tax_idscustom_fieldsdescriptionfootermetadatarendering_options)r\   r`   N)r!   r"   r#   r	   rO   rZ   r   r   r   r%   r$   r   r0   r&   r&   r&   r'   InvoiceData   s   

ra   r2   invoice_dataN)	r!   r"   r#   r	   ra   r4   r%   r   r0   r&   r&   r&   r'   InvoiceCreation   s   
.rc   c                   @   sb   e Zd ZU eed  ed< ee ed< eeef ed< eed  ed< ee ed< ee ed< d	S )
zPaymentLink.PaymentIntentData)Z	automaticZautomatic_asyncZmanualcapture_methodr]   r_   )Zoff_sessionZ
on_sessionsetup_future_usagestatement_descriptorstatement_descriptor_suffixN)r!   r"   r#   r   r   r%   r$   r   r&   r&   r&   r'   PaymentIntentData   s   
rh   c                   @   s   e Zd ZU eed< dS )z!PaymentLink.PhoneNumberCollectionr2   Nr3   r&   r&   r&   r'   PhoneNumberCollection  s   
ri   c                   @   s   e Zd ZU eed  ed< dS )z%PaymentLink.ShippingAddressCollectionZACZADZAEZAFZAGZAIALZAMZAOZAQARATZAUZAWZAXZAZZBABBZBDZBEZBFZBGZBHZBIZBJZBLZBMBNZBOZBQZBRZBSZBTZBVZBWZBYZBZCAZCDZCFZCGZCHCIZCKZCLZCMZCNZCOCRZCVZCWZCYZCZZDEZDJZDKZDMZDOZDZZECZEEZEGZEHZERESETZFIZFJZFKZFOZFRZGAGBZGDZGEZGFZGGZGHZGIZGLZGMZGNZGPZGQZGRZGSGTZGUZGWZGYZHKZHNZHRZHTZHUZIDZIEZILZIMINIOZIQZISZITZJEZJMZJOZJPZKEZKGZKHZKIZKMZKNZKRZKWZKYZKZZLAZLBZLCZLIZLKZLRZLSLTZLULVZLYZMAZMCZMDZMEZMFZMGZMKZMLZMMZMNZMOZMQZMRZMSZMTZMUZMVZMWZMXZMYZMZZNAZNCZNEZNGZNINLNOZNPZNRZNUZNZZOMZPAPEZPFZPGZPHZPKZPLZPMZPNZPRZPSZPTZPYZQAZREZROZRSZRUZRWZSAZSBZSCZSEZSGZSHZSIZSJZSKZSLZSMZSNSOZSRZSSZSTZSVZSXZSZZTAZTCZTDZTFZTGZTHZTJZTKZTLZTMZTNZTOZTRZTTZTVZTWZTZZUAZUGZUSZUYZUZZVAZVCZVEZVGZVNZVUZWFZWSZXKZYEZYTZZAZZMZZWZZZallowed_countriesNr!   r"   r#   r   r   r%   r&   r&   r&   r'   ShippingAddressCollection  s   
 rr   c                   @   s"   e Zd ZU eed< ed ed< dS )zPaymentLink.ShippingOptionZshipping_amountr   shipping_rateN)r!   r"   r#   rF   r%   r   r&   r&   r&   r'   ShippingOption  s   
r   c                   @   s6   e Zd ZU ee ed< eeef ed< ee ed< dS )zPaymentLink.SubscriptionDatar]   r_   trial_period_daysN)r!   r"   r#   r   r$   r%   r   rF   r&   r&   r&   r'   SubscriptionData  s   
r   c                   @   s   e Zd ZU eed< dS )zPaymentLink.TaxIdCollectionr2   Nr3   r&   r&   r&   r'   TaxIdCollection,  s   
r   c                   @   s&   e Zd ZU ee ed< ed ed< dS )zPaymentLink.TransferDataamountr   destinationN)r!   r"   r#   r   rF   r%   r   r&   r&   r&   r'   TransferData2  s   
r   c                   @   sF  e Zd ZU ed ed< ed ed< ed ed< ed ed< ed	 ed
< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed  ed!< ed ed"< ed# ed$< ed% ed&< ed' ed(< ed) ed*< ed+ ed,< ed- ed.< ed/ ed0< ed1 ed2< d3S )4PaymentLink.CreateParams'PaymentLink.CreateParamsAfterCompletionafter_completionr4   allow_promotion_codesrF   application_fee_amountfloatapplication_fee_percent$PaymentLink.CreateParamsAutomaticTaxautomatic_taxLiteral['auto', 'required']billing_address_collection)PaymentLink.CreateParamsConsentCollectionconsent_collectionr$   currencyz)List[PaymentLink.CreateParamsCustomField]r\   "PaymentLink.CreateParamsCustomTextcustom_text Literal['always', 'if_required']customer_creation	List[str]expand'PaymentLink.CreateParamsInvoiceCreationinvoice_creation PaymentLink.CreateParamsLineItem
line_itemsDict[str, str]r_   on_behalf_of)PaymentLink.CreateParamsPaymentIntentDatapayment_intent_datapayment_method_collectionaB  List[Literal['affirm', 'afterpay_clearpay', 'alipay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'blik', 'boleto', 'card', 'cashapp', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'klarna', 'konbini', 'link', 'oxxo', 'p24', 'paynow', 'paypal', 'pix', 'promptpay', 'sepa_debit', 'sofort', 'us_bank_account', 'wechat_pay']]payment_method_types-PaymentLink.CreateParamsPhoneNumberCollectionphone_number_collection1PaymentLink.CreateParamsShippingAddressCollectionshipping_address_collectionz,List[PaymentLink.CreateParamsShippingOption]shipping_optionsz(Literal['auto', 'book', 'donate', 'pay']submit_type(PaymentLink.CreateParamsSubscriptionDatasubscription_data'PaymentLink.CreateParamsTaxIdCollectiontax_id_collection$PaymentLink.CreateParamsTransferDatatransfer_dataN)r!   r"   r#   r   r%   r   r&   r&   r&   r'   CreateParams<  sb   

r   c                   @   s"   e Zd ZU ed ed< eed< dS )r   rF   r   r   Nr!   r"   r#   r   r%   r$   r&   r&   r&   r'   CreateParamsTransferData  s   
r   c                   @   s   e Zd ZU eed< dS )r   r2   Nr3   r&   r&   r&   r'   CreateParamsTaxIdCollection  s   
r   c                   @   s2   e Zd ZU ed ed< ed ed< ed ed< dS )r   r$   r]   r   r_   rF   r   Nr!   r"   r#   r   r%   r&   r&   r&   r'   CreateParamsSubscriptionData  s   
r   c                   @   s   e Zd ZU ed ed< dS )z&PaymentLink.CreateParamsShippingOptionr$   r   Nr   r&   r&   r&   r'   CreateParamsShippingOption  s   
r   c                   @   s   e Zd ZU eed  ed< dS )r   rj   r   Nr   r&   r&   r&   r'   %CreateParamsShippingAddressCollection  s   
 rr   c                   @   s   e Zd ZU eed< dS )r   r2   Nr3   r&   r&   r&   r'   !CreateParamsPhoneNumberCollection  s   
r   c                   @   sV   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed	< ed ed
< dS )r   z1Literal['automatic', 'automatic_async', 'manual']rd   r$   r]   r   r_   z$Literal['off_session', 'on_session']re   rf   rg   Nr   r&   r&   r&   r'   CreateParamsPaymentIntentData  s   
r   c                   @   s*   e Zd ZU ed ed< eed< eed< dS )r   2PaymentLink.CreateParamsLineItemAdjustableQuantityadjustable_quantityZpricequantityN)r!   r"   r#   r   r%   r$   rF   r&   r&   r&   r'   CreateParamsLineItem  s   
r   c                   @   s.   e Zd ZU eed< ed ed< ed ed< dS )r   r2   rF   maximumminimumNr!   r"   r#   r4   r%   r   r&   r&   r&   r'   &CreateParamsLineItemAdjustableQuantity  s   
r   c                   @   s"   e Zd ZU eed< ed ed< dS )r   r2   2PaymentLink.CreateParamsInvoiceCreationInvoiceDatarb   Nr   r&   r&   r&   r'   CreateParamsInvoiceCreation*  s
   
r   c                   @   sV   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed	< ed
 ed< dS )r   Literal['']|List[str]r[   zOLiteral['']|List[PaymentLink.CreateParamsInvoiceCreationInvoiceDataCustomField]r\   r$   r]   r^   Literal['']|Dict[str, str]r_   zNLiteral['']|PaymentLink.CreateParamsInvoiceCreationInvoiceDataRenderingOptionsr`   Nr   r&   r&   r&   r'   &CreateParamsInvoiceCreationInvoiceData6  s   
r   c                   @   s   e Zd ZU ed ed< dS )zBPaymentLink.CreateParamsInvoiceCreationInvoiceDataRenderingOptions;Literal['']|Literal['exclude_tax', 'include_inclusive_tax']rY   Nr   r&   r&   r&   r'   6CreateParamsInvoiceCreationInvoiceDataRenderingOptionsT  s   
r   c                   @   s   e Zd ZU eed< eed< dS )z=PaymentLink.CreateParamsInvoiceCreationInvoiceDataCustomFieldrX   r=   Nr*   r&   r&   r&   r'   1CreateParamsInvoiceCreationInvoiceDataCustomField\  s   
r   c                   @   s2   e Zd ZU ed ed< ed ed< ed ed< dS )r   z=Literal['']|PaymentLink.CreateParamsCustomTextShippingAddressrT   z4Literal['']|PaymentLink.CreateParamsCustomTextSubmitrU   zFLiteral['']|PaymentLink.CreateParamsCustomTextTermsOfServiceAcceptancerV   Nr   r&   r&   r&   r'   CreateParamsCustomTextf  s   
r   c                   @   s   e Zd ZU eed< dS )z:PaymentLink.CreateParamsCustomTextTermsOfServiceAcceptancerP   Nr*   r&   r&   r&   r'   .CreateParamsCustomTextTermsOfServiceAcceptancez  s   
r   c                   @   s   e Zd ZU eed< dS )z(PaymentLink.CreateParamsCustomTextSubmitrP   Nr*   r&   r&   r&   r'   CreateParamsCustomTextSubmit  s   
r   c                   @   s   e Zd ZU eed< dS )z1PaymentLink.CreateParamsCustomTextShippingAddressrP   Nr*   r&   r&   r&   r'   %CreateParamsCustomTextShippingAddress  s   
r   c                   @   sZ   e Zd ZU ed ed< eed< ded< ed ed< ed ed	< ed
 ed< ed ed< dS )z#PaymentLink.CreateParamsCustomField+PaymentLink.CreateParamsCustomFieldDropdownrI   rJ   (PaymentLink.CreateParamsCustomFieldLabelr<   *PaymentLink.CreateParamsCustomFieldNumericrK   r4   rL   'PaymentLink.CreateParamsCustomFieldTextrM   rN   r/   Nr!   r"   r#   r   r%   r$   r   r&   r&   r&   r'   CreateParamsCustomField  s   
r   c                   @   s&   e Zd ZU ed ed< ed ed< dS )r   rF   rC   rD   Nr   r&   r&   r&   r'   CreateParamsCustomFieldText  s   
r   c                   @   s&   e Zd ZU ed ed< ed ed< dS )r   rF   rC   rD   Nr   r&   r&   r&   r'   CreateParamsCustomFieldNumeric  s   
r   c                   @   s"   e Zd ZU eed< ed ed< dS )r   rA   r/   Nr!   r"   r#   r$   r%   r   r&   r&   r&   r'   CreateParamsCustomFieldLabel  s   
r   c                   @   s   e Zd ZU ed ed< dS )r   1PaymentLink.CreateParamsCustomFieldDropdownOptionr?   Nr!   r"   r#   r   r%   r&   r&   r&   r'   CreateParamsCustomFieldDropdown  s   
r   c                   @   s   e Zd ZU eed< eed< dS )r   r<   r=   Nr*   r&   r&   r&   r'   %CreateParamsCustomFieldDropdownOption  s   
r   c                   @   s&   e Zd ZU ed ed< ed ed< dS )r   zLiteral['auto', 'none']r8   zLiteral['none', 'required']r:   Nr   r&   r&   r&   r'   CreateParamsConsentCollection  s   
r   c                   @   s   e Zd ZU eed< dS )r   r2   Nr3   r&   r&   r&   r'   CreateParamsAutomaticTax  s   
r   c                   @   s2   e Zd ZU ed ed< ed ed< ed ed< dS )r   9PaymentLink.CreateParamsAfterCompletionHostedConfirmationr,   /PaymentLink.CreateParamsAfterCompletionRedirectr-   r.   r/   Nr!   r"   r#   r   r%   r   r&   r&   r&   r'   CreateParamsAfterCompletion  s   
r   c                   @   s   e Zd ZU eed< dS )r   r)   Nr*   r&   r&   r&   r'   #CreateParamsAfterCompletionRedirect  s   
r   c                   @   s   e Zd ZU ed ed< dS )r   r$   r   Nr   r&   r&   r&   r'   -CreateParamsAfterCompletionHostedConfirmation  s   
r   c                   @   sJ   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed	< d
S )PaymentLink.ListParamsr4   activer$   ending_beforer   r   rF   limitstarting_afterNr   r&   r&   r&   r'   
ListParams	  s   
r   c                   @   s>   e Zd ZU ed ed< ed ed< ed ed< ed ed< dS )	PaymentLink.ListLineItemsParamsr$   r   r   r   rF   r   r   Nr   r&   r&   r&   r'   ListLineItemsParams  s
   
r   c                   @   s   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed	< ed
 ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed< ed ed < d!S )"PaymentLink.ModifyParamsr4   r   'PaymentLink.ModifyParamsAfterCompletionr   r   $PaymentLink.ModifyParamsAutomaticTaxr   r   r   z5Literal['']|List[PaymentLink.ModifyParamsCustomField]r\   "PaymentLink.ModifyParamsCustomTextr   r   r   r   r   'PaymentLink.ModifyParamsInvoiceCreationr   z&List[PaymentLink.ModifyParamsLineItem]r   r   r_   )PaymentLink.ModifyParamsPaymentIntentDatar   r   aN  Literal['']|List[Literal['affirm', 'afterpay_clearpay', 'alipay', 'au_becs_debit', 'bacs_debit', 'bancontact', 'blik', 'boleto', 'card', 'cashapp', 'eps', 'fpx', 'giropay', 'grabpay', 'ideal', 'klarna', 'konbini', 'link', 'oxxo', 'p24', 'paynow', 'paypal', 'pix', 'promptpay', 'sepa_debit', 'sofort', 'us_bank_account', 'wechat_pay']]r   z=Literal['']|PaymentLink.ModifyParamsShippingAddressCollectionr   (PaymentLink.ModifyParamsSubscriptionDatar   Nr   r&   r&   r&   r'   ModifyParams1  sD   

r   c                   @   s   e Zd ZU ed ed< dS )r   r   r_   Nr   r&   r&   r&   r'   ModifyParamsSubscriptionData  s   
r   c                   @   s   e Zd ZU eed  ed< dS )z1PaymentLink.ModifyParamsShippingAddressCollectionrj   r   Nr   r&   r&   r&   r'   %ModifyParamsShippingAddressCollection  s   
 rr   c                   @   s>   e Zd ZU ed ed< ed ed< ed ed< ed ed< dS )r   zLiteral['']|strr]   r   r_   rf   rg   Nr   r&   r&   r&   r'   ModifyParamsPaymentIntentData  s
   
r   c                   @   s.   e Zd ZU ed ed< eed< ed ed< dS )z PaymentLink.ModifyParamsLineItem2PaymentLink.ModifyParamsLineItemAdjustableQuantityr   idrF   r   Nr   r&   r&   r&   r'   ModifyParamsLineItem  s   
r   c                   @   s.   e Zd ZU eed< ed ed< ed ed< dS )r   r2   rF   r   r   Nr   r&   r&   r&   r'   &ModifyParamsLineItemAdjustableQuantity  s   
r   c                   @   s"   e Zd ZU eed< ed ed< dS )r   r2   2PaymentLink.ModifyParamsInvoiceCreationInvoiceDatarb   Nr   r&   r&   r&   r'   ModifyParamsInvoiceCreation  s
   
r   c                   @   sV   e Zd ZU ed ed< ed ed< ed ed< ed ed< ed ed	< ed
 ed< dS )r   r   r[   zOLiteral['']|List[PaymentLink.ModifyParamsInvoiceCreationInvoiceDataCustomField]r\   r$   r]   r^   r   r_   zNLiteral['']|PaymentLink.ModifyParamsInvoiceCreationInvoiceDataRenderingOptionsr`   Nr   r&   r&   r&   r'   &ModifyParamsInvoiceCreationInvoiceData  s   
r  c                   @   s   e Zd ZU ed ed< dS )zBPaymentLink.ModifyParamsInvoiceCreationInvoiceDataRenderingOptionsr   rY   Nr   r&   r&   r&   r'   6ModifyParamsInvoiceCreationInvoiceDataRenderingOptions  s   
r  c                   @   s   e Zd ZU eed< eed< dS )z=PaymentLink.ModifyParamsInvoiceCreationInvoiceDataCustomFieldrX   r=   Nr*   r&   r&   r&   r'   1ModifyParamsInvoiceCreationInvoiceDataCustomField  s   
r  c                   @   s2   e Zd ZU ed ed< ed ed< ed ed< dS )r   z=Literal['']|PaymentLink.ModifyParamsCustomTextShippingAddressrT   z4Literal['']|PaymentLink.ModifyParamsCustomTextSubmitrU   zFLiteral['']|PaymentLink.ModifyParamsCustomTextTermsOfServiceAcceptancerV   Nr   r&   r&   r&   r'   ModifyParamsCustomText  s   
r  c                   @   s   e Zd ZU eed< dS )z:PaymentLink.ModifyParamsCustomTextTermsOfServiceAcceptancerP   Nr*   r&   r&   r&   r'   .ModifyParamsCustomTextTermsOfServiceAcceptance  s   
r  c                   @   s   e Zd ZU eed< dS )z(PaymentLink.ModifyParamsCustomTextSubmitrP   Nr*   r&   r&   r&   r'   ModifyParamsCustomTextSubmit  s   
r  c                   @   s   e Zd ZU eed< dS )z1PaymentLink.ModifyParamsCustomTextShippingAddressrP   Nr*   r&   r&   r&   r'   %ModifyParamsCustomTextShippingAddress  s   
r  c                   @   sZ   e Zd ZU ed ed< eed< ded< ed ed< ed ed	< ed
 ed< ed ed< dS )z#PaymentLink.ModifyParamsCustomField+PaymentLink.ModifyParamsCustomFieldDropdownrI   rJ   (PaymentLink.ModifyParamsCustomFieldLabelr<   *PaymentLink.ModifyParamsCustomFieldNumericrK   r4   rL   'PaymentLink.ModifyParamsCustomFieldTextrM   rN   r/   Nr   r&   r&   r&   r'   ModifyParamsCustomField  s   
r  c                   @   s&   e Zd ZU ed ed< ed ed< dS )r  rF   rC   rD   Nr   r&   r&   r&   r'   ModifyParamsCustomFieldText8  s   
r  c                   @   s&   e Zd ZU ed ed< ed ed< dS )r
  rF   rC   rD   Nr   r&   r&   r&   r'   ModifyParamsCustomFieldNumericB  s   
r  c                   @   s"   e Zd ZU eed< ed ed< dS )r	  rA   r/   Nr   r&   r&   r&   r'   ModifyParamsCustomFieldLabelL  s   
r  c                   @   s   e Zd ZU ed ed< dS )r  1PaymentLink.ModifyParamsCustomFieldDropdownOptionr?   Nr   r&   r&   r&   r'   ModifyParamsCustomFieldDropdownV  s   
r  c                   @   s   e Zd ZU eed< eed< dS )r  r<   r=   Nr*   r&   r&   r&   r'   %ModifyParamsCustomFieldDropdownOption\  s   
r  c                   @   s   e Zd ZU eed< dS )r   r2   Nr3   r&   r&   r&   r'   ModifyParamsAutomaticTaxf  s   
r  c                   @   s2   e Zd ZU ed ed< ed ed< ed ed< dS )r   9PaymentLink.ModifyParamsAfterCompletionHostedConfirmationr,   /PaymentLink.ModifyParamsAfterCompletionRedirectr-   r.   r/   Nr   r&   r&   r&   r'   ModifyParamsAfterCompletionl  s   
r  c                   @   s   e Zd ZU eed< dS )r  r)   Nr*   r&   r&   r&   r'   #ModifyParamsAfterCompletionRedirect~  s   
r  c                   @   s   e Zd ZU ed ed< dS )r  r$   r   Nr   r&   r&   r&   r'   -ModifyParamsAfterCompletionHostedConfirmation  s   
r  c                   @   s   e Zd ZU ed ed< dS )PaymentLink.RetrieveParamsr   r   Nr   r&   r&   r&   r'   RetrieveParams  s   
r  r   r   r   r   Zapplicationr   r   r   )r6   r9   r   r   r   r\   r   )alwaysZif_requiredr   r   r   r   r   Zlivemoder_   objectr   r   r   r   )ZaffirmZafterpay_clearpayZalipayZau_becs_debitZ
bacs_debitZ
bancontactZblikZboletoZcardZcashappZepsZfpxZgiropayZgrabpayZidealZklarnaZkonbinilinkZoxxoZp24ZpaynowZpaypalZpixZ	promptpayZ
sepa_debitZsofortZus_bank_accountZ
wechat_payr   r   r   r   )r6   bookZdonateZpayr   r   r   r   r)   Nr   )api_keyidempotency_keystripe_versionstripe_accountparamsreturnc                 K   s    t d| d|  |||||S )z)
        Creates a payment link.
        r   post)r   _static_request	class_url)clsr  r   r!  r"  r#  r&   r&   r'   create  s    zPaymentLink.creater   )r  r!  r"  r#  r$  c                 K   s:   | j d|  ||||d}t|ts6tdt|j |S )z7
        Returns a list of your payment links.
        getr  r!  r"  r#  z%Expected list object from API, got %s)r&  r'  
isinstancer   	TypeErrorr/   r!   )r(  r  r!  r"  r#  resultr&   r&   r'   list:  s    
zPaymentLink.listr   )r   r  r!  r"  r#  r$  c              
   K   s.   t td | jddjt|d||||dS )
        When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
        r   r*  +/v1/payment_links/{payment_link}/line_itemsr   r+  )r   r   r&  formatr   sanitize_id)r(  r   r  r!  r"  r#  r&   r&   r'   _cls_list_line_itemsX  s    z PaymentLink._cls_list_line_itemsc                 K   s   dS r0  Nr&   )r   r  r!  r"  r#  r&   r&   r'   list_line_itemst  s    zPaymentLink.list_line_items)r   r#  r$  c                 K   s   dS r6  r&   selfr   r#  r&   r&   r'   r7    s    r5  c              
   K   s0   t td | jddjt| dd||dS )r0  r   r*  r1  r   r2  )r   r#  )r   r   _requestr3  r   r4  r*  r8  r&   r&   r'   r7    s    r   )r   r#  r$  c                 K   s*   d|   t|f }td| jd||dS )z)
        Updates a payment link.
        z%s/%sr   r%  )r#  )r'  r   r   r&  )r(  r   r#  r)   r&   r&   r'   modify  s
    zPaymentLink.modifyr  c                 K   s   | |fi |}|   |S )z*
        Retrieve a payment link.
        )refresh)r(  r   r#  instancer&   r&   r'   retrieve  s    zPaymentLink.retrieve)r   r   r   r\   r   r   r   r   r   r   r   r   r   )NNNN)NNN)NNN)NNN)N)N)er!   r"   r#   __doc__r   r   r   r%   r	   r1   r5   r;   rO   rW   rc   rh   ri   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r4   r   r   rF   r   r$   r   r   r   classmethodr   r)  r/  r5  r   staticmethodr7  r
   r;  r>  r0   r&   r&   r&   r'   r       s  

G%9 w

  x&




Z x




%               r   N)*Zstriper   Zstripe.api_resources.abstractr   r   r   Z%stripe.api_resources.expandable_fieldr   Z stripe.api_resources.list_objectr   Zstripe.request_optionsr   Zstripe.stripe_objectr	   Zstripe.utilr
   typingr   r   r   r   r   r   Ztyping_extensionsr   r   r   r   r   urllib.parser   Zstripe.api_resources.accountr   Z stripe.api_resources.applicationr   Zstripe.api_resources.line_itemr   Z"stripe.api_resources.shipping_rater   Zstripe.api_resources.tax_idr   r   r&   r&   r&   r'   <module>   s(    
