Dynamic Currency Conversion

The Dynamic Currency Conversion (DCC) service is implemented prior to the authorization actually taking place and through an AcceptorCurrencyConversion exchange. CAP host will forward the conversion request to the DCC provider and will reply with and AcceptorCurrencyConversionResponse message to the POI after receiving the response from the provider. If the card is eligible for DCC, the currency conversion response will convey all information required to present the DCC offer on the terminal display. The cardholder will be given the option to decline the DCC and continue the transaction in merchant currency or to accept the conversion and continue the transaction in its own card currency. In case of DCC acceptance, the subsequent Authorization message will include transaction amount in card currency together with all conversion details returned in the corresponding AcceptorCurrencyConversionResponse message.

DCC will be offered to selected merchants and will be activated on the terminal based on the merchant configuration (DCC flag).

DCC is supported for Visa and MasterCard only.

DCC will be applicable to following transaction types:

  • Purchase
  • Purchase with Tip
  • Purchase with Cashback
  • Pre-authorization Management Transactions

DCC can also be used for preauth related trxs. During postauth IPG/CAP will always check if DCC was applied on the initial preauth and if the DCC rate is still valid. If the DCC rate applied to the initial preauth is still valid, then it will also be applied to the postauth trxs and send to the authorization switch (e.g. B24).

If DCC rate applied to the initial preauth is expired, then IPG/CAP will request a new DCC rate on behalf of the merchant/cardholder. This is a valid behavior as the cardholder has agreed during the initial preauth that DCC will be applied to the entire preauth chain.

The terminal can also offer other options, e.g. if the cardholder is present during postauth.

Please note that the majority of these options can only be used if the terminal performs a balance inquiry before sending the postauth. Otherwise, the terminal is not aware if DCC was applied to the initial preauth and if the DCC rate is still valid.

IPG/CAP will include the DCC related info into the BALC response.

Scenarios for DCC combined with pre-authorizations

ScenarioExpected behavior during completion
Opt-out from valid DCC rateIf terminal/merchant wants to offer opt-out from DCC while performing postauth, then terminal needs to send CcyConvsRslt element with AccptdByCrdhldr=false in AccptrCmpltnAdvc.
Apply DCC rate (pre-condition: DCC rate is still valid)If terminal/merchant wants IPG to apply the DCC rate that was used on the initial preauth, then terminal to send CcyConvsRslt element with AccptdByCrdhldr=true in AccptrCmpltnAdvc.
Request a new DCC rate (DCC rate can be still valid or expired)If terminal/merchant wants to offer a new DCC rate to cardholder, then terminal needs to send another AccptrCcyConvsReq to IPG/CAP. Afterwards, the DCC rate from the AccptrCcyConvsRspn can be included in the postauth CcyConvsRslt element with AccptdByCrdhldr=true in AccptrCmpltnAdvc.
Request a new DCC rate (DCC rate can be still valid or expired)If terminal/merchant wants to offer a new DCC rate to cardholder, then terminal needs to send another AccptrCcyConvsReq to IPG/CAP. Afterwards, the DCC rate from the AccptrCcyConvsRspn can be included in the postauth CcyConvsRslt element with AccptdByCrdhldr=true in AccptrCmpltnAdvc.
Decline new DCC rateIf terminal/merchant wants to offer a new DCC rate to cardholder, then terminal needs to send another AccptrCcyConvsReq to IPG/CAP.
If cardholder doesn't accept the new DCC rate, then the terminal needs to send CcyConvsRslt element with AccptdByCrdhldr=false AccptrCmpltnAdvc.
Opt-out in case DCC rate is expiredIf DCC is expired and no new DCC rate is required, then the terminal needs to send CcyConvsRslt element with AccptdByCrdhldr=false in AccptrCmpltnAdvc.
IPG/CAP requests new DCC rate on behalf of merchantIf DCC is expired and terminal expects IPG/CAP to request a new DCC rate on behalf of merchant, then CcyConvsRslt element shouldn't be present in AccptrCmpltnAdvc at all.

Message Layout

AcceptorCurrencyConversionRequestV04 - caaa.016.001.04
TagDescriptionPresence
Hdr/MsgFctnIdentifies the type of transaction.
DCCQ - CurrencyConversionRequest
m
Hdr/RcptPty/RmotAccs/AccsCdOne-time code. Currently only used for BLIK paymentso
Envt/Mrchnt/LctnCtgyUse value 'NMDC' in case the address is a service location (as needed due to Mastercard mandate AN6022). Otherwise, use value 'FIXD' or don't send this element at allo
Envt/Mrchnt/LctnAndCtct/PstlAdr/....../AdrLine
street house-number,city,zip-code or
house-number,street,city,zip-code
Mapped to below values, if //AdrLine are not given.

or

