Skip to main content

ThreeDSChallengeOptions

Options for threeDSChallenge.

Extends

Properties

acsUrl?

optional acsUrl?: string;

EMVCo alias for url — the issuer ACS challenge endpoint from the authentication response.


challengeWindowSize?

optional challengeWindowSize?: "01" | "02" | "03" | "04" | "05";

Iframe size, as the EMVCo code. Defaults to 05 (fills the container).

Pass through the value the authentication response echoed back: EMVCo requires the rendered size to match what was announced in the AReq, so this is not a client-side choice.


completion

completion: ThreeDSCompletion;

Required: a challenge has no other way to report that the cardholder is done.

Overrides

ThreeDSFrameOptionsBase.completion


container

container: string | HTMLElement;

Where the challenge is rendered: an element id or the element itself. Required — the challenge is shown in-context, in a slot your checkout controls, and the SDK adds no overlay of its own.


creq?

optional creq?: string;

EMVCo alias for fields — posted as a single creq field.


fields?

optional fields?: Record<string, string>;

Form fields to post, one hidden input per entry.

Inherited from

ThreeDSFrameOptionsBase.fields


frameName?

optional frameName?: string;

name and id given to the iframe. Defaults to a unique per-call name; set it only if you need to find the frame yourself.

Inherited from

ThreeDSFrameOptionsBase.frameName


keepFrame?

optional keepFrame?: boolean;

Keeps the iframe and its form in the DOM after settling. Off by default — leaving 3DS frames behind is what leaks memory across retries.

Inherited from

ThreeDSFrameOptionsBase.keepFrame


onLoad?

optional onLoad?: () => void;

Called on each navigation of the challenge iframe — a timing signal, useful to swap a spinner for the frame. It carries no outcome.

Returns

void


signal?

optional signal?: AbortSignal;

Aborts the flow: the iframe is torn down and the promise resolves with status: 'aborted'.

Inherited from

ThreeDSFrameOptionsBase.signal


size?

optional size?: object;

Explicit CSS size, for a provider that does not use the EMVCo codes. Overrides the code.

NameType
heightstring
widthstring

timeoutMs?

optional timeoutMs?: number;

Hard stop, in milliseconds. Defaults to 600_000 (10 min) — long enough for an OTP or a banking app confirmation, short enough that a silent ACS eventually releases the checkout.


url?

optional url?: string;

Endpoint the form is posted to. Must be http: or https:.

Inherited from

ThreeDSFrameOptionsBase.url