README
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 usingchallengeDisplayMode
=INLINE
.loggingLevel
-ERROR | ALL
. Default:ERROR
translations
-{cancel: string; }
. Default:{ cancel: 'X' }
processingScreenMode
-OVERLAY
|ATTACH_TO_ELEMENT
. Default:OVERLAY
ATTACH_TO_ELEMENT
requires additional propertyprocessingScreenWrapperElementId
processingScreenWrapperElementId
-string
. Default:undefined
Must be the existing DOM Element when usingprocessingScreenMode
=ATTACH_TO_ELEMENT
.threeDSMethodTimeout
-number
. Default:10000
(milliseconds)
Timeout after which 3DS Method will be resolved withUNCOMPLETED
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: ConfigInterface): Observable<ConfigInterface | never>;
Default values for config are:
challengeDisplayMode = ChallengeDisplayMode.POPUP
loggingLevel: LoggingLevel.ERROR
interface ConfigInterface {
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<MethodURLResultInterface | never>;
interface MethodURLResultInterface {
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<ChallengeResultInterface | never>;
export interface ChallengeResultInterface {
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 BrowserDataInterface {
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 propertyprocessingScreenMode
and optionalprocessingScreenWrapperElementId
.
export enum CardType {
MASTER_CARD = 'MASTERCARD',
VISA = 'VISA',
};
hideProcessingScreen()
hideProcessingScreen()
hides processing screen.