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()
Retrieve the default contactless transaction listenerstatic D1PayConfigParams
getInstance()
Retrieve the instance of this D1PayConfigParamsabstract ContactlessTransactionListener
getManualModeContactlessTransactionListener()
Retrieve the manual payment contactless transaction listenerabstract void
setContactlessTransactionListener(ContactlessTransactionListener contactlessListener)
Set the default contactless transaction listener to handle the payment transactionabstract void
setDomesticCurrencyCode(int currencyCode)
Set the domestic currency codeabstract void
setKeyValidityPeriod(int validityPeriod)
Set the key validity periodabstract void
setManualModeContactlessTransactionListener(ContactlessTransactionListener contactlessListener)
Set the contactless transaction listener to handle the manual payment transaction.abstract void
setMaxConsecutivePaymentsForLVT(int maxConsecutiveLVT)
Set the max consecutive payments for LVT (Low Value Transaction)abstract void
setMaxCumulativeAmountForLVT(long maxCumulativeLVTAmount)
Set the max cumulative amount for LVT (Low Value Transaction)abstract void
setNotification(Notification notification)
Set the notification in order to start foreground service required by SDKabstract void
setOnlinePinPriority(boolean priority)
For VISA only.abstract void
setPollingEndTimeForDigitization(int pollingEndTime)
Set the polling end time which is used when there is issue on Push Notification.abstract void
setPollingIntervalForDigitization(int pollingInterval)
Set the polling interval.abstract void
setReplenishAuthenticationUIStrings(String title, String subtitle, String description, String negativeButton)
For VISA only.abstract void
setSingleTransactionAmountLimitForLVT(long singleLVTAmount)
Set the single transaction amount limit for LVT (Low Value Transaction)abstract void
setTransitExperienceAllowed(boolean allowed)
In D1 Pay "Transit experience" is the transit transaction without consumer authentication.
-
-
-
Method Detail
-
getInstance
@NonNull public static D1PayConfigParams getInstance()
Retrieve the instance of this D1PayConfigParams- Returns:
- The instance
-
setKeyValidityPeriod
public abstract void setKeyValidityPeriod(int validityPeriod)
Set 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)
Set 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 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
- 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 the transit transaction without consumer authentication. If transit experience is allowed, the transaction at transit gateway is performed in one TAP without CDCVM.
Consumer does not need to provide any biometric or device credentials at transit gateway, consumer must turn the screen on to allow transaction.A transaction is identified as transit transaction:
- For Mastercard, as 0€ transaction with eligible Merchant Category Code as defined in MCBP specification
- For VISA, as a 0€ transaction with ODA.
For VISA, it's requiring a dedicated configuration at D1 Pay server.- Parameters:
allowed
- true, Transit will not have CDCVM; false, Transit will have CDCVM
-
setMaxConsecutivePaymentsForLVT
public abstract void setMaxConsecutivePaymentsForLVT(int maxConsecutiveLVT)
Set the max consecutive payments for LVT (Low Value Transaction)- Parameters:
maxConsecutiveLVT
- maximum allowed consecutive low value transactions before device authentication will be asked. Maximum allowed value is 50. Default value is 0 so LVT behavior is disabled.
-
setSingleTransactionAmountLimitForLVT
public abstract void setSingleTransactionAmountLimitForLVT(long singleLVTAmount)
Set the single transaction amount limit for LVT (Low Value Transaction)- Parameters:
singleLVTAmount
- 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
- If Currency is 'SouthKoreanWon - KRW' and decimal is 0, amount to be set with
-
setMaxCumulativeAmountForLVT
public abstract void setMaxCumulativeAmountForLVT(long maxCumulativeLVTAmount)
Set the max cumulative amount for LVT (Low Value Transaction)- Parameters:
maxCumulativeLVTAmount
- 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
- If Currency is 'SouthKoreanWon - KRW' and decimal is 0, amount to be set with
-
setOnlinePinPriority
public abstract void setOnlinePinPriority(boolean priority)
For VISA only.In case of profile supporting several CVM (Online PIN, CDCVM), D1 Pay is supporting by default "CDCVM Priority" as defined in VCPCS. Using this API, the mobile banking application could select "Online PIN" priority as defined in VCPCS.
- Parameters:
priority
- Flag to set online pin as priority
-
setPollingIntervalForDigitization
public abstract void setPollingIntervalForDigitization(int pollingInterval)
Set the polling interval.Polling time interval for
D1PayWallet.addDigitalCard(String, D1Task.Callback)
. Polling time is only used if there is issue on Push Notification. Default value is 15s.- Parameters:
pollingInterval
- The polling interval (in seconds).
-
setPollingEndTimeForDigitization
public abstract void setPollingEndTimeForDigitization(int pollingEndTime)
Set the polling end time which is used when there is issue on Push Notification.D1 Pay digitization may take quite some time, which may be more than 1 minute but must be less than 5 minutes. Default value is 300s.
- Parameters:
pollingEndTime
- The polling end time (in seconds)
-
setNotification
public abstract void setNotification(@NonNull Notification notification)
Set the notification in order to start foreground service required by SDK- Parameters:
notification
- The notification to be shown
-
setContactlessTransactionListener
public abstract void setContactlessTransactionListener(@NonNull ContactlessTransactionListener contactlessListener)
Set 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)
Set the contactless transaction listener to handle the manual payment transaction.- Parameters:
contactlessListener
- The manual mode listener- See Also:
ContactlessTransactionListener
-
setReplenishAuthenticationUIStrings
public abstract void setReplenishAuthenticationUIStrings(@NonNull String title, @NonNull String subtitle, @NonNull String description, @NonNull String negativeButton)
For VISA only.Set UI strings to be shown on the device authentication screen (if needed) while doing the replenishment.
- Parameters:
title
- The title textsubtitle
- The sub-title textdescription
- The description textnegativeButton
- The negative button text- See Also:
D1PayWallet.replenish(String, boolean, DeviceAuthenticationCallback, D1Task.Callback)
-
getContactlessTransactionListener
@NonNull public abstract ContactlessTransactionListener getContactlessTransactionListener()
Retrieve the default contactless transaction listener- Returns:
- The default contactless transaction listener
-
getManualModeContactlessTransactionListener
@Nullable public abstract ContactlessTransactionListener getManualModeContactlessTransactionListener()
Retrieve 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.
-
-