.../StrtNm
.../BldgNb
.../TwnNm
.../PstCd
.../Ctry
.../AddtlCtctInf
o
Envt/POI/Cpblties/CardRdngCpbltiesFor terminals supporting contactless single-tap PIN requests, include one additional occurrence with value "OTHR". nexo does not support a dedicated value for this capability yet, but it is expected to be added to future releases.o
Envt/POI/Cpblties/CrdhldrVrfctnCpbltiesSee NEXO MDR
Envt/POI/Cpblties/OnLineCpbltiesSee NEXO MDRo
Envt/POI/Cmpnt/TpOnly components with type "TERM" and "DVCE" are evaluated.o
Envt/POI/Cmpnt/Id/SrlNbTerminal serial numbero
Envt/POI/Cmpnt/StdCmplc/IssrOnly standard compliance entries with Issr=GBIC are evaluated.o
Envt/POI/Cmpnt/StdCmplc/IdTerminal approval number
Used for GIRO-Card transactions.
o
Envt/Card/PrtctdCardData/CnttTpEVLPo
Envt/Card/PrtctdCardData/... EnvlpdData/Rcpt/KEKsee chapter 'Protected Card Data in NEXO message' - contains keys used for encryptiono
Envt/Card/PrtctdCardData/... EnvlpdData/NcrptdCnttsee chapter 'Protected Card Data in NEXO message' - contains encyrpted content of plain card datao
Envt/Card/IssrBINFirst 6/8 digits (depending on card number length) are needed to identify card in currency conversion solutionm
Envt/Card/CardCtryCdISO 3166 – 1, alphanumeric or numerico
Envt/Card/CardCcyCdISO 3166 – 1, alphanumeric or numerico
Envt/Card/CardBrndContains brand of the card with one of:
A-Amex
B-BCMC
C-Carte Bancaire (France)
CONECS - Conecs lunch card (France)
D-Diners
E-Maestro
F-EFTPOS (Australia)
G-Giro
J-JCB
K – BLIK (Poland)
L-ELV (Germany)
M-Mastercard
MOBILEPAY - MobilePay
N-VISA Electron
P-VPAY
SWISH - Swish
U-UPI
V-Visa
VIPPS - Vipps
X-Flexecash
m
Envt/Card/PmtAcctRefToken value. Only used when payment is initiated with Token number (manually read or received from ECR) instead of card data. Other Card subfields must not be present in this case.o
Envt/PmtTkn/TknRqstr/PrvdrIdIdentifies the provider of the token: IPG, IPGTA. Not required in request message.o
Cntxt/PmtCntxt/AttndncCntxtMerchant was (not) present.
If AttndncCntxt=UATT, then terminal needs to send as well.
o
Cntxt/PmtCntxt/CardDataNtryMdFor Payment with Token - CDFL.

For other payments, value indicates the entry mode of the card data (TAGC, PHYS, BRCD, MGST, CICC, DFLE, CTLS, ECTL)
m
Cntxt/PmtCntxt/FllbckIndIndicates a problem with the chip

FFLB - FallbackAfterFailure
SFLB - FallbackAfterSuccess
NFLB - NoFallback
o
Cntxt/PmtCntxt/TxChanlType of the communication channels used by the cardholder to the acceptor system. Only below values will be considered:

MAIL - Mail order
TLPH -Telephone order
o
Cntxt/SaleCntxt/SaleIDIdentification of the sale system. Should not be populated on stand-alone terminals, only on terminals integrated with sale systems.o
Cntxt/SaleCntxt/SaleRefNbTransaction identifier assigned by the sale system. Referred to as Merchant Reference 1. Maximum size 15.o
Cntxt/SaleCntxt/CshrIdIdentification of the cashier who initiated the transaction on the sale system. Should not be populated on stand-alone terminals, only on terminals integrated with sale systems.o
Tx/TxCaptrFALSEm
Tx/TxTpCRDP - Card payment
DEFR - Deferred Payment
RESA - Reservation
RFND - Refund
m
Tx/AddtlSvcDCCV - DCCo
Tx/MrchntCtgyCdMerchant category codem
Tx/SaleRefIdRequired in Pre-authorization messages (initial and update). IPG will ignore the value and generate its own pre-authorization ID which will be returned in the same tag and also in RcptTxId.o
Tx/TxId/TxRefReference-ID of transaction.
Used as trace-number, format 999999

Format: Max6Numeric

Other length:
e.g. for pre-authorizations done with an alternative payment method (APM): Max35Alpha-Numeric
or 12 digits with leading zeroes
m
Tx/TxId/TxDtTmDate & time of transactionm
Tx/InitrTxIdMerchant Reference 1.o
Tx/RcncltnIdReconciliation ID, this transaction belongs to.m
Tx/TxDtls/TtlAmtTotal amount in merchant currency.
DCC: Total amount in target currency (copied from dcc_response.Tx/CcyConvsRslt/ConvsDtls/RsltgAmt)
m
Tx/TxDtls/AmtQlfrINCR - Incremental amount for reservation
DECR - Decremental amount for reservation
RESD - total reserved amount
o
Tx/TxDtls/DtldAmt/ AmtGoodsAndSvcsAmount of purchased goods or services. Should only be included when it is different than the total amount.

