Skip to main content
Catalog objects turn one-off amounts into reusable commercial building blocks. Products describe what you sell. Prices describe how much a buyer pays.

The model

Products describe what you sell; prices describe how much a buyer pays for it; checkout sessions and payment links turn prices into line items.
  • Product — what you sell (“Starter plan”, “Donation”). Carries name, description, images, unit label, kind, metadata, cross-sells.
  • Price — belongs to one product; carries unit_amount, currency, nickname, active state. A product can hold many prices (monthly vs annual, USD vs EUR) with one default.
  • Line item — a price selected for a specific checkout or link ({"price_id": "price_...", "quantity": 2}). Checkout sessions also accept inline line items for one-off amounts; payment links are always catalog-backed.
  • Optional item — a buyer-selectable add-on line: expedited service, setup packages, cross-sells.
On Node, npm install @ionicfi/sdk gives you typed calls for every request below; the server SDK guide has details. Each example also shows raw curl.

Create a product

The product response includes the default price, representative price, price count, product kind, cross-sells, and timestamps.

Create a price

Use prices in checkout

Product fields

Price fields

When to use inline amounts instead

Inline amounts are useful for prototypes, quotes, and one-off service invoices. Catalog objects are better once a price is reused, reported on, exposed in a dashboard, or selected by a payment link builder.