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.