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 productHosted checkout, buy buttons, products, prices, coupons, bumps, upsells, invoices, and save offers.Hosted checkoutThe hosted buying surface for offers.ProductsThe commercial objects attached to an offer.PricesOne-time, subscription, package, tiered, and variant pricing.Checkout Optimization LabA builder stack for improving checkout mechanics.