Class D1PayConfigParams
- java.lang.Object
-
- com.thalesgroup.gemalto.d1.D1Params
-
- com.thalesgroup.gemalto.d1.d1pay.D1PayConfigParams
-
public abstract class D1PayConfigParams extends D1Params
The configuration parameters for D1 Pay initializations.- Since:
- 2.0.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.thalesgroup.gemalto.d1.D1Params
D1Params.Type
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
D1PayConfigParams()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract ContactlessTransactionListener
getContactlessTransactionListener()
Retrieves the default contactless transaction listener.static D1PayConfigParams
getInstance()
Retrieves the instance of this D1PayConfigParamsabstract ContactlessTransactionListener
getManualModeContactlessTransactionListener()
Retrieves the manual payment contactless transaction listener.abstract void
setContactlessTransactionListener(ContactlessTransactionListener contactlessListener)
Sets the default contactless transaction listener to handle the payment transaction.abstract void
setDomesticCurrencyCode(int currencyCode)
Sets the domestic currency codeabstract void
setKeyValidityPeriod(int validityPeriod)
Sets the key validity periodabstract void
setManualModeContactlessTransactionListener(ContactlessTransactionListener contactlessListener)
Sets the contactless transaction listener to handle the manual payment transaction.abstract void
setMaxConsecutivePaymentsForLVT(int maxConsecutiveLVT)
Sets the maximum consecutive payments allowed for Low Value Transaction (LVT).abstract void
setMaxCumulativeAmountForLVT(long maxCumulativeLVTAmount)
Sets the maximum cumulative amount allowed for Low Value Transaction (LVT).abstract void
setOnlinePinPriority(boolean priority)
For Visa only.abstract void
setPollingEndTimeForDigitization(int pollingEndTime)
Sets the polling end time which is used when there is an issue on push notifications.abstract void
setPollingIntervalForDigitization(int pollingInterval)
Sets the polling interval.abstract void
setReplenishAuthenticationUIStrings(String title, String subtitle, String description, String negativeButton)
For Visa only.abstract void
setSingleTransactionAmountLimitForLVT(long singleLVTAmount)
Sets the single transaction amount limit for Low Value Transaction (LVT).abstract void
setTransitExperienceAllowed(boolean allowed)
In D1 Pay, "Transit experience" is a transit transaction that does not require end user authentication.
-
-
-
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 is978
(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 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
- If Currency is 'SouthKoreanWon - KRW' (decimal is 0), the amount of:
-
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
- If Currency is 'SouthKoreanWon - KRW' (decimal is 0), the amount of:
-
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).
-
setContactlessTransactionListener
public abstract void setContactlessTransactionListener(@NonNull ContactlessTransactionListener contactlessListener)
Sets the default contactless transaction listener to handle the payment transaction.- Parameters:
contactlessListener
- The default listener.- See Also:
ContactlessTransactionListener
-
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
-
setReplenishAuthenticationUIStrings
public abstract void setReplenishAuthenticationUIStrings(@NonNull String title, @NonNull String subtitle, @NonNull String description, @NonNull String negativeButton)
For Visa only.Sets the UI strings to be shown on the device authentication screen (if required) during the replenishment of credentials.
- Parameters:
title
- The title text.subtitle
- The sub-title text.description
- The description text.negativeButton
- The negative button text.- See Also:
D1PayWallet.replenish(String, boolean, DeviceAuthenticationCallback, D1Task.Callback)
-
getContactlessTransactionListener
@NonNull public abstract ContactlessTransactionListener getContactlessTransactionListener()
Retrieves the default contactless transaction listener.- Returns:
- The default contactless transaction listener.
-
getManualModeContactlessTransactionListener
@Nullable public abstract ContactlessTransactionListener getManualModeContactlessTransactionListener()
Retrieves the manual payment contactless transaction listener.- Returns:
- The contactless transaction listener for manual mode.
This will be
null
if thesetManualModeContactlessTransactionListener(ContactlessTransactionListener)
has not been invoked yet. - Since:
- 2.2.0
-
-