Mode 1 — Prebuilt UI
A single Lunixi.portal.mount() call drives the entire journey: token validation → email OTP → plan selection → card verification (1.00 TRY + 3DS) → subscription start → dashboard. You draw none of the screens; colours and logo come from the branding you set in the dashboard.
The card step opens a real verification authorization. Run it while the merchant is wired to the TestBank acquirer.
What to look at
- The theme and locale buttons change the
theme/localefields of themount()config; the portal re-renders immediately. - The event log shows the
sdk-sessionbootstrap response and the SDK's callbacks (onSessionChange,onSubscriptionStarted,onError). - Reset session clears the portal session and the SDK's own
sessionStoragekeys, so you can watch the flow from the start.
This screen calls sdk-session from the browser so the flow stays observable. In production that endpoint is protected by BearerAuthGuard and is called from your own server; only the returned portalToken + sessionProof reach the browser.
What you need first
Your dashboard session's bearer token, a customer ID, an allow-listed origin, and FULL among the allowed modes — details in the Overview.