Class D1PayConfigParams


  • public abstract class D1PayConfigParams
    extends D1Params
    The configuration parameters for D1 Pay initializations.
    Since:
    2.0.0
    • Constructor Detail

      • D1PayConfigParams

        protected D1PayConfigParams()
    • Method Detail

      • getInstance

        @NonNull
        public static D1PayConfigParams getInstance()
        Retrieves the instance of this D1PayConfigParams
        Returns:
        The instance
      • setKeyValidityPeriod

        public abstract void setKeyValidityPeriod​(int validityPeriod)

        Sets the key validity period


        Warning: Value shall not be changed if you have enrolled the card.

        If the underlying keystore is already created with the given key validity then the new configuration will not be taken. If you wish to have a different validity period, the application has to wipe and re-enroll the entire wallet.

        Parameters:
        validityPeriod - The wait period (in seconds) between user authentication and tap to POS during a transaction. Must be from 0 to 300. Default value is 45.
        See Also:
        D1PayWallet.reset(Context)
      • setDomesticCurrencyCode

        public abstract void setDomesticCurrencyCode​(int currencyCode)

        Sets the domestic currency code


        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 setMaxCumulativeAmountForLVT(long). Only transaction that matches the given currency will be subject to accumulation. When the currency is changed, the existing accumulation is converted to the selected currency, and the SDK simply adds it on top of existing value. Note: This may affect the accuracy of your accumulation.

        Parameters:
        currencyCode - The domestic currency code (ISO-4217 Standard) used for local transaction. Default code is 978 (EUR).
      • setTransitExperienceAllowed

        public abstract void setTransitExperienceAllowed​(boolean allowed)
        In D1 Pay, "Transit experience" is a transit transaction that does not require end user authentication. If the transit experience is enabled, the transaction at transit gateway is performed in one TAP without CDCVM.
        End user does not need to provide any biometric or device credentials at the transit gateway but the consumer must turn the screen on to allow transaction.

        A transaction is identified as a transit transaction:

        • For Mastercard, as a 0&euro transaction with an eligible Merchant Category Code as defined in the MCBP specification.
        • For Visa, as a 0&euro transaction with ODA.
        For Mastercard, the card profile must support the FLEXIBLE_CDCVM CVM model.
        For Visa, a dedicated configuration is required at D1 Pay server.
        Parameters:
        allowed - true, the transit transaction does not have CDCVM; false, the transit transaction has a CDCVM.
      • setMaxConsecutivePaymentsForLVT

        public abstract void setMaxConsecutivePaymentsForLVT​(int maxConsecutiveLVT)
        Sets the maximum consecutive payments allowed for Low Value Transaction (LVT).
        Parameters:
        maxConsecutiveLVT - The maximum number of consecutive low value transactions allowed before device authentication is required. Maximum allowed value is 50. The default value is 0, so LVT behavior is disabled.
      • setSingleTransactionAmountLimitForLVT

        public abstract void setSingleTransactionAmountLimitForLVT​(long singleLVTAmount)
        Sets the single transaction amount limit for Low Value Transaction (LVT).
        Parameters:
        singleLVTAmount - The threshold amount for LVT with a `long` data type. If the transaction amount exceeds this limit, the terminal will treat the transaction as an HVT instead of a LVT, and CDCVM will be notified. The default value is 0, so LVT behavior is disabled.
        For example:
        • If Currency is 'SouthKoreanWon - KRW' (decimal is 0), the amount of:
          • 10 means 10 KRW
          • 100 means 100 KRW
          • 1000 means 1000 KRW
        • If Currency is 'Euro' (decimal is 2), the amount of:
          • 1 means 0.01 EUR
          • 10 means 0.10 EUR
          • 100 means 1.00 EUR
          • 1000 means 10.00 EUR
        • If Currency is 'JOD' (decimal is 3), the amount of:
          • 1 means 0.001 JOD
          • 10 means 0.010 JOD
          • 100 means 0.100 JOD
          • 1000 means 1.000 JOD
      • setMaxCumulativeAmountForLVT

        public abstract void setMaxCumulativeAmountForLVT​(long maxCumulativeLVTAmount)
        Sets the maximum cumulative amount allowed for Low Value Transaction (LVT).
        Parameters:
        maxCumulativeLVTAmount - The maximum cumulative amount of low value consecutive transactions with a `long` data type. If the accumulated amount of all low value consecutive transactions exceeds this value, the SDK will trigger the CDCVM authentication. The default value is 0, so LVT behavior is disabled. All transactions will require a CDCVM authentication from the end user.<
        For example:
        • If Currency is 'SouthKoreanWon - KRW' (decimal is 0), the amount of:
          • 10 means 10 KRW
          • 100 means 100 KRW
          • 1000 means 1000 KRW
        • If Currency is 'Euro' (decimal is 2), the amount of:
          • 1 means 0.01 EUR
          • 10 means 0.10 EUR
          • 100 means 1.00 EUR
          • 1000 means 10.00 EUR
        • If Currency is 'JOD' (decimal is 3), the amount of:
          • 1 means 0.001 JOD
          • 10 means 0.010 JOD
          • 100 means 0.100 JOD
          • 1000 means 1.000 JOD
      • setOnlinePinPriority

        public abstract void setOnlinePinPriority​(boolean priority)
        For Visa only.

        In cases where the profile supports multiple CVMs (such as online PIN, and CDCVM), D1 Pay will provide the support based on the default "CDCVM Priority" as defined in VCPCS. Using this API, mobile application is able to select the "Online PIN" priority as defined in VCPCS.

        Parameters:
        priority - A flag to set online PIN as priority.
      • setPollingIntervalForDigitization

        public abstract void setPollingIntervalForDigitization​(int pollingInterval)
        Sets the polling interval.

        Polling time interval for D1PayWallet.addDigitalCard(String, D1Task.Callback). Polling time is only used if there is an issue on push notifications. Default value is 15sec.

        Parameters:
        pollingInterval - The polling interval (in seconds).
      • setPollingEndTimeForDigitization

        public abstract void setPollingEndTimeForDigitization​(int pollingEndTime)
        Sets the polling end time which is used when there is an issue on push notifications.

        D1 Pay digitization may take some time which may be more than 1 minute but is less than 5 minutes. Default value is 300s.

        Parameters:
        pollingEndTime - The time when the polling ends (in seconds).
      • setManualModeContactlessTransactionListener

        public abstract void setManualModeContactlessTransactionListener​(@NonNull
                                                                         ContactlessTransactionListener contactlessListener)
        Sets the contactless transaction listener to handle the manual payment transaction.
        Parameters:
        contactlessListener - The manual mode listener.
        Since:
        2.2.0
        See Also:
        ContactlessTransactionListener
      • getContactlessTransactionListener

        @NonNull
        public abstract ContactlessTransactionListener getContactlessTransactionListener()
        Retrieves the default contactless transaction listener.
        Returns:
        The default contactless transaction listener.