cart stateSelection, totals, and line items live in the SDK — never in your markup.
pricingPackage prices and discounts come from the CampaignSpec at render time.
order submitPayment capture and order creation, including failure retry.
hydrationEvery data-next-* attribute is wired on load. No JS required from you.
analyticsCanonical events, commerce payloads, campaign identity, and provider delivery stay in the SDK runtime.
page routingThe funnel order is fixed by the contract: landing → information → shipping → billing → upsell → receipt.
step progressionInformation → shipping → billing progression and cross-step state — each step validates before advancing.