v0.4.0
Breaking Changes
-
buyerEmailno longer falls back tobuyerIdentity—checkout.authenticated.create({ buyerIdentity, ... })used to silently copybuyerIdentityinto the outgoingbuyerEmailwhen the caller omittedbuyerEmail. It no longer does.buyerIdentityis for the JWT (merchant-side buyer identification) andbuyerEmailis for pre-filling the checkout page's email input; the two fields are fully independent.Migration: if you were passing a non-email
buyerIdentity(e.g. an internal user ID) and relying on the email input being pre-filled, passbuyerEmail: user.emailexplicitly alongsidebuyerIdentity.
Changed
AnonymousCheckoutParamswidened to full session params — now acceptsbuyerEmailandbillingDetailso merchants can pre-fill the checkout page without issuing a session token. Equivalent toCreateCheckoutSessionParams.AuthenticatedCheckoutParamsrestructured — now extendsCreateCheckoutSessionParamswith a single extra fieldbuyerIdentity. Implementation uses destructure-and-forward sobuyerIdentitycannot leak into the create-session payload.
Documentation
- JSDoc rewrites —
IssueSessionTokenParams.buyerIdentity,AuthenticatedCheckoutParams.buyerIdentity, and both checkout wrappers now clearly state thatbuyerIdentityis JWT-only and is not rendered on the checkout page.
Companion fix
Server-side fix: waffo-pancake-order-service v2026.04.15.1 — create-order no longer falls back buyerEmail to buyerIdentity.