Class CustomConfiguration.Builder

  • Enclosing class:
    CustomConfiguration

    public static class CustomConfiguration.Builder
    extends java.lang.Object
    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • keyValidityPeriod

        public CustomConfiguration.Builder keyValidityPeriod​(int keyValidityPeriod)
        Warning: Value shall not be changed if your have enrolled the card and setup device CVM through DeviceCVMManager.initialize(CHVerificationMethod). The underlying keystore is already created with the given key validity and new configuration will not be taken. If you wish to have a different keyValidityPeriod, the application has to wipe and re-enroll the entire wallet.
        Parameters:
        keyValidityPeriod - in Seconds the wait period between user authentication and tap to POS during a transaction. Must be between 0 to 300. Default value is 45.
        Returns:
        CustomConfiguration.Builder for building other property
        Since:
        6.4.0
      • domesticCurrencyCode

        public CustomConfiguration.Builder domesticCurrencyCode​(int currencyCode)
        Warning: It is not advised to change this value as there are side effects for Low-Value-Payment (LVT) accumulation. During a LVT, it accumulates the amount and triggers an authentication when it exceeds maximum allowed amount set by maxCumulativeAmountForLVT(long). Only transaction that matches the given currency will be subject to accumulation. When currency is changed, existing accumulation is under a different currency. SDK simply accumulates on top of existing value without currency conversion. It might impact the accuracy of your accumulation.
        Parameters:
        currencyCode - domestic currencyCode(ISO-4217 Standard) used for local transactions. Default currencyCode used is "978"(euro)
        Returns:
        CustomConfiguration.Builder for building other property
        Since:
        6.4.0
      • supportTransitWithoutCDCVM

        public CustomConfiguration.Builder supportTransitWithoutCDCVM​(boolean supportTransitWithoutCDCVM)
        Parameters:
        supportTransitWithoutCDCVM - if transit transaction can be performed without authentication. By default authentication is required.
        Returns:
        CustomConfiguration.Builder for building other property
        Since:
        6.5.0
      • maxConsecutivePaymentsForLVT

        public CustomConfiguration.Builder maxConsecutivePaymentsForLVT​(int maxConsecutivePayments)
        Parameters:
        maxConsecutivePayments - maximum allowed consecutive low value transactions before CDCVM asked. Maximum allowed value is 50. Default value is 0 so LVT behavior is disabled.
        Returns:
        CustomConfiguration.Builder for building other property
        Since:
        6.5.0
      • singleTransactionAmountLimitForLVT

        public CustomConfiguration.Builder singleTransactionAmountLimitForLVT​(long singleTransactionAmountLimitForLVT)
        Parameters:
        singleTransactionAmountLimitForLVT - Amount with supported 'long' data type Threshold amount value for LVT. Even if the terminal decides it is a LVT, if the transaction amount exceeds this limit, it will be treated as a HVT transaction and CDCVM will be asked. Default value is 0 so LVT behavior is disabled.
        For example:
        If Currency is 'SouthKoreanWon - KRW' and decimal is 0, amount to be set with
        10 => 10 KRW
        100 => 100 KRW
        1000 => 1000 KRW
        If Currency is 'Euro' and decimal is 2, amount to be set with
        1 => 0.01 EUR
        10 => 0.10 EUR
        100 => 1.00 EUR
        1000 => 10.00 EUR
        If Currency is 'JOD' and decimal is 3, amount to be set with
        1 => 0.001 JOD
        10 => 0.010 JOD
        100 => 0.100 JOD
        1000 => 1.000 JOD
        Returns:
        CustomConfiguration.Builder for building other property
        Since:
        6.7.0
      • maxCumulativeAmountForLVT

        public CustomConfiguration.Builder maxCumulativeAmountForLVT​(long maxCumulativeAmountForLVT)
        Parameters:
        maxCumulativeAmountForLVT - Amount with supported 'long' data type. Accumulated amount of all low value consecutive transactions is more than this value, SDK will trigger CDCVM authentication. If set to 0 all transactions will require CDCVM authentication from user. Default value is 0 so LVT behavior is disabled.
        For example:
        If Currency is 'SouthKoreanWon - KRW' and decimal is 0, amount to be set with
        10 => 10 KRW
        100 => 100 KRW
        1000 => 1000 KRW
        If Currency is 'Euro' and decimal is 2, amount to be set with
        1 => 0.01 EUR
        10 => 0.10 EUR
        100 => 1.00 EUR
        1000 => 10.00 EUR
        If Currency is 'JOD' and decimal is 3, amount to be set with
        1 => 0.001 JOD
        10 => 0.010 JOD
        100 => 0.100 JOD
        1000 => 1.000 JOD
        Returns:
        CustomConfiguration.Builder for building other property
        Since:
        6.7.0
      • selectCvmOnlinePINPriority

        public CustomConfiguration.Builder selectCvmOnlinePINPriority()
        Change the cvm processing priority for VISA to Online PIN priority. The SDK is default to CDCVM priority. For VISA payment, 'Priority' is used when 'CAP (Card Additional Process)' in the card profile, and 'TTQ (Terminal Transaction Qualifier)' sent by terminal has indicated more than 1 common cvm supported on both side. The priority will determine the order of matching on supported cvm.
        • CDCVM priority, check in the order of: Device CVM, Online PIN, Online Signature
        • CDCVM priority, check in the order of: Online PIN, Device CVM, Online Signature
        The first match found will be used as the final cvm for this transaction.
        Returns:
        CustomConfiguration.Builder for building other property
        Since:
        6.5.0