
    Ch                     d   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJrJr  S SKJrJrJrJrJrJrJ r J!r!J"r"  S SK#J$r$J%r%J&r&J'r'J(r(  \((       a  S SK)J*r*  S SK+J,r,  S SK-J.r.  \" S5       " S S\S   \S   \	S   \S   \S   5      5       r/g)    )CreateableAPIResource)DeletableAPIResource)ExpandableField)
ListObject)ListableAPIResource)nested_resource_class_methods)RequestOptions)SearchResultObject)SearchableAPIResource)StripeObject)UpdateableAPIResource)class_method_variantsanitize_id)	AsyncIteratorClassVarDictIteratorListOptionalUnioncastoverload)LiteralNotRequired	TypedDictUnpackTYPE_CHECKING)Price)ProductFeature)TaxCodefeaturec            	          \ rS rSr% SrSr\\S      \S'    " S S\	5      r
 " S S\	5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r " S% S&\5      r " S' S(\5      r " S) S*\5      r " S+ S,\5      r " S- S.\5      r  " S/ S0\5      r! " S1 S2\5      r"\#\S3'    \$\S4'    \%\&S5      \S6'    \%\S7      \S8'    \%\'   \S9'    \'\S:'    \(\'   \S;'    \#\S<'    \(\
   \S='    \)\'\'4   \S>'    \'\S?'    \S   \S@'    \%\   \SA'    \%\#   \SB'    \%\'   \SC'    \%\&SD      \SE'    \SF   \SG'    \%\'   \SH'    \$\SI'    \%\'   \SJ'    \*SK\+SL   SMS 4SN j5       r,\*SK\+SL   SMS 4SO j5       r-\*SP\'SK\+SQ   SMS 4SR j5       r.\/\0SP\'SK\+SQ   SMS 4SS j5       5       r1\/SK\+SQ   SMS 4ST j5       r1\2" SU5      SK\+SQ   SMS 4SV j5       r1\*SP\'SK\+SQ   SMS 4SW j5       r3\/\0SP\'SK\+SQ   SMS 4SX j5       5       r4\/SK\+SQ   SMS 4SY j5       r4\2" SZ5      SK\+SQ   SMS 4S[ j5       r4\*SK\+S\   SM\5S    4S] j5       r6\*SK\+S\   SM\5S    4S^ j5       r7\*S:\'SK\+S_   SMS 4S` j5       r8\*S:\'SK\+S_   SMS 4Sa j5       r9\*S:\'SK\+Sb   SMS 4Sc j5       r:\*S:\'SK\+Sb   SMS 4Sd j5       r;\*Se\+Sf   SM\<S    4Sg j5       r=\*Se\+Sf   SM\<S    4Sh j5       r>\*Se\+Sf   SM\?S    4Si j5       r@\*Se\+Sf   SM\AS    4Sj j5       rB\*S\'S:\'SK\+Sk   SMSl4Sm j5       rC\*S\'S:\'SK\+Sk   SMSl4Sn j5       rD\*S\'S:\'SK\+So   SMSl4Sp j5       rE\*S\'S:\'SK\+So   SMSl4Sq j5       rF\*S\'SK\+Sr   SM\5Sl   4Ss j5       rG\*S\'SK\+Sr   SM\5Sl   4St j5       rH\*S\'SK\+Su   SMSl4Sv j5       rI\*S\'SK\+Su   SMSl4Sw j5       rJ\
\Sx.rKSyrLgz){Product(   a  
Products describe the specific goods or services you offer to your customers.
For example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.
They can be used in conjunction with [Prices](https://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions.

Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription),
[share a Payment Link](https://stripe.com/docs/payment-links),
[accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront),
and more about [Products and Prices](https://stripe.com/docs/products-prices/overview)
productOBJECT_NAMEc                   &    \ rS rSr% \\   \S'   Srg)Product.MarketingFeature=   name N)__name__
__module____qualname____firstlineno__r   str__annotations____static_attributes__r+       R/home/kali/devsecops-assessor/venv/lib/python3.13/site-packages/stripe/_product.pyMarketingFeaturer(   =   s    sm	r3   r5   c                   D    \ rS rSr% \\S'    \\S'    \\S'    \\S'   Srg)Product.PackageDimensionsC   heightlengthweightwidthr+   Nr,   r-   r.   r/   floatr1   r2   r+   r3   r4   PackageDimensionsr7   C   0    	 	 	 	r3   r?   c                   8    \ rS rSr% \\S'    \\\      \S'   Srg)Product.CreateFeatureParamsU   entitlement_featureexpandr+   N)	r,   r-   r.   r/   r0   r1   r   r   r2   r+   r3   r4   CreateFeatureParamsrB   U   s#      	 DI&&	r3   rF   c                   P   \ rS rSr% \\   \S'    \S   \S'    \\   \S'    \\\      \S'    \\   \S'    \\\      \S'    \\S	      \S
'    \\	\\4      \S'    \\S'    \S   \S'    \\   \S'    \\   \S'    \\   \S'    \\
S      \S'    \\   \S'    \\   \S'   Srg)Product.CreateParams_   active$Product.CreateParamsDefaultPriceDatadefault_price_datadescriptionrE   idimages$Product.CreateParamsMarketingFeaturemarketing_featuresmetadatar*   %Product.CreateParamsPackageDimensionspackage_dimensions	shippablestatement_descriptortax_codegoodservicetype
unit_labelurlr+   N)r,   r-   r.   r/   r   boolr1   r0   r   r   r   r2   r+   r3   r4   CreateParamsrH   _   sA   D!!	 ((NOO	 !%%	 DI&&	 	 DI&&	 (78
 	
	 d38n--	 		 (3
 	
	 t$$	 *#..	 c""	 '"3455	  $$	 	r3   r_   c                       \ rS rSr% \\S'    \\\S4      \S'    \S   \S'    \\\\4      \S'    \S   \S	'    \\S
      \S'    \\	   \S'    \\   \S'   Sr
g)rK      currency3Product.CreateParamsDefaultPriceDataCurrencyOptionscurrency_options4Product.CreateParamsDefaultPriceDataCustomUnitAmountcustom_unit_amountrR   -Product.CreateParamsDefaultPriceDataRecurring	recurring	exclusive	inclusiveunspecifiedtax_behaviorunit_amountunit_amount_decimalr+   N)r,   r-   r.   r/   r0   r1   r   r   r   intr2   r+   r3   r4   CreateParamsDefaultPriceData$Product.CreateParamsDefaultPriceData   s    	 &KKL
 	
	 (B
 	
	 d38n--	 NOO	 ";<
 	
	 !%%	 )--	r3   rq   c                   z    \ rS rSr% \S   \S'    \\S      \S'    \\S      \S'    \\   \S'    \\	   \S	'   S
r
g)rc      CProduct.CreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmountrf   ri   rm   7Product.CreateParamsDefaultPriceDataCurrencyOptionsTiertiersrn   ro   r+   N)r,   r-   r.   r/   r   r1   r   r   rp   r0   r2   r+   r3   r4   +CreateParamsDefaultPriceDataCurrencyOptions3Product.CreateParamsDefaultPriceDataCurrencyOptions   su    'Q
 	
	 ";<
 	
	 JK
 	
	 !%%	 )--	r3   rx   c                   V    \ rS rSr% \\S'    \\   \S'    \\   \S'    \\   \S'   Srg)ru      enabledmaximumminimumpresetr+   N	r,   r-   r.   r/   r^   r1   r   rp   r2   r+   r3   r4   ;CreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmountCProduct.CreateParamsDefaultPriceDataCurrencyOptionsCustomUnitAmount   sD     	 S!!	 S!!	 C  	r3   r   c                   x    \ rS rSr% \\   \S'    \\   \S'    \\   \S'    \\   \S'    \\	S   \4   \S'   Sr
