Skip to main content

3DS Web SDK Methods

Create Session

This method collects information from the browser on the background and sends it to the Basis Theory API, which then returns a newly created 3DS section.

Usage

import { BasisTheory3ds } from "@basis-theory/3ds-web";

const bt3ds = BasisTheory3ds("<API_KEY>");

const session = await bt3ds.createSession({ tokenId: "<TOKEN_ID>" });

Parameters

The createSession method takes an object as parameter w/ the following attributes:

AttributeRequiredTypeDescription
tokenIdfalsestringThe Basis Theory token id for the card token to be used
tokenIntentIdfalsestringThe Basis Theory token id for the card token intent to be used
panfalsestring
DEPRECATED
The Basis Theory token id for the card token to be used

Either tokenId or tokenIntentId is required.

Return

The method returns an object with the following attributes:

AttributeTypeDescription
idstringThe created session id
cardBrandstringThe brand for the used card (i.e. Visa)

Start Challenge

This method initiates the 3DS challenge process, if it was deemed necessary during the 3DS authentication.

Usage

import { BasisTheory3ds } from "@basis-theory/3ds-web";

const bt3ds = BasisTheory3ds("<API_KEY>");

const challengeCompletion = await bt3ds.startChallenge({
acsChallengeUrl: "https://some-challenge-url.com",
acsTransactionId: "5236966c-62be-417b-8f66-dbec6d87911d",
sessionId: "9289231e-2c0b-4f38-92fa-dec3c586d58b",
threeDSVersion: "2.2.0",
});

Parameters

The startChallenge method takes in an object with the following attributes:

AttributeRequiredTypeDescription
acsChallengeUrltruestringThe URL for the challenge window. Available from the Authenticate endpoint response
acsTransactionIdtruestringThe ACS transaction id. Available from the Authenticate endpoint response
sessionIdtruestringThe created 3DS session id
threeDSVersiontruestringThe 3DS message version. Available from the Authenticate endpoint response
windowSizefalsestringThe code for the pre-configured window size. See Challenge Window Sizes
timeoutfalsenumberThe time in miliseconds to wait for challenge completion before considering it timed out. Defaults to 60000ms (1 minute)

Return

The method returns a Promise, with the following attributes, that is only resolved once the customer completed or cancelled the challenge:

AttributeTypeDescription
idstringThe created session id

Challenge Window Sizes

WindowSize IDSize
01250px x 400px
02390px x 400px
03500px x 600px
04600px x 400px
05100% x 100%