Dynamic Currency Conversion

​​​​​​​​​Technical Overview​

​Overview

DCC (Dynamic Currency Conversion) is a service for currency conversion at the time of the transaction. The cardholder will be presented with the option of paying in her/his own currency or the local currency. If own currency is chosen, the currency conversion will take place immediately during the purchase or withdrawal. If cardholder choose to pay in local currency, the currency conversion will take place at the issuing bank, when the purchase amount is withdrawal from the cardholder’s bank-account. 


Nets provides this DCC look-up service for Payment Service Providers (PSPs) servicing ATM owners, POS & eCom merchants in Europe having an acquiring agreement/contract with Concardis or Nets Merchant Services.

 

The DCC Look-up provides all DCC information needed for the cardholder interaction and for further processing of the authorisation and transactions at the terminal/ATM and PSP.

Nets DCC service is available in most of the EU region and can be offered to cardholders from 55+ countries.

 

Context

 

The diagram below illustrates the overall transaction flow of dynamic currency conversion. This API provides the DCC look-up prior to the authorisation and clearing.

  

Before the customer/PSP can use the DCC look-up, the below agreeements (marked in the drawing as 'dotted lines') need to be in place between:

  • the PSP and Nets Issuer & eSecurity Services (Nets IeS) for transaction processing
  • the PSP and Nets Merchant Services (Nets MS) for using the API DCC look-up service 
  • the merchant/ATM owner and Nets Merchant Services (Nets MS) for settlement of transactions 

DCC flow newest newest new.PNG 

​Steps in the overall flow

1.  Cardholder buy goods/service or draw money using a payment card issued by either Visa or Mastercard

2. Terminal/ATM sends a DCC look-up request with first 10 digits of the cardnumber and the purchase amount in merchant/ATM local currency

3. Nets DCC Hub is checking whether the purchase is eligible for DCC. If not, the authorisation will be done in local currency of the merchant/ATM 

​​4. If 'yes', Nets DCC Hub is converting the purchase amount to the currency of the card

5. Nets DCC Hub sends back the converted amount together with the exchange rate, the conversion cost and other information related to the currency conversion

6. The terminal/ATM presents the choice of both amounts to the cardholder incl. the cost of currency conversion(*)

7. If the cardholder chooses to pay in the currency of the card, the authoristion will be added DCC information - if not, the authorisation will be in local currency without DCC information

8. The authorisation is send to the issuer for validation and if approved, terminal/ATM generates the cardholder reciept showing information from the currency conversion​

9. The financial transaction is created based on the authorisation and is send to issuer and acquirer for settlement of the cardholder and merchant

(*)

If the cardholder and merchant/ATM both belong to an EU-member country, the currency conversion cost must be presented to the cardholder as a percentage of the currency conversion rate issued by the European Central Bank.

If either the cardholder or the merchant /ATM belong to a non EU-member country, the currency conversion cost will be presented to the cardholder as a percentage of currency conversion rate used by Nets MS   

​Use case for tourist choosing DCC

  1. A tourist is visiting merchant's store. She has a Visa branded card with "USD" as card currency.
  2. The tourist buys souvenirs from the merchant worth 100€ with her card
  3. The POS initiates an eligibility request towards Nets DCC service
  4. If the card is eligible for DCC, Nets DCC Hub converts the amount in merchant's currency (100 EUR) to cardholder currency (130 USD) with the exchange rate for the day (1,300) and adds the currency conversion cost e.g. 3% to the sum (133,90$)   
  5. POS shows for the tourist the amount in both merchant's currency (100€) and cardholder's currency (133,90$)
  6. Tourist chooses to pay with USD. The cashier gives tourist a receipt containing both the EUR and USD amounts, FX rate and DCC mark-up used.
  7. Tourist is then settled (133,90$) and the merchant is settled (100€)

​Use case for tourist NOT choosing DCC

  1. A tourist is visiting merchant's store. She has a Visa branded card with "USD" as card currency.
  2. The tourist buys souvenirs from the merchant worth 100€ with her card
  3. The POS initiates an eligibility request towards Nets DCC service
  4. If the card is eligible for DCC, Nets DCC Hub converts the amount in merchant's currency (100 EUR) to cardholder currency (130 USD) with the exchange rate for the day (1,300) and adds the currency conversion cost e.g. 3% to the sum (133,90$)   
  5. POS shows for the tourist the amount in both merchant's currency (100€) and cardholder's currency (133,90$)
  6. Tourist chooses to pay with EUR. The cashier gives tourist a receipt containing the EUR amount
  7. Tourist is then settled (100€) plus a conversion fee by the issuing bank and the merchant is settled (100€)
​​

Error response codes


http code

Remarks

Response Body

200
Request was successfully processed

 

{

"fxRate": {

   "baseRate": "40074560",

   "totalRate": "7.6812",

   "rateSrc": "ECB",                        

   "date": "20200617"

   },

"markup": {

   "markupPercent": "302",

   "markupRate": "0.2252"

    },

"cardholder": {

    "cam": "18005",

    "currency": {

  "ccura": "DKK",

  "ccur": "208",

  "exp": "2"

  }

   },

"dccProvider": {

"providerId": "004",

"provider": "Nets"

   }

}


400Occurs if the request was malformed or if the processing failed.
Examples:
* Malformed HTTP request
* Missing mandatory elements
* DCC not eligible
Note: The response body may contain additional information in the form of a ISO 8583-1987 response code.

 

 

{

  "status": "57"

}

 

Valide response codes are:
  • 15 - BIN of the card used is not enabled within the domain it is used (normally happening only in test)
  • 30 – Format error in request – request not possible to interpret
  • 57 - No found of exchange rate between <merchant currency> and <cardholder billing currency>, i.e. not possible to calculate DCC amount
  • 58 - No match of card-BIN, i.e. DCC is not eligible for the card-BIN 


401Occurs on a regular basis and is commonly caused by an expired access token.
A robust client solution can be implemented following the steps below:
1. Call the /token endpoint to get a new token
2. Keep using the token until it expires (i.e. when you get a HTTP status code 401 from the API call) then call the /token endpoint again to get a new token.
3. The implementation must be able to try out up to two new tokens in quick succession before failing, because occasionally the new token may also fail.
This behaviour is rare but can occur when retrieving a cached token just before it expires. The condition cannot extend beyond two retries in quick succession.

Note #1: The token can be used in multiple parallel/simultaneous calls and there is no need to synchronize API calls.
Note #2: If a 401 is consistently received it means that the client does not have access to the requested resource. Contact Nets for resolution.
No Response body
403Occurs when attempting unauthorized access to a resource.
Examples:
* No or invalid access token
* Valid access token but the token does not grant access to the resource
No Response body
404The queried resource could not be found.
Examples:
* Wrong PSPID (the token is not applicable for the specified PSPID)
* Unknown MCUR (currency)
No Response body
408Network issues or client implementation fails to send the complete HTTP request within the timeout period.No Response body
500Internal error condition - contact NetsNo Response body
502Internal error condition - may be temporary, contact Nets if it persists.No Response body
503Internal error condition - may be temporary, contact Nets if it persists.No Response body
504Internal error condition - may be temporary, contact Nets if it persists.No Response body






FAQ