Skip to main content

SCA Functional Specification

Dynamic Currency Conversion (DCC)

Last updated: 23-Sep-2025

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.

For DCC transactions integrated with Fexco, SCA application sends a rate request for each transaction directly to Fexco. This request includes the first 8 digits of the PAN to help Fexco identify the card issuer’s country and corresponding currency.
Fexco responds with relevant currency conversion details, which the application prompts the user for currency selection, if the card is a foreign card. If Fexco responds the card as a local card, transaction will be processed in local currency.

To support DCC Fexco functionality, it is mandatory to enable the Clear BIN 8 Digits feature (CLEAR_BIN_8_DIGITS) in the CAMCORE.INI configuration.

For EMV cards, the application includes logic to verify if the issuer country code matches the terminal currency. If they match, the application will not send a rate request to Fexco.

Refer to DCC Parameters for more details on DCC parameters.

  

Note

From this version of publication, the HFEX.DAT configuration file for DCC Fexco is no more applicable.

DCC - SAF Eligibility

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.

../_images/dcc_screen.png

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.
DCCProcessing This service is used to check the DCC eligibility for the given transaction and prompts the user for currency selection.

Following fields are 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 Indicator. Valid values:
  • 1 - Transaction is DCC eligible and cardholder has accepted the option.
  • 2 - Transaction is not eligible for DCC.
  • 3 - Transaction is DCC eligible yet cardholder has not accepted the option.
DCC_TRAN_AMOUNT Conditional VARCHAR 16
The transaction amount provided by SCA that has been calculated in the currency requested by the Cardholder.
  • Device will be responsible for sending all amounts with or without decimals to PWC, based on the requirements of the currency code.
  • PWC will only be required to explicitly remove the decimal when sending transaction to FDRC.
  • If DCC_TRAN_AMOUNT is provided, FDRC Requires DCC_CURR_CODE and DCC_CONV_RATE to also be provided.
  • DCC_TRAN_AMOUNT required for DCC_IND = 1.
DCC_CONV_RATE Conditional Decimal 7
The DCC Conversion Rate provided by SCA that was used in calculating the DCC_TRAN_AMOUNT.
  • DCC_CONV_RATE is required for DCC_IND=1.
  • FDRC Requires DCC_CONV_RATE to be provided any time DCC_TRAN_AMOUNT is provided.
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
This is the time zone for the DCC_DATETIME that will be provided by SCA/Merchants Integration.
  • FDRC requires DCC_TIMEZONE field to be provided.
  • If DCC_TIMEZONE is provided, then this must be sent as +- and 2-digit hour offset from GMT.
  • If DCC_TIMEZONE is not provided by SCA, then PWC will default to the Merchants TimeZone as configured in PWC.
DCC_SOURCE Conditional Integer 1
The source of the DCC Rates will be provided as an Audit Trail for PWC:
0 - Merchant Supplied Values
1 - Device-FEXCO Direct
2 - PWC xxxx (Reserved for Future Use)
and so on.
DCC_CALCULATION Conditional Integer 1
The source of the calculation of DCC_TRAN_AMOUNT. This will be used in as an Audit Trail for PWC:
0 - Merchant Supplied Values
1 - PWC performs calculation based on DCC_CONV_RATE provided by Merchant
2 - Reserved for future use

Example DCC Receipt

../_images/dcc_receipt.png

Need help?

Do you have a question? If you didn’t find the answer you are looking for in our documentation, you can contact our Support teams for more information. If you have a technical issue or question, please contact us. We are happy to help.

Not yet a Verifone customer?

We’ll help you choose the right payment solution for your business, wherever you want to sell, in-person or online. Our team of experts will happily discuss your needs.

Verifone logo