Dynamic Currency Conversion (DCC)
Dynamic Currency Conversion (DCC) allows a non-domestic cardholder, while travelling, to have a choice to pay in their home currency instead or the base currency used by the merchant. This may provide a better rate than their credit card provider, at times.
The PropertiesData.xml file contains all parameters necessary to configure the payment device with DCC. Refer to DCC Parameters for more details on DCC parameters.
HFEX.DAT configuration file contains different BINs for foreign or international cards. SCA does BIN look up in HFEX.DAT file before performing the card rate request. If matching BIN is not found, then SCA will skip DCC query to Fexco host. This file is present under /mnt/flash/userdata/usr1 location. During start up this file is read and stored in the memory to reduce the look up time during the transaction. If this file is not found in the user flash, then SCA application will assume that the file is not present in this solution and proceeds to Fexco integration without doing the BIN look up. The application will use the currency details that are sent by Fexco.
SCA application also approve DCC transactions offline if it meets the SAF eligibility criteria based on USD amount. The transaction will be processed online in DCC using the rate and currency selected by the cardholder at the time when transaction was stored offline. This scenario would be coming into play if device has got DCC rate through an acquirer, however, loses connectivity to the gateway while processing the DCC selection of cardholder. This feature can be controlled by ALLOWDCCTOSAF parameter. Disabling this parameter would result in approving the transactions in Local Currency.
Example DCC Screen
DCC selection screen is added as part of the transaction flow after card data validation for the user to select the home currency, if the transaction is eligible for DCC.
DCC Controller
DCC Controller is added to handle initializing and DCC processing as part of the payment flow. This controller performs all required actions to check the DCC eligibility for the current transaction and update command object with the currency details. This controller provides the following two services:
Fields | Description |
---|---|
initDCC | This service is used to initialize and perform all actions, needed for DCC processing. For Fexco DCC Host, it checks for the presence of HFEX.DAT and loads them into memory. Bitmaps are used to load the data of HFEX.DAT data into memory. |
DCCProcessing | This service is used to check the DCC eligibility for the given transaction and prompts the user for currency selection. For Fexco DCC Host, it does BIN look up into HFEX.DAT file, if this is successful, then it does the card rate request with the Fexco host. |
Following are the fields description which are sent in host request to PWC if transaction is eligible for DCC. These fields are added to CAPTURE and REFUND sections of HostMessages.xml file.
Field Name | Rules | Data Types | Length | Description |
---|---|---|---|---|
DCC_IND | Required for DCC transaction | Integer | 1 |
|
DCC_TRAN_AMOUNT | Conditional | VARCHAR | 16 |
|
DCC_CONV_RATE | Conditional | Decimal | 7 |
|
DCC_CURR_CODE | Required for DCC transaction | Integer | 3 | The DCC Currency Code used for DCC Calculations. This value will be standardized across all Countries. FDRC Requires DCC_CURR_CODE to be provided on all DCC Attempts including DCC_IND 1,2,3. |
DCC_DATETIME | Conditional | DateTime | 20 | This indicates the date and time, when the DCC conversion took place. This is a PWC requirement as the DCC calculation will occur prior to the transaction being sent to PWC. This is used as an Audit Trail. This value will be provided by SCA/Merchants Integration. |
DCC_TIMEZONE | Conditional | Integer | 3 |
|
DCC_SOURCE | Conditional | Integer | 1 |
|
DCC_CALCULATION | Conditional | Integer | 1 |
|
Example DCC Receipt