Custom HTML
Install Plandalf on any HTML page with one script tag, checkout attributes, inline mounts, and optional promo widgets.
Use this path for static sites, hand-coded landing pages, CMS templates, and any builder that lets you paste custom HTML. Start with one button that opens one published offer, then add inline checkout, promos, identity, or test mode after the first click works.
Use the SDK primitives directly
The Numi share-code generator exposes three canonical install patterns: data-plandalf-present, data-plandalf-mount, and hosted links. Custom HTML pages use the first two.
The path
-
Add the SDK script from your organization host on pages that contain a checkout button, inline checkout, or promo widget.
-
Put
data-plandalf-presenton a button or link and use the offer slug as the value. -
Keep the default modal first. Add
data-plandalf-frame,data-plandalf-size, ordata-plandalf-modeafter the basic button works. -
Open checkout, complete a test session, and verify redirects, invoices, webhooks, and automations.
Minimal install
Custom HTML install
<script>
window.plandalf = window.plandalf || function () {
(window.plandalf.q = window.plandalf.q || []).push(arguments);
};
</script>
<script src="https://acme.plandalf.com/js/plandalf-sdk.js" async></script><button data-plandalf-present="pro-plan">
Buy Pro
</button><div data-plandalf-mount="pro-plan" style="min-height: 480px"></div> Add options
Use attributes when the behavior belongs to the element. Use JavaScript when you need to compute values from page state, analytics, or logged-in user context.
Supported HTML attributes
data-plandalf-presentoffer slugOpens the offer in a frame when the element is clicked.
data-plandalf-mountoffer slugRenders the offer inline inside that element.
data-plandalf-framemodal | slideout | bottom | fullscreenControls the presentation frame for trigger buttons.
data-plandalf-sizecompact | standard | wide | fullscreenControls the frame size for trigger buttons.
data-plandalf-apply-promopromo slugApplies active promo-tier pricing to the offer.
data-plandalf-modelive | test | previewRoutes the checkout through the selected environment.
Programmatic control
When a page needs custom logic, wait for the SDK and call the same primitives directly.
plandalf.ready((sdk) => {
document.querySelector("[data-buy-pro]").addEventListener("click", () => {
sdk.present("pro-plan", {
frame: "slideout",
mode: "test"
});
});
});
Keep promo widgets separate from promo pricing
Use data-plandalf-promo on a standalone element to render a countdown or promo widget. Use data-plandalf-apply-promo on present or mount elements to apply the promo price to checkout.
Related docs
Builder context
Connect platform setup to the full stack.
Platform docs explain where an external system fits. The related surfaces show how integrations, offers, payments, invoices, and automation stay visible in Plandalf.