g	)
rv      flat_amountflat_amount_decimalrn   ro   infup_tor+   N)r,   r-   r.   r/   r   rp   r1   r0   r   r   r2   r+   r3   r4   /CreateParamsDefaultPriceDataCurrencyOptionsTier7Product.CreateParamsDefaultPriceDataCurrencyOptionsTier   sc     %%	 )--	 !%%	 )--	 WU^S())	r3   r   c                   V    \ rS rSr% \\S'    \\   \S'    \\   \S'    \\   \S'   Srg)re   i  r|   r}   r~   r   r+   Nr   r+   r3   r4   ,CreateParamsDefaultPriceDataCustomUnitAmount4Product.CreateParamsDefaultPriceDataCustomUnitAmount  sB    	 S!!	 S!!	 C  	r3   r   c                   8    \ rS rSr% \S   \S'    \\   \S'   Srg)rg   i(  )daymonthweekyearintervalinterval_countr+   N)	r,   r-   r.   r/   r   r1   r   rp   r2   r+   r3   r4   %CreateParamsDefaultPriceDataRecurring-Product.CreateParamsDefaultPriceDataRecurring(  s%    899	 $C((	r3   r   c                        \ rS rSr% \\S'   Srg)rP   i2  r*   r+   Nr,   r-   r.   r/   r0   r1   r2   r+   r3   r4   CreateParamsMarketingFeature$Product.CreateParamsMarketingFeature2      		r3   r   c                   D    \ rS rSr% \\S'    \\S'    \\S'    \\S'   Srg)rS   i8  r9   r:   r;   r<   r+   Nr=   r+   r3   r4   CreateParamsPackageDimensions%Product.CreateParamsPackageDimensions8  r@   r3   r   c                       \ rS rSrSrg)Product.DeleteFeatureParamsiJ  r+   Nr,   r-   r.   r/   r2   r+   r3   r4   DeleteFeatureParamsr   J      r3   r   c                       \ rS rSrSrg)Product.DeleteParamsiM  r+   Nr   r+   r3   r4   DeleteParamsr   M  r   r3   r   c                   b    \ rS rSr% \\   \S'    \\\      \S'    \\   \S'    \\   \S'   Sr	g)Product.ListFeaturesParamsiP  ending_beforerE   limitstarting_afterr+   N)
r,   r-   r.   r/   r   r0   r1   r   rp   r2   r+   r3   r4   ListFeaturesParamsr   P  sL    "3''	 DI&&	 3	 $C((	r3   r   c                       \ rS rSr% \\   \S'    \S   \S'    \\   \S'    \\\      \S'    \\\      \S'    \\	   \S'    \\   \S	'    \\   \S
'    \\
S      \S'    \\   \S'   Srg)Product.ListParamsib  rJ   zProduct.ListParamsCreated|intcreatedr   rE   idsr   rU   r   rX   r[   r]   r+   N)r,   r-   r.   r/   r   r^   r1   r0   r   rp   r   r2   r+   r3   r4   
ListParamsr   b  s    D!!	 <==	 #3''	 DI&&	 c##	 3	 t$$	 $C((	 '"3455	 	r3   r   c                   \    \ rS rSr% \\   \S'    \\   \S'    \\   \S'    \\   \S'   Srg)Product.ListParamsCreatedi  gtgteltlter+   N)r,   r-   r.   r/   r   rp   r1   r2   r+   r3   r4   ListParamsCreatedr     sH    	 	 	 	r3   r   c                      \ rS rSr% \\   \S'    \\   \S'    \S   \S'    \\\      \S'    \S   \S'    \S	   \S
'    \S   \S'    \\   \S'    \S   \S'    \\   \S'    \\   \S'    \S   \S'    \S   \S'    \S   \S'   Sr	g)Product.ModifyParamsi  rJ   default_pricezLiteral['']|strrM   rE   zLiteral['']|List[str]rO   z6Literal['']|List[Product.ModifyParamsMarketingFeature]rQ   zLiteral['']|Dict[str, str]rR   r*   z1Literal['']|Product.ModifyParamsPackageDimensionsrT   rU   rV   rW   r\   r]   r+   N)
r,   r-   r.   r/   r   r^   r1   r0   r   r2   r+   r3   r4   ModifyParamsr     s   D!!	 #3''	 !!233	 DI&&	 344	 (D
 	
	 :;;	 #	 (?
 	
	 t$$	 *#..	 /00	   122	 *++	r3   r   c                        \ rS rSr% \\S'   Srg)$Product.ModifyParamsMarketingFeaturei  r*   r+   Nr   r+   r3   r4   ModifyParamsMarketingFeaturer     r   r3   r   c                   D    \ rS rSr% \\S'    \\S'    \\S'    \\S'   Srg)%Product.ModifyParamsPackageDimensionsi  r9   r:   r;   r<   r+   Nr=   r+   r3   r4   ModifyParamsPackageDimensionsr     r@   r3   r   c                   ,    \ rS rSr% \\\      \S'   Srg)Product.RetrieveFeatureParamsi  rE   r+   N	r,   r-   r.   r/   r   r   r0   r1   r2   r+   r3   r4   RetrieveFeatureParamsr         DI&&	r3   r   c                   ,    \ rS rSr% \\\      \S'   Srg)Product.RetrieveParamsi  rE   r+   Nr   r+   r3   r4   RetrieveParamsr     r   r3   r   c                   \    \ rS rSr% \\\      \S'    \\   \S'    \\   \S'    \\S'   Sr	g)Product.SearchParamsi  rE   r   pagequeryr+   N)
r,   r-   r.   r/   r   r   r0   r1   rp   r2   r+   r3   r4   SearchParamsr     sF    DI&&	 3	 #	 
	r3   r   rJ   r   r   r   TdeletedrM   rN   rO   livemoderQ   rR   r*   objectrT   rU   rV   r    rW   rX   r[   r\   updatedr]   paramsrH   returnc           	      T    [        SU R                  SU R                  5       US95      $ )
Creates a new product object.
r#   postr   )r   _static_request	class_urlclsr   s     r4   createProduct.createf  s6    
    
 	
r3   c           	      p   #    [        SU R                  SU R                  5       US9I Sh  vN 5      $  N7f)r   r#   r   r   N)r   _static_request_asyncr   r   s     r4   create_asyncProduct.create_asynct  sC      ++ ,  
 	
s   )64
	6sidr   c           	      x    U R                  5       < S[        U5      < 3n[        SU R                  SUUS95      $ )
Delete a product. Deleting a product is only possible if it has no prices associated with it. Additionally, deleting a product with type=good is only possible if it has no SKUs associated with it.
/r#   deleter   r   r   r   r   r   r   r   r]   s       r4   _cls_deleteProduct._cls_delete  sE     +c*:;   
 	
r3   c                     gr   Nr+   r   r   s     r4   r   Product.delete  s     	r3   c                     gr   r+   selfr   s     r4   r   r     s    
 	r3   r   c                 @    U R                  SU R                  5       US9$ )r   r   r   )_request_and_refreshinstance_urlr   s     r4   r   r     s.     (( ) 
 	
r3   c           	         #    U R                  5       < S[        U5      < 3n[        SU R                  SUUS9I Sh  vN 5      $  N7f)r   r   r#   r   r   Nr   r   r   r   r   s       r4   _cls_delete_asyncProduct._cls_delete_async  sR      +c*:;++ ,  
 	
   ;AA
	Ac                    #    g7fr   r+   r   s     r4   delete_asyncProduct.delete_async  s
      	   c                    #    g7fr   r+   r   s     r4   r   r     s
      	r   r   c                 \   #    U R                  SU R                  5       US9I Sh  vN $  N7f)r   r   r   N)_request_and_refresh_asyncr   r   s     r4   r   r     s;      44 5 
 
 	
 
s   #,*,r   c                     U R                  SU R                  5       US9n[        U[        5      (       d!  [	        S[        U5      R                  -  5      eU$ )
Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.
getr   %Expected list object from API, got %s)r   r   
isinstancer   	TypeErrorr[   r,   r   r   results      r4   listProduct.list  s`     $$MMO % 

 &*--7<((* 
 r3   c                    #    U R                  SU R                  5       US9I Sh  vN n[        U[        5      (       d!  [	        S[        U5      R                  -  5      eU$  N<7f)r  r  r   Nr  )r   r   r  r   r  r[   r,   r	  s      r4   
list_asyncProduct.list_async  sm      00MMO 1 
 

 &*--7<((* 
 
s   #A$A"=A$r   c           	      x    U R                  5       < S[        U5      < 3n[        SU R                  SUUS95      $ )
Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
r   r#   r   r   r   r   rN   r   r]   s       r4   modifyProduct.modify  sD     +b/:   
 	
r3   c           	         #    U R                  5       < S[        U5      < 3n[        SU R                  SUUS9I Sh  vN 5      $  N7f)r  r   r#   r   r   Nr   r  s       r4   modify_asyncProduct.modify_async  sQ      +b/:++ ,  
 	
r   r   c                 8    U " U40 UD6nUR                  5         U$ )
Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.
)refreshr   rN   r   instances       r4   retrieveProduct.retrieve.  s$     r$V$r3   c                 T   #    U " U40 UD6nUR                  5       I Sh  vN   U$  N7f)r  N)refresh_asyncr  s       r4   retrieve_asyncProduct.retrieve_async9  s2      r$V$$$&&& 	's   (&(kwargsr   c                 *    U R                   " USS0UD6$ )  
Search for products you've previously created using Stripe's [Search Query Language](https://docs.stripe.com/docs/search#search-query-language).
Don't use search in read-after-write flows where strict consistency is necessary. Under normal operating
conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up
to an hour behind during outages. Search functionality is not available to merchants in India.

search_url/v1/products/search)_searchr   argsr#  s      r4   searchProduct.searchD  s     {{dM&;MfMMr3   c                 F   #    U R                   " USS0UD6I Sh  vN $  N7f)r%  r&  r'  N)_search_asyncr)  s      r4   search_asyncProduct.search_asyncP  s7      &&/3
,
7=
 
 	
 
s   !!c                 B    U R                   " U0 UD6R                  5       $ N)r+  auto_paging_iterr)  s      r4   search_auto_paging_iterProduct.search_auto_paging_iter^  s!     zz4*6*;;==r3   c                 ^   #    U R                   " U0 UD6I S h  vN R                  5       $  N7fr2  )r/  r3  r)  s      r4   search_auto_paging_iter_async%Product.search_auto_paging_iter_asyncd  s,      &&777IIKK7s   -+-r   r   c                 x    [        SU R                  SSR                  [        U5      [        U5      S9US95      $ )-
Deletes the feature attachment to a product
r   r   $/v1/products/{product}/features/{id}r%   rN   r   r   r   formatr   r   r%   rN   r   s       r4   delete_featureProduct.delete_featurej  sP     6=='0[_ >     	
 		
r3   c                    #    [        SU R                  SSR                  [        U5      [        U5      S9US9I Sh  vN 5      $  N7f)r:  r   r   r;  r<  r   Nr   r   r>  r   r?  s       r4   delete_feature_asyncProduct.delete_feature_async  s]      ++6=='0[_ >   ,  	
 		
r   r   c                 x    [        SU R                  SSR                  [        U5      [        U5      S9US95      $ )Q
Retrieves a product_feature, which represents a feature attachment to a product
r   r  r;  r<  r   r=  r?  s       r4   retrieve_featureProduct.retrieve_feature  sP     6=='0[_ >     	
 		
r3   c                    #    [        SU R                  SSR                  [        U5      [        U5      S9US9I Sh  vN 5      $  N7f)rG  r   r  r;  r<  r   NrC  r?  s       r4   retrieve_feature_asyncProduct.retrieve_feature_async  s]      ++6=='0[_ >   ,  	
 		
r   r   c                 r    [        [        S   U R                  SSR                  [	        U5      S9US95      $ )+
Retrieve a list of features for a product
r   r  /v1/products/{product}/featuresr%   r   )r   r   r   r>  r   r   r%   r   s      r4   list_featuresProduct.list_features  sP     '(188'0 9     	
 		
r3   c                    #    [        [        S   U R                  SSR                  [	        U5      S9US9I Sh  vN 5      $  N7f)rN  r   r  rO  rP  r   N)r   r   r   r>  r   rQ  s      r4   list_features_asyncProduct.list_features_async  s]      '(++188'0 9   ,  	
 		
s   8AA
	ArB   c                 d    [        SU R                  SSR                  [        U5      S9US95      $ )O
Creates a product_feature, which represents a feature attachment to a product
r   r   rO  rP  r   r=  rQ  s      r4   create_featureProduct.create_feature  sJ     188'0 9     	
 		
r3   c                    #    [        SU R                  SSR                  [        U5      S9US9I Sh  vN 5      $  N7f)rX  r   r   rO  rP  r   NrC  rQ  s      r4   create_feature_asyncProduct.create_feature_async  sW      ++188'0 9   ,  	
 		
s   1><
	>)rQ   rT   r+   N)Mr,   r-   r.   r/   __doc__r&   r   r   r1   r   r5   r?   r	   rF   r_   r   rq   rx   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r^   rp   r   r   r0   r   r   classmethodr   r   r   r   r   staticmethodr   r   r   r   r   r  r  r  r  r  r!  r
   r+  r/  r   r4  r   r7  r@  rD  rH  rK  rR  rU  rY  r\  _inner_class_typesr2   r+   r3   r4   r#   r#   (   s3   	 1:K'),-9< L $n G~ GR&y &Pi 8() ,y $	 y 	 $n ~ ^ $(^ (TI $?~ ?By 	 $  ~ $ L L OG455 gdm$$ # 	G I N -.. 38n I I !!233 ~ #3-' y122 #
$$  L 
# 
f%;< 
 
 
 
45
	
 
 

!'(>!?
	
 
  "#9:	   v&<= )   -(

56

	

 )

 

!'(>!?
	
 
  "#9:	   56	  -.

56

	

 /

 23	I	 & 23	I	 & 

 &'= >
	
 
  

 &'= >
	
 
   &'? @	   &'? @	  	N$%;<	N	I	&	N 	N 
$%;<
	I	&
 
 >$%;<>	)	> >
 L$%;<L	y	!L L
 

 
 67	

 

 
( 

 
 67	

 

 
( 

 
 89	

 

 
( 

 
 89	

 

 
( 

%+,H%I
	$	%
 
" 

%+,H%I
	$	%
 
" 

%+,I%J
	
 
" 

%+,I%J
	
 
$ //r3   r#   N)0stripe._createable_api_resourcer   stripe._deletable_api_resourcer   stripe._expandable_fieldr   stripe._list_objectr   stripe._listable_api_resourcer   %stripe._nested_resource_class_methodsr   stripe._request_optionsr	   stripe._search_result_objectr
   stripe._searchable_api_resourcer   stripe._stripe_objectr   stripe._updateable_api_resourcer   stripe._utilr   r   typingr   r   r   r   r   r   r   r   r   typing_extensionsr   r   r   r   r   stripe._pricer   stripe._product_featurer   stripe._tax_coder    r#   r+   r3   r4   <module>rs     s    B ? 4 * = O 2 ; A . A :
 
 
  #6( y)`)$#	")$)$` *`r3   