Create your first offer

Create a checkout offer that can be hosted, embedded, tested, and connected to follow-up workflows.

Create the offer before embedding it. The SDK opens an offer by slug, so the offer is the source of truth for layout, products, payment behavior, and completion handling.

Build the offer

  1. Create or import products

    Add products and prices in Plandalf, or sync them from Stripe where supported.

  2. Choose a template

    Start from a checkout template that matches the sale: simple purchase, multi-step application, subscription upgrade, bundle, or add-on flow.

  3. Customize the layout

    Arrange checkout blocks, copy, product summaries, payment methods, forms, and confirmation behavior.

  4. Test the flow

    Open a test session and confirm totals, invoices, taxes, discounts, bumps, and redirects.

  5. Publish

    Use the hosted URL or embed the offer with the SDK.

Open it from code

await plandalf.present("your-offer-slug");

Open it from HTML

<button data-plandalf-present="your-offer-slug">
  Buy now
</button>

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