Catalog

Products

A product is something you sell. Every checkout points at exactly one product. Each product has one or more prices.

One-time or recurring

A product is either:

  • One-time: recurring_interval is null. The buyer pays once and you ship the thing.
  • Recurring: recurring_interval is day, week, month, or year. Paying it creates a subscription and an invoice on every cycle.

The same checkout endpoint creates both. The buyer experience and the resulting webhook stream are the only things that change.

Identifying a product

Every product has two stable handles:

  • id: a UUID, also accepted in its prefixed form prod_<uuid>.
  • slug: a short, URL-safe label you set in the dashboard. Useful for the no-code buy link URL: https://pay.meridapay.com/pay/<slug>.

API endpoints that take a product accept either form.

Prices

A product holds an array of prices. Each price has an amount, a three-letter currency, and an amount_type (typically fixed). You can keep old prices around as is_archived: true so historical invoices still resolve.

The first non-archived price is the one a no-code buy link uses. The Checkout API can target a specific price by ID when you need to.

Listing and reading

bash
curl https://api.meridapay.com/products \
  -H "Authorization: Bearer $MERIDA_API_KEY"
json
{
  "data": [
    {
      "id": "prod_8f5f7c7e-…",
      "name": "Pro plan",
      "description": "Everything in Free, plus team seats.",
      "is_archived": false,
      "recurring_interval": "month",
      "recurring_interval_count": 1,
      "prices": [
        { "id": "…", "amount_type": "fixed", "amount": "29.00", "currency": "USD", "is_archived": false }
      ]
    }
  ],
  "total": 1,
  "limit": 50,
  "offset": 0
}

Fetch a single product:

bash
curl https://api.meridapay.com/products/prod_8f5f7c7e-... \
  -H "Authorization: Bearer $MERIDA_API_KEY"

Archiving

Products are never deleted, only archived. An archived product (is_archived: true) stops accepting new checkouts but its existing subscriptions and invoices keep working. Toggle archive from the product detail page in the dashboard.

Entitlements on a product

Attach feature entitlements to a product so anyone who buys it automatically gets access to those features. See Entitlements for the model and the runtime check.