Skip to main content
This example shows checkout on page 1 with savePaymentMethod: true, then an upsell charge on page 2 using upsell.initialPaymentSession.

Live demo

Open the interactive upsell demo in the sandbox playground.

Page 1 — checkout

Page 2 — upsell

Key points

  • Store paysightSession from PAYMENT_SUCCESS.payload, not your sessionId.
  • Handle DUPLICATE_TRANSACTION as success if the user refreshes page 2.
  • submitUpsell() requires hidePaymentButton: true or the in-iframe upsell button.