For DCC: amount in target currency
o
Tx/TxDtls/DtldAmt/GrttyGratuity amount. Should only be included when gratuity (tip) is included in total amount.

For DCC: amount in target currency
o
Tx/TxDtls/DtldAmt/CshBckCashback amount.

For DCC: amount in target currency
o
Tx/TxDtls/VldtyDtReservation validity date. Will be present in initial and update reservation.o
Tx/TxDtls/AcctTpType of cardholder account used for the transaction.

Values: CHCK, CRDT, CDBT, SVNG etc. (more possible values)

In case of Default value, this tags will not be present.
o
Tx/TxDtls/ICCRltdDataEMV-data according to EMVCo speco
Tx/MrchntRefDataMerchant Reference 2o
SctyTrlr/AuthntcdDataMAC . May be disabled or set to optional by a parameter configured in our gateway. If set to optional, a message without MAC is accepted and the response will not contain a MAC.m
AcceptorCurrencyConversionResponseV04- caaa.017.001.04
TagDescriptionPresence
Hdr/MsgFctnIdentifies the type of transaction.m
Tx/TxId/TxRefCopied from requestm
Tx/TxId/TxDtTmCopied from requestm
Tx/SaleRefIdCopied from requesto
Tx/InitrTxIdCopied from requesto
Tx/RcncltnIdCopied from requesto
Tx/RcptTxIdID for this transaction generated by IPG. Will be used in subsequent related pre-authorization management transactions.
Format: Max35Text
For client (reseller) specific formatting: check with your client support contact
o
Tx/TxDtls/CcyCopied from requestm
Tx/TxDtls/TtlAmtCopied from requestm
Tx/TxDtls/VldtyDtReservation validity date. Will be present in initial reservation, update reservation and balance enquiryo
Tx/TxDtls/AcctTpType of cardholder account used for the transaction.
Values: CHCK, CRDT, CDBT, SVNG etc. (more possible values)
In case of Default value, this tags will not be present.
o
Tx/ICCRltdDataEMV data from authorization system.o
`CcyConvsRslt/RsltODCC - Allowed Dynamic currency conversion may be offered to the cardholder.
DCCA - Assumed Transaction authorised with dynamic currency conversion.
ICRD - InvalidCard The card is not valid for dynamic currency conversion.
IMER - InvalidMerchant The card acceptor has not been recognised.
IPRD - InvalidProduct Dynamic currency conversion service cannot be offered for this card product.
IRAT - NoRate Exchange rates are not available.
NDCC - NotAvailable Dynamic currency conversion is not available for other reason.
REST - Restriction Conversion accepted for the requested amount exclusively.
CATG - Catalogue Conversion accepted for a range of amounts.
m
CcyConvsRslt/ConvsDtls/... TrgtCcy/AlphaCdAlpha currency code (ISO 4217, 3 alphanumeric characters) of target (cardholder billing) currency.o
CcyConvsRslt/ConvsDtls/... TrgtCcy/NmrcCdNumeric currency code (ISO 4217, 3 numeric characters) of target (cardholder billing) currency.o
CcyConvsRslt/ConvsDtls/... TrgtCcy/DcmlMaximal number of digits after the decimal separator for the target (cardholder billing) currency.o
CcyConvsRslt/ConvsDtls/... RsltgAmtAmount converted in the target currency, including additional charges.o
CcyConvsRslt/ConvsDtls/... XchgRateExchange rate, expressed as a percentage, applied to convert the original amount into the
resulting amount.
o
CcyConvsRslt/ConvsDtls/... QtnDtQuotation date - Date and time at which the exchange rate has been quoted.o
CcyConvsRslt/ConvsDtls/... VldUntilValidity limit of the exchange rate.o
CcyConvsRslt/ConvsDtls/... SrcCcy/AlphaCdAlpha currency code (ISO 4217, 3 alphanumeric characters) of source (merchant) currency.o
CcyConvsRslt/ConvsDtls/... SrcCcy/NmrcCdNumeric currency code (ISO 4217, 3 numeric characters) of source (merchant) currency.o
CcyConvsRslt/ConvsDtls/... SrcCcy/DcmlMaximal number of digits after the decimal separator for the source (merchant) currency.o
CcyConvsRslt/ConvsDtls/... OrgnlAmt/ActlAmtAmount to be convertedo
CcyConvsRslt/ConvsDtls/... OrgnlAmt/ComssnDtls/AmtCommission expressed as an amount of money.o
CcyConvsRslt/ConvsDtls/... OrgnlAmt/MrkUpDtls/RateCommission expressed as a percentage.o
Tx/RspnAPPR - approved
DECL - declined
PART - partially approved
m
SctyTrlr/AuthntcdDataMAC . May be disabled or set to optional by a parameter. If set to optional, a message without MAC is accepted and the response will not contain a MAC.o

Want a quick overview?