hidePaymentButton: true with host-rendered buttons for a funnel-style checkout and upsell experience.
Live demo
Open the interactive external-button demo in the sandbox playground.
Page 1 — checkout with external button
Page 2 — upsell with external button
Error codes to handle
| Code | Action |
|---|---|
NOT_READY | Keep pay button disabled until READY |
VALIDATION_FAILED | Show missingFields to user |
INVALID_MODE | Use submitUpsell on page 2, not submitPayment |
PAYMENT_IN_PROGRESS | Disable button during processing |