Interface: FlowOpenOptions
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:544
Extends
FlowOpenOptions and its parent FlowStartOptions are active interfaces. Some migration comments in the TypeScript source are stale: the checkout runtime still reads older fields. The groups below reflect current behavior.
Properties
confirmClose?
optionalconfirmClose?: () =>boolean|Promise<boolean>
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:580
Merchant-supplied "are you sure?" gate. Resolved true allows the close
to proceed, false keeps the frame open. Replaces the previous boolean
+ label/title strings combo. Off when omitted.
Returns
boolean | Promise<boolean>
context?
optionalcontext?:Record<string,unknown>
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:513
Inherited from
continuity?
optionalcontinuity?:ContinuityScope
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:554
Per-call continuity override.
frame?
optionalframe?:FrameMode
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:560
Frame modality. Was previously mode — renamed because mode now means
the test/live/preview environment (see below).
metadata?
optionalmetadata?:Record<string,string>
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:593
Per-call Stripe-customer metadata. Eager string values only — for window-global lookups use the page-global PlandalfConfig.metadata thunk form. Wins over PlandalfConfig.metadata on overlap.
mode?
optionalmode?:"test"|"live"|"preview"
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:567
Session mode request. The inspected SDK session endpoint permits test mode when the offer has test mode enabled or the caller is an authenticated member of its organization. It does not use a JWT mode claim or test-domain setting for this decision. Without a Stripe test integration, payment selection falls back to live Stripe even for a test session. Verify the selected payment connection before submitting payment. The SDK session endpoint does not enable preview.
price?
optionalprice?:string|string[]
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:601
Plandalf price lookup key(s) to sell, using this offer as the checkout
design. Replaces the offer's own items — e.g. a MemberPress membership
page passes the price linked to that membership. Declarative:
data-plandalf-price="gold-monthly,gold-setup-fee".
promo?
optionalpromo?:PromoContext
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:515
Inherited from
properties?
optionalproperties?:Record<string,unknown>
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:586
Per-call form-field prefill defaults. Wins over PlandalfConfig.properties on overlap. See specs/sdk-checkout-config.md.
session?
optionalsession?:string|null
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:551
Session continuity token (cks_…). Pass explicitly to resume a specific session
server-side — cross-device handoff, email "continue your checkout" links, anywhere the
merchant has a token in hand. Pass null to force a fresh session and skip any stored
token. Omit entirely to let the SDK auto-detect.
sessionId?
optionalsessionId?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:529
Reuse an existing session UUID instead of creating a fresh one. Used by the auto-resume path to finalize against the ORIGINAL session after a redirect-based auth bounce — creating a new session would lose the draft upsell invoice that needs settling.
Inherited from
size?
optionalsize?:FlowSize| {h:string;w:string; }
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:573
Size of the modal panel. Either a named preset OR an explicit
{ w, h } object for one-off cases. Defaults to 'standard'.
templateId?
optionaltemplateId?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:505
Inherited from
templateSlug?
optionaltemplateSlug?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:504
Inherited from
user?
optionaluser?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:512
Customer JWT for THIS call only — overrides the SDK-wide identity from
plandalf.setUser() or the user init option. Useful for "buy as customer"
admin tooling, impersonation flows, or offers that need a different identity
than the global one. The value is the raw JWT string.
Inherited from
Supported compatibility options
The checkout runtime still reads these options. Prefer the newer frame, size, mode, and awaitable result where they cover the same use case.
animation?
optionalanimation?:"slide"|"fade"|"none"
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:621
Frame entrance animation.
backdrop?
optionalbackdrop?:boolean
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:617
Whether to render a backdrop behind the frame.
closeButton?
optionalcloseButton?:boolean
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:619
Whether to show the frame close button.
closeOnBackdrop?
optionalcloseOnBackdrop?:boolean
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:618
Whether a backdrop click closes the frame.
confirmLeaveLabel?
optionalconfirmLeaveLabel?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:626
Leave button text in the built-in close confirmation.
confirmMessage?
optionalconfirmMessage?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:624
Message in the built-in close confirmation.
confirmStayLabel?
optionalconfirmStayLabel?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:625
Stay button text in the built-in close confirmation.
confirmTitle?
optionalconfirmTitle?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:623
Title in the built-in close confirmation.
duration?
optionalduration?:number
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:622
Frame animation duration in milliseconds.
environment?
optionalenvironment?:"test"|"live"
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:609
Test or live session routing. The newer per-call name is mode.
Overrides
height?
optionalheight?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:616
Explicit frame height.
onClose?
optionalonClose?: (reason) =>void
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:628
Callback when the presented flow closes. Await the handle for the final result.
Parameters
reason
"complete" | "cancel" | "escape"
Returns
void
onComplete?
optionalonComplete?: (result) =>void
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:627
Callback on flow completion. Await the handle for the final result.
Parameters
result
Returns
void
onError?
optionalonError?: (error) =>void
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:629
Callback on flow failure. A rejected handle can also be caught.
Parameters
error
Error
Returns
void
position?
optionalposition?:"left"|"right"
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:616
Frame position, left or right.
width?
optionalwidth?:string
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:616
Explicit frame width. This takes precedence over a size preset.
Declared without current effect
These fields are in the interface but are not forwarded to the active checkout frame.
dragToClose?
optionaldragToClose?:boolean
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:620
headless?
optionalheadless?:boolean
Defined in: ../../../../plandalf/numi/packages/sdk/src/core/types.ts:514