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 to configure pricing in Payment Links, Checkout, and Subscriptions.
Related guides: Set up a subscription, share a Payment Link, accept payments with Checkout, and more about Products and Prices
Attributes
- idstring
Unique identifier for the object.
- activeboolean
Whether the product is currently available for purchase.
- default_
pricenullable stringExpandable The ID of the Price object that is the default price for this product.
- descriptionnullable string
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.
- metadataobject
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.
- namestring
The product’s name, meant to be displayable to the customer.
More attributes
- objectstring
- createdtimestamp
- imagesarray of strings
- livemodeboolean
- marketing_
featuresarray of objects - package_
dimensionsnullable object - shippablenullable boolean
- statement_
descriptornullable string - tax_
codenullable stringExpandable - unit_
labelnullable string - updatedtimestamp
- urlnullable string
{ "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}
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.
- metadataobject
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
.
More parameters
- default_
price_ dataobject - imagesarray of strings
- marketing_
featuresarray of objects - package_
dimensionsobject - shippableboolean
- statement_
descriptorstring - tax_
codestring - unit_
labelstring - urlstring
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}
Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
Parameters
- activeboolean
Whether the product is available for purchase.
- default_
pricestring The ID of the Price object that is the default price for this product.
- 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.
- metadataobject
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
. - namestring
The product’s name, meant to be displayable to the customer.
More parameters
- imagesarray of strings
- marketing_
featuresarray of objects - package_
dimensionsobject - shippableboolean
- statement_
descriptorstring - tax_
codestring - unit_
labelstring - urlstring
Returns
Returns the product object if the update succeeded.
{ "id": "prod_NWjs8kKbJWmuuc", "object": "product", "active": true, "created": 1678833149, "default_price": null, "description": null, "images": [], "marketing_features": [], "livemode": false, "metadata": { "order_id": "6735" }, "name": "Gold Plan", "package_dimensions": null, "shippable": null, "statement_descriptor": null, "tax_code": null, "unit_label": null, "updated": 1678833149, "url": null}
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.
Parameters
No parameters.
Returns
Returns a product object if a valid identifier was provided.
{ "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}