Class CustomConfiguration.Builder

java.lang.Object
com.gemalto.mfs.mwsdk.payment.CustomConfiguration.Builder
Enclosing class:
CustomConfiguration

public static class CustomConfiguration.Builder extends Object
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • 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
    • build

      public CustomConfiguration build()
      Returns:
      CustomConfiguration to be provided in SDKInitializer.initialize(Context, SDKControllerListener, Notification, CustomConfiguration)
      Since:
      6.4.0