Separate what you sell from how it is priced:
  • A product describes the good or service.
  • A price describes amount, currency, and optional recurrence.
  • A coupon describes a discount rule.
  • A shipping rate describes a delivery charge.
  • A tax rate describes the tax treatment applied to an item or transaction.
Use stable product and price IDs in checkout and payment links. Store your own order and inventory identifiers in metadata. Never infer fulfillment from a product name or a price displayed in the browser.

One-time catalog

Use one-time prices for ordinary goods, event tickets, services, and donations. Include quantity and order metadata when creating a payment link or checkout session.

Recurring catalog

Use recurring prices for plans. A subscription references a customer and price, then creates invoices for each billing period. Use a new price for a materially different amount or billing interval instead of mutating a price already used by customers.

Discounts, shipping, and tax

Apply coupons, shipping rates, and tax rates explicitly. Show the customer the resulting total, preserve the inputs in metadata or invoice line items, and recompute totals server-side.