Skip to content
On this page

Home > Payments > Products and prices

How products and prices work

Learn how products and prices in Payske model your business.

Products and prices are core resources for many Payske 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 Payske or import them into Payske through the API. After you create products and prices, you can use them with Checkout Sessions, Payment Links, or a custom integration to create Subscriptions.

Getting started

Ready to create or import some products and prices for use with Checkout Sessions, Payment Links or Subscriptions? See our guide to get started.

What is a product?

Products describe the specific goods or services you offer to your customers.

  • If you’re an e-commerce store selling clothing, one of your products might be a large white t-shirt. In Payske, you can create a separate product for each size and color combination.
  • If you’re a SaaS platform, you might have basic and premium pricing tiers. In this case, both basic and premium are separate products because they typically offer unique attributes or features.
  • If you’re a donation platform that accepts donations for several different causes, each cause is a different product.

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

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

What is a price?

In Payske, price objects are more than a numerical amount to pay. 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.

Prices can either be one-time or recurring. Subscriptions use recurring prices to charge the customer at an interval, such as “once a month.” If you sell the same service at several different subscription intervals, it’s best to create multiple recurring prices for the same product.

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

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 Payske 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

Payske CheckoutWhen 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.
Payment LinksUse the Dashboard to create a Payment Link based on a price. The Payment Link uses the price to compute the order total. It also retrieves the product associated with the price. The product’s name and image are used to render the Checkout page.
SubscriptionsWhen creating a Subscription, specify the price id. The price must be recurring. The recurrence interval API for the price defines the subscription’s billing period, and the amount for the price defines how much the subscription charges in each billing cycle. You can add more than one price to the same subscription as long as they have the same recurrence interval.

Use the Dashboard to create a Payment Link based on a price. The Payment Link uses the price to compute the order total. It also retrieves the product associated with the price. The product’s name and image are used 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.

Understand product and price compatibility

Not all features of products and prices are compatible with all Payske APIs. Consult the following table for compatibility information.

FeatureCheckoutPayment LinksQuotesSubscriptionsInvoices
Product images
Ignored*Ignored*Ignored*
Product descriptions
Ignored*Ignored*
Product tax categories
Product statement descriptor
Ignored*
Recurring prices
Multi-currency prices
Ignored*
Ignored*
Tiered prices
Disallowed*
Decimal amounts (for example, charging half-a-cent per unit)
Disallowed*
Usage-based prices
Disallowed*
Customer chooses price
Disallowed*Disallowed*Disallowed*

Entries marked as Disallowed indicate that if a product or price uses this feature, you can’t use that product or price with this Payske API.

Entries marked as Ignored indicate that the feature has no effect with this Payske API, but you can still use the product or price as usual.