Skip to main content

How products and prices work

Learn how products and prices in Go Network model your business.

Products and prices are core resources for many Go Network integrations. Products define what your business offers, whether that’s goods or services. Prices define how much and how often to charge for products.

You can create products and prices in Go Network or import them into Go Network through the API. After you create products and prices, you can use them with Checkout Sessions, Payment Links, Invoices.

Products

Products describe the specific goods or services you offer to your customers. Use cases include:

  • E-commerce: If you sell clothes online, you can create a separate product for each size and color combination of shirts, for example.

  • SaaS platform: You could offer basic and premium pricing tiers, where basic and premium are separate products.

Product IDs

Each product has a unique ID. Unlike most Go Network resources, you can choose the ID of the product yourself. We recommend choosing an ID that makes it easy to integrate Go Network with other systems you use. For example, if you’re selling physical goods, you can use the internal ID from your own systems.

Product names

When you create a product in Go Network, you have to provide a name. You can optionally add other attributes, like a description or image.

Prices

In Go Network, prices include additional information, such as tax behavior, volume tiers, and recurrence intervals for subscriptions. You don’t need to create new prices for each purchase–if you’re selling a product for one price, you only need to create one price. You can also make this price the default price for the product.

Multiple currencies

A single Price can support multiple currencies. For example, if you sell a product in the US for 10 USD, in Europe for 9 EUR, and in Japan for 1300 JPY, the same Price object can cover all three currencies. Each purchase uses one of the Price’s supported currencies, depending on how you use the Price in your integration. Learn more about multi-currency Prices.

Multiple prices

Because a product can have multiple prices associated with it, you need to specify which price to use when creating Checkout Sessions, Payment Links.

Unit amount

Most prices define a fixed unit_amount, but you can also configure the price to function with different tiers or usage-based models. Learn more about tiered pricing and usage-based pricing.

Working with products and prices

Create or import products and prices

The quickest way to get started with products and prices is to create them through the Go Network Dashboard.

If you have a large product catalog that you manage using a spreadsheet or other software, you might prefer to import the product catalog programmatically using the Products and Prices API. Learn more about import products and prices.

If you need to charge an amount of money that’s different for each transaction (for example, a user-selected donation amount), you can create the product, but not create a price. Instead, you can use the price_data parameter when creating Checkout Sessions or Subscriptions to set the particular price.

Use products and prices

When creating a Checkout Session, specify the price id for each line item. The Checkout Session uses the price to compute the order total. It also retrieves the product associated with the price, then uses the product's name and image to render the Checkout page.

Manage existing products and prices

You can update product details through the Dashboard or API. For example, you might change the description of a product, or add new product images to use on the Checkout page.

If you’re no longer selling a product, you can archive both it and the price through the Dashboard by clicking the Archive button, or through the API by setting active to false. We store the archived product and price information indefinitely to maintain records of past transactions.

In general, you can’t delete products or prices, you can only archive them. In certain cases, you can use the Dashboard to delete a price that has never been used, or to delete a product that doesn’t have any prices set.

To change the price of a product, create a new price for the new amount, then archive the existing price by setting active to false. Instead of changing the unit_amount on the existing price, you need to create a new price to make sure that we keep the existing price as an immutable record of past transactions.

You can set a default price on a product to specify the most common price to present to customers. You can change the default price to another price later, such as if you increase the price of your product.