A regulated energy checkout is a lot of UI work: address validation, supplier search, IBAN handling, plausibility checks, German-market copy, accessibility. Hosted checkout is the shortcut. Point customers at a URL on a Nomos-managed domain, and Nomos renders the form, validates the inputs, creates the subscription, and hands the customer back to you.Documentation Index
Fetch the complete documentation index at: https://docs.nomos.energy/llms.txt
Use this file to discover all available pages before exploring further.
When to use it
Pick hosted checkout if you want to ship a signup flow in days rather than weeks and you’re fine with customers briefly leaving your domain, the same way they would for a Stripe-hosted payment page. If you need pixel-level control, see Build your own checkout; both paths produce the samesubscription resource and emit the same webhooks.
How it works
Link to hosted checkout
Add a link or button on your site that points to your Nomos-hosted checkout
URL, optionally pre-filled with what you already know (zip code, expected
usage, lead ID).
Customer lands on a branded page
The page is white-labeled to your organization: your colors, your logo, your
font.
They complete the form
Nomos validates the address, checks the supplier directory, runs
plausibility checks on usage, and creates the subscription.
Customer is redirected
Nomos redirects to a URL you control (configured per plan), or to a hosted
confirmation page if you don’t set one.
Your URL
Each plan gets its own subdomain oncheckout.energy, derived from the plan’s slug:
Pre-fill query parameters
You almost always know something about the customer before they reach checkout: at least their zip code, often their household size or an existing lead. Pass that through as query params and the form arrives pre-filled.| Param | Type | What it does |
|---|---|---|
zip | string | German postal code. Drives the price quote and unlocks the rest of the form. |
usage | integer | Annual electricity usage in kWh. 2500 is a reasonable default for a 2-person household. |
id | string | A lead ID (lead_…). Pre-fills name, email, address, and IBAN from the lead record. |
metadata.<key> | string | Arbitrary key/value pairs persisted on the resulting subscription’s metadata. |
metadata.email | string | Email of the rep or partner credited for the conversion. Persisted as credited_to on the subscription. |
Branding
Hosted checkout is white-labeled by default. It reads from yourorg and applies:
- Colors from
orgs.colors: primary, accent, surface, etc. - Logo from
orgs.logo, shown in the header. - Font from
orgs.font, loaded automatically. - Plan-level overrides via
plans.colorsandplans.fonts, useful when one org runs multiple sub-brands.
Redirect after submission
When the customer completes the form, Nomos redirects to the URL configured inplans.redirect_url. Use this to drop them on a “thank you” page on your own site, your customer portal, or wherever your post-purchase flow lives.
If redirect_url is empty, Nomos shows a hosted confirmation page: a branded “we got it, here’s what happens next” view. Most partners set their own redirect URL once they have a portal; the hosted confirmation page is a fine default until then.
React on your backend
The redirect is the customer-facing handoff. The machine-facing handoff is webhooks; that’s what should drive your portal, CRM, and email flows. Two events fire over the lifetime of a hosted-checkout signup, separated in time:subscription.createdfires immediately after the form is submitted. Use it to provision your own user record.subscription.confirmedfires later, once the grid operator has accepted the switch. Use it for confirmation emails and to unlock portal access.
source: "checkout", which lets you distinguish them from API-created or dashboard-created subscriptions when you process webhooks.
For the full webhook setup including signature verification and retries, see Webhooks.
Hosted vs. build your own
Both paths land in the same place. Pick based on how much UI control you need.| Hosted checkout | Build your own | |
|---|---|---|
| Time to live | Hours (link in your nav) | Days to weeks |
| UI control | Branded via colors, logo, font | Pixel-level: it’s your code |
| Address validation | Built in | You wire up Plans quote |
| IBAN / SEPA UX | Built in | You build it |
| Domain in URL bar | {plan-slug}.checkout.energy | Yours |
| Post-checkout state | Webhooks + redirect URL | Same |