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.
page routingThe funnel order is fixed by the contract: landing → checkout → upsell → receipt.
variantsColor, size, and flavor selection state with per-variant pricing — selector, cart, and totals stay in sync.