We built a checkout so you don’t have to
Launch a branded, conversion-optimized signup for the German energy market. Our hosted checkout handles address validation, supplier search, IBAN, plausibility checks, and accessibility. Customers land on a per-plan subdomain derived fromplans.slug, fill out the form, and get redirected back to you once Nomos creates the subscription.

Example: a plan with slug lumio is reachable at lumio.checkout.energy, themed to your organization
Pre-fill query parameters
Pass through anything you already know about the customer and the form arrives pre-filled.- Fresh prospect
- Existing lead
- With attribution
https://lumio.checkout.energy/?zip=10115&usage=3500Attach metadata
Anything you pass as metadata on the checkout link is stored on the subscription’smetadata once the customer submits the form. Use it to tie the signup back to your own records: a user ID, a campaign, an installer, a referral code.
There are two ways to pass it, and you can combine them.
- Dotted params
- JSON param
Add one
metadata.<key> param per value. Values arrive as strings.metadata:
- Metadata on the lead referenced by
id. - Dotted
metadata.<key>params. - The JSON
metadataparam.
zip or id, the customer first enters their postal code on the start page, and the metadata carries over to the form.
Webhook payloads carry IDs only, so read it back with Retrieve a subscription after subscription.created fires.
metadata.email is reserved for attribution. Besides being stored in
metadata, it sets credited_to on the subscription to the rep or partner
who brought in the customer.Redirect after submission
By default, Nomos shows a branded confirmation page once the form is submitted.
Default confirmation page, themed to your organization
With
redirect_url set, the customer lands on your page with the subscription ID appended, for example https://example.com/thanks?subscription=sub_mi4f0oda6x9m7gcsvjk0ole1, and never sees the confirmation page. confirmation_back_url then has no effect.
React on your backend
Subscriptions originating from hosted checkout are tagged withsource: "checkout", so you can distinguish them when processing webhooks. Two events fire over the lifetime of a signup, separated in time:
subscription.createdimmediately, when the form is submitted. Use it to provision your own user record.subscription.confirmedlater, once the grid operator has accepted the switch. Use it for confirmation emails and to unlock portal access.
start_at with Retrieve a subscription after each subscription.confirmed, since the event fires again when the date changes.
Not every signup reaches supply:
- If the grid operator or previous supplier rejects the switch, Nomos handles the rejection and the subscription stays pending. No event fires until the switch is confirmed.
- If the customer withdraws before supply starts,
subscription.terminatedfires immediately, followed bysubscription.endedonce the end date has passed.
FAQ
Can I use my own domain instead of checkout.energy?
Can I use my own domain instead of checkout.energy?
Not yet. Plans live on
{plan.slug}.checkout.energy. The subdomain reads
your plan slug, applies your branding, and serves the form.Can I customize the form fields?
Can I customize the form fields?
The form is fixed: address, supplier, household size, IBAN, marketing
consent. To collect anything else, use Build your own
where you control the entire UI.
What languages are supported?
What languages are supported?
Currently only German (default) in a formal (Sie) and informal (Du) setting.