Class ThreeDSConfig

  • All Implemented Interfaces:
    android.os.Parcelable

    
    public class ThreeDSConfig
     implements Parcelable
                        

    Class that contains all possible configurations to be applied at com.nsoftware.ipworks3ds.sdk.ThreeDS2Service initialization phase.

    • Method Detail

      • getChallengeUiTypes

        @NonNull() EnumSet<ChallengeUiType> getChallengeUiTypes()

        Returns supported UI types for displaying challenge screens. They may vary for native way, e.g. present OTP or single select screen. By default all UI types are supported, it's strongly recommended by EMVCo.

        Returns:

        supported UI types for displaying challenge screens

      • getSdkMaxTimeout

         int getSdkMaxTimeout()

        Returns maximum amount of time (in minutes) for all exchanges for the 3-D Secure authentication. Default value is 5 minutes.

        Returns:

        maximum amount of time for all exchanges for the 3-D Secure authentication

      • getUiCustomization

        @Nullable() UiCustomization getUiCustomization()

        Returns UI configuration information that is used to specify the UI layout and theme of the challenge screens, for example, font style and font size.

        Returns:

        UI configuration information that is used to customize challenge screens

      • getLocale

        @Nullable() String getLocale()

        Returns string that represents the locale for the app's user interface (for example, "en-US").

        Returns:

        string that represents the locale for the app's user interface

      • getDeviceParameterBlacklist

        @Nullable() Array<String> getDeviceParameterBlacklist()

        Returns the list of device parameters that should NOT be collected for the device. By default, the SDK will pull as many device parameters as it can. Refer to the "EMV® 3-D Secure SDK—Device Information" guide to see the full list of possible device parameters and appropriate constants to be used. Sample values would be ["A001", "A002"].

        Returns:

        the list of device parameters that should NOT be collected for the device

      • getAppSignature

        @Nullable() String getAppSignature()

        Returns app signature for the merchant app to be verified by the SDK. This value should be set by the merchant and match to the app signature, otherwise security warning (SW02) will be raised. The user should store the app signature to their server and retrieve it (and set it here). Note that this should not be hardcoded in the app for security reasons.

        Returns:

        app signature for the merchant app to be verified by the SDK

      • getTrustedAppStores

        @Nullable() Array<String> getTrustedAppStores()

        Returns additional list of trusted applications, that would not cause security warnings (SW02). A security warning (SW02) will be raised if the app is not installed from the Google app store. Add some other applications that will be recognized by security checker as trusted.

        Returns:

        list of package names for the trusted applications

      • getMaliciousApps

        @Nullable() Array<String> getMaliciousApps()

        Returns list of package names for the apps that should be recognized as malicious. If the apps are installed, a security warning (SW02) will be raised. This could be checked in getThreeDS2Warnings after service is initialized. There are some default malicious apps configured inside by default:

        • de.robv.android.xposed
        • de.robv.android.xposed.installer
        • com.saurik.substrate
        Returns:

        list of package names for the apps that should be recognized as malicious

      • isThreeDSRequestorAppUrlUsed

         boolean isThreeDSRequestorAppUrlUsed()

        Indicates if threeDSRequestorAppUrl should be used or not.

        Returns:

        true if threeDSRequestorAppUrl is used, otherwise false

      • isBrowserDataRequired

         boolean isBrowserDataRequired()

        Indicates if browser data is required.

        Returns:

        \code{true} if browser data is required, otherwise \code{false}.

      • getClientConfigParam

        @Nullable() String getClientConfigParam(@NonNull() String key)

        Returns string value of the custom parameter for the /n software Client component. See /n software ClientConfig guide for the keys. Sample value getClientConfigParam("AcceptAnyACSCert").

        Parameters:
        key - the key for the custom parameter
        Returns:

        string value of the custom parameter for the /n software Client component