Add-ons and variants

Let customers add related products, variants, upgrades, and optional line items during checkout.

Add-ons and variants help customers tailor the purchase before they pay.

Use cases

  • add a workbook to a course purchase
  • choose a license or seat variant
  • add priority support to a service package
  • choose event ticket tiers
  • bundle a template pack with a core product

Checkout behavior

Add-ons should update the visible total before payment. The completed session should carry the selected line items so invoices, integrations, and automations know exactly what the customer bought.

Code path

The embed code does not change for add-ons:

const result = await plandalf.present("course-offer");

Inspect the completed session to read selected items:

if (result.status === "complete") {
  console.log(result.session.line_items);
}

Builder context

Build the offer beside the docs.

These pages explain the setup details. The matching product surfaces show where products, prices, checkout layout, invoices, and automation live in the app.

The Numi offer editor with product, theme, automation, invoice, and checkout controls.
The offer editor connects checkout layout, products, prices, invoice settings, and automation.
The Numi checkout element palette showing content, interactive, and selling blocks.
Checkout templates expose reusable blocks for product lists, add-ons, forms, buttons, and offer content.
The Numi offer editor automation tab showing sequence controls beside the checkout canvas.
Automation is configured beside the offer so post-purchase work stays attached to the sale.

Feature detail