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);
}
Related docs
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.
Offers product Hosted checkout, buy buttons, products, prices, coupons, bumps, upsells, invoices, and save offers. Hosted checkout The hosted buying surface for offers. Products The commercial objects attached to an offer. Prices One-time, subscription, package, tiered, and variant pricing. Checkout Optimization Lab A builder stack for improving checkout mechanics.