@trustpayments/3ds-sdk-js
TypeScript icon, indicating that this package has built-in type declarations

1.2.117 • Public • Published

3DS SDK JS

Warning!

This package is for internal purposes only.

Config

  • challengeDisplayMode - POPUP | INLINE. Default: POPUP

  • challengeDisplayInlineTargetElementId - string. Default: undefined.
    Must be the existing DOM Element when using challengeDisplayMode = INLINE.

  • loggingLevel - ERROR | ALL. Default: ERROR

  • translations - {cancel: string; }. Default: { cancel: 'X' }

  • processingScreenMode - OVERLAY | ATTACH_TO_ELEMENT. Default: OVERLAY
    ATTACH_TO_ELEMENT requires additional property processingScreenWrapperElementId

  • processingScreenWrapperElementId - string. Default: undefined
    Must be the existing DOM Element when using processingScreenMode = ATTACH_TO_ELEMENT.

  • threeDSMethodTimeout - number. Default: 10000 (milliseconds)
    Timeout after which 3DS Method will be resolved with UNCOMPLETED result. The value is validated against the range of 1-10000 milliseconds.

API

init$()

Initializes the library and returns the Observable with the config.

init$(config: IConfigInterface): Observable<IConfigInterface | never>;

Default values for config are:
challengeDisplayMode = ChallengeDisplayMode.POPUP
loggingLevel: LoggingLevel.ERROR

interface IConfigInterface {
  challengeDisplayMode?: ChallengeDisplayMode;
  challengeDisplayInlineTargetElementId?: string;
  loggingLevel?: LoggingLevel;
}

enum ChallengeDisplayMode {
  POPUP = "POPUP",
  INLINE = "INLINE",
}

enum LoggingLevel {
  ERROR = "ERROR",
  ALL = "ALL",
}

run3DSMethod$()

Runs 3DS method and returns the result.

run3DSMethod$(transactionId: string, notificationURL: string, methodURL: string): Observable<IMethodURLResultInterface | never>;
interface IMethodURLResultInterface {
  status: ResultActionCode;
  description: string;
  transactionId: string;
}

enum ResultActionCode {
  SUCCESS = "SUCCESS",
  FAILURE = "FAILURE",
  ERROR = "ERROR",
  NOACTION = "NOACTION",
  CANCELLED = "CANCELLED",
  COMPLETED = "COMPLETED",
}

Possible ResultActionCode values are: SUCCESS, FAILURE, ERROR, and UNCOMPLETED.
UNCOMPLETED timeout can be set via config property threeDSMethodTimeout. Default values is 10 seconds.

doChallenge$()

Initializes the challenge process. This method handles both versions 1.0.0 and 2.1.0 | 2.2.0.
For version 1.0.0, termURL and merchantData parameters are required.

doChallenge$(
  version: ThreeDSecureVersion,
  threedpayload: string,
  challengeURL: string,
  termURL?: string,
  merchantData?: string,
): Observable<IChallengeResultInterface | never>;
export interface IChallengeResultInterface {
  status: ResultActionCode; // ResultActionCode is shared between challenge and method URL
  description: string;
  transactionId?: string;
  data?: string;
}

Possible ResultActionCode values are: SUCCESS, FAILURE, ERROR, CANCELLED, and COMPLETED.

getBrowserData()

  • getBrowserData() returns an object with the following interface:
interface IBrowserDataInterface {
  browserJavaEnabled: boolean;
  browserJavascriptEnabled: boolean;
  browserLanguage: string;
  browserScreenWidth: number;
  browserScreenHeight: number;
  browserColorDepth: number;
  browserUserAgent: string;
  browserTZ: number; // in minutes
}

showProcessingScreen()

  • showProcessingScreen(cardType: CardType) displays processing screen with predefined mode property processingScreenMode and optional processingScreenWrapperElementId.
export enum CardType {
  MASTER_CARD = "MASTERCARD",
  VISA = "VISA",
}

hideProcessingScreen()

  • hideProcessingScreen() hides processing screen.

Readme

Keywords

none

Package Sidebar

Install

npm i @trustpayments/3ds-sdk-js

Weekly Downloads

161

Version

1.2.117

License

none

Unpacked Size

8.63 kB

Total Files

3

Last publish

Collaborators

  • llifon-jones-tp
  • stdevapi
  • james-simpson-st