Creates a new product object.
Parameters
- namestringRequired
The product’s name, meant to be displayable to the customer.
- activeboolean
Whether the product is currently available for purchase. Defaults to
true
. - descriptionstring
The product’s description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
- idstring
An identifier will be randomly generated by Stripe. You can optionally override this ID, but the ID must be unique across all products in your Stripe account.
- metadataassociative array
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. - tax_
codestringRecommended if calculating taxes A tax code ID.
More parameters
- default_
price_ dataassociative array Data used to generate a new Price object. This Price will be set as the default price for this product.
- default_price_data.
currencyenumRequired Three-letter ISO currency code, in lowercase. Must be a supported currency.
- default_price_data.
currency_ optionsassociative array Prices defined in each available currency option. Each key must be a three-letter ISO currency code and a supported currency.
- default_price_data.
currency_options. <currency>. custom_ unit_ amountassociative arrayRequired conditionally When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.
- default_price_data.
currency_options. <currency>.custom_unit_amount. enabledbooleanRequired Pass in
true
to enablecustom_
, otherwise omitunit_ amount custom_
.unit_ amount - default_price_data.
currency_options. <currency>.custom_unit_amount. maximuminteger The maximum unit amount the customer can specify for this item.
- default_price_data.
currency_options. <currency>.custom_unit_amount. minimuminteger The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.
- default_price_data.
currency_options. <currency>.custom_unit_amount. presetinteger The starting unit amount which can be updated by the customer.
- default_price_data.
currency_options. <currency>. tax_ behaviorenumRecommended if calculating taxes Only required if a default tax behavior was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of
inclusive
,exclusive
, orunspecified
. Once specified as eitherinclusive
orexclusive
, it cannot be changed.Possible enum valuesexclusive
inclusive
unspecified
- default_price_data.
currency_options. <currency>. tiersarray of associative arraysRequired if billing_scheme=tiered Each element represents a pricing tier. This parameter requires
billing_
to be set toscheme tiered
. See also the documentation forbilling_
.scheme - default_price_data.
currency_options. <currency>.tiers. up_ tostring | integerRequired Specifies the upper bound of this tier. The lower bound of a tier is the upper bound of the previous tier adding one. Use
inf
to define a fallback tier. - default_price_data.
currency_options. <currency>.tiers. flat_ amountinteger The flat billing amount for an entire tier, regardless of the number of units in the tier.
- default_price_data.
currency_options. <currency>.tiers. flat_ amount_ decimalstring Same as
flat_
, but accepts a decimal value representing an integer in the minor units of the currency. Only one ofamount flat_
andamount flat_
can be set.amount_ decimal - default_price_data.
currency_options. <currency>.tiers. unit_ amountinteger The per unit billing amount for each individual unit for which this tier applies.
- default_price_data.
currency_options. <currency>.tiers. unit_ amount_ decimalstring Same as
unit_
, but accepts a decimal value in cents with at most 12 decimal places. Only one ofamount unit_
andamount unit_
can be set.amount_ decimal
- default_price_data.
currency_options. <currency>. unit_ amountintegerRequired conditionally A positive integer in cents (or 0 for a free price) representing how much to charge.
- default_price_data.
currency_options. <currency>. unit_ amount_ decimalstringRequired conditionally Same as
unit_
, but accepts a decimal value in cents with at most 12 decimal places. Only one ofamount unit_
andamount unit_
can be set.amount_ decimal
- default_price_data.
custom_ unit_ amountassociative arrayRequired unless unit_amount is provided When set, provides configuration for the amount to be adjusted by the customer during Checkout Sessions and Payment Links.
- default_price_data.
custom_unit_amount. enabledbooleanRequired Pass in
true
to enablecustom_
, otherwise omitunit_ amount custom_
.unit_ amount - default_price_data.
custom_unit_amount. maximuminteger The maximum unit amount the customer can specify for this item.
- default_price_data.
custom_unit_amount. minimuminteger The minimum unit amount the customer can specify for this item. Must be at least the minimum charge amount.
- default_price_data.
custom_unit_amount. presetinteger The starting unit amount which can be updated by the customer.
- default_price_data.
metadataassociative array Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. - default_price_data.
recurringassociative array The recurring components of a price such as
interval
andinterval_
.count - default_price_data.
recurring. intervalenumRequired Specifies billing frequency. Either
day
,week
,month
oryear
.Possible enum valuesday
month
week
year
- default_price_data.
recurring. interval_ countinteger The number of intervals between subscription billings. For example,
interval=month
andinterval_
bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).count=3
- default_price_data.
tax_ behaviorenumRecommended if calculating taxes Only required if a default tax behavior was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of
inclusive
,exclusive
, orunspecified
. Once specified as eitherinclusive
orexclusive
, it cannot be changed.Possible enum valuesexclusive
inclusive
unspecified
- default_price_data.
unit_ amountintegerRequired conditionally A positive integer in cents (or 0 for a free price) representing how much to charge. One of
unit_
,amount unit_
, oramount_ decimal custom_
is required.unit_ amount - default_price_data.
unit_ amount_ decimalstringRequired conditionally Same as
unit_
, but accepts a decimal value in cents with at most 12 decimal places. Only one ofamount unit_
andamount unit_
can be set.amount_ decimal
- imagesarray of strings
A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
- marketing_
featuresarray of associative arrays A list of up to 15 marketing features for this product. These are displayed in pricing tables.
- marketing_features.
namestringRequired The marketing feature name. Up to 80 characters long.
- package_
dimensionsassociative array The dimensions of this product for shipping purposes.
- package_dimensions.
heightfloatRequired Height, in inches. Maximum precision is 2 decimal places.
- package_dimensions.
lengthfloatRequired Length, in inches. Maximum precision is 2 decimal places.
- package_dimensions.
weightfloatRequired Weight, in ounces. Maximum precision is 2 decimal places.
- package_dimensions.
widthfloatRequired Width, in inches. Maximum precision is 2 decimal places.
- shippableboolean
Whether this product is shipped (i.e., physical goods).
- statement_
descriptorstring An arbitrary string to be displayed on your customer’s credit card or bank statement. While most banks display this information consistently, some may display it incorrectly or not at all.
This may be up to 22 characters. The statement description may not include
<
,>
,\
,"
,'
characters, and will appear on your customer’s statement in capital letters. Non-ASCII characters are automatically stripped. It must contain at least one letter. Only used for subscription payments. - unit_
labelstring A label that represents units of this product. When set, this will be included in customers’ receipts, invoices, Checkout, and the customer portal.
- urlstring
A URL of a publicly-accessible webpage for this product.
Returns
Returns a product object if the call succeeded.
{ "id": "prod_NWjs8kKbJWmuuc", "object": "product", "active": true, "created": 1678833149, "default_price": null, "description": null, "images": [], "marketing_features": [], "livemode": false, "metadata": {}, "name": "Gold Plan", "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null, "unit_label": null, "updated": 1678833149, "url": null}