Skip to main content
Events are delivered via onMessage or widget.subscribe. Each message has type and optional payload.

Lifecycle

Configuration

Form

Payment

Upsell uses the same payment events. There are no separate UPSELL_START, UPSELL_SUCCESS, or UPSELL_ERROR events on the host. On page 2, listen for PAYMENT_SUCCESS / PAYMENT_ERROR and check payload.mode === 'upsell' (and payload.upsellId).

PAYMENT_SUCCESS payload

3D Secure

Shopify cart

Upsell guard

Errors (structured)

See Error codes for code values.

Internal (integrators rarely need these)

PS_WALLET_READINESS is a separate postMessage (not in EVENT_TYPES) used for wallet-only layout.

Example handler