Dynamic Currency Conversion (DCC) allows international shoppers to pay in their home currency when making a purchase at a merchant abroad. Through Shift4's Commerce Engine and Global Blue (a Shift4 Company), DCC is offered seamlessly during the payment flow on the device — no additional POS development is required to present the conversion offer.
Merchants will find value by providing a better checkout experience for international customers, which can increase conversion rates and customer satisfaction.
Shoppers will find value by seeing the transaction amount in their home currency at the point of sale, giving them transparency and control over the exchange rate before completing the purchase.
When a DCC-eligible card is detected during a transaction, Commerce Engine automatically performs a rate lookup and presents the currency conversion offer to the cardholder on the payment device. The cardholder can accept or decline the offer. The transaction response returned to the POS includes the dcc object with full conversion details.
The merchant must be configured for DCC on the Shift4 platform. Contact your Shift4 representative to enable this feature.
DCC is currently available for merchants in the following countries:
| Austria | Germany | Malta |
| Belgium | Greece | Netherlands |
| Croatia | Ireland | Portugal |
| Cyprus | Italy | Slovakia |
| Estonia | Latvia | Slovenia |
| Finland | Lithuania | Spain |
| France | Luxembourg | United Kingdom |
When a foreign card is detected, Commerce Engine can offer conversion to the following cardholder currencies:
| AED | UAE Dirham | EUR | Euro | PLN | Polish Zloty |
| AOA | Angolan Kwanza | GBP | British Pound | QAR | Qatari Riyal |
| CHF | Swiss Franc | ILS | Israeli Shekel | SAR | Saudi Riyal |
| DKK | Danish Krone | NGN | Nigerian Naira | SEK | Swedish Krona |
| EGP | Egyptian Pound | NOK | Norwegian Krone | TRY | Turkish Lira |
| ZAR | South African Rand |
The following are required to support DCC:
- Card Present Integration with Commerce Engine — A card present integration with Commerce Engine, either on-premise or cloud-based.
- DCC-Enabled Merchant — The merchant must be enabled for DCC processing.
- Receipt Handling — The POS app must include DCC-specific fields on the printed receipt when currency conversion is offered, unless it uses the pre-formatted receipt provided by Commerce Engine.
The following describes the end-to-end DCC flow during a transaction:
- The POS app sends a transaction request (e.g., Sale) to Shift4 via Commerce Engine.
- Commerce Engine detects that the card may be eligible for DCC and performs an eligibility check and rate lookup on Global Blue's rate lookup service. If the card is eligible, the payment device displays the currency conversion offer to the cardholder, showing the transaction amount in both the merchant's local currency and the cardholder's home currency.
- The cardholder selects their preferred currency on the payment device.
- Shift4 processes the transaction with the cardholder's selection. The transaction response to the POS includes the
dccobject with the conversion details and theconversionIndicatorreflecting the cardholder's choice.
When DCC is offered during a Commerce Engine transaction, the response includes the dcc object with the following fields:
| Field | Type | Description | Example |
|---|---|---|---|
rateTimeStamp | string | DCC rate lookup timestamp (ISO 8601) | 2026-02-15T09:18:25.875-05:00 |
currencyCode | string | Cardholder's home currency code | EUR |
foreignAmount | number | Amount in the cardholder's home currency | 177.00 |
conversionRate | string | Exchange rate applied | 1.18 |
marginPercentage | string | Foreign exchange markup (%) | 9.73 |
currencyMinorUnits | number | Decimal digits for the foreign currency | 2 |
transactionId | string | ID of the exchange rate lookup | 1A2820D2G334 |
conversionIndicator | string | Cardholder's DCC decision (see below) | 1 |
supportIndicator | string | Whether DCC can be used: 1 = yes, 0 = no | 1 |
diffOverEcb | string | Difference over ECB reference rate (%). EU currency pairs only. | 2.85 |
marginOverEcb | string | Markup over ECB reference rate (%). EU currency pairs only. | 2.85 |
displayUnit | number | Display unit exponent for the base currency | 0 |
provider | string | DCC provider | GLOBAL_BLUE |
The conversionIndicator field reflects the cardholder's decision:
| Value | Meaning | Description |
|---|---|---|
0 | Declined | The cardholder was offered DCC but chose to pay in the merchant's currency |
1 | Converted | The cardholder opted to pay in their home currency |
2 | Nonconvertible | DCC could not be offered for this transaction (e.g., the card currency matches the merchant currency). No DCC receipt fields need to be printed. |
Below is an example response showing the dcc object when the cardholder opts into DCC:
{
"result": [
{
"dateTime": "2026-02-15T10:30:00.000-05:00",
"currencyCode": "GBP",
"amount": {
"total": 150.00
},
"card": {
"token": {
"value": "8044540000000043"
},
"entryMode": "C",
"type": "VS",
"number": "XXXXXXXXXXXX0043",
"present": "Y"
},
"merchant": {
"mid": 15877,
"name": "Merchant XYZ"
},
"transaction": {
"invoice": "192029",
"retrievalReference": "402F9H0230S0",
"saleFlag": "S",
"responseCode": "A",
"authorizationCode": "123456"
},
"dcc": {
"rateTimeStamp": "2026-02-15T10:30:02.125-05:00",
"currencyCode": "EUR",
"foreignAmount": 177.00,
"conversionRate": "1.18",
"marginPercentage": "3.50",
"currencyMinorUnits": 2,
"transactionId": "1A2820D2G334",
"conversionIndicator": "1",
"supportIndicator": "1",
"diffOverEcb": "0.35",
"displayUnit": 0,
"provider": "GLOBAL_BLUE"
}
}
]
}See the Sale endpoint for an example of the complete response schema.
As described above, Commerce Engine handles the DCC offer automatically. The POS app's responsibilities are limited to:
When conversionIndicator is 1 (converted), the POS must include DCC-specific fields on the printed receipt. See Receipt Printing Requirements below.
If the POS consumes the pre-formatted receipt from Commerce Engine (via the receipt array in the response), DCC receipt fields are already included and no additional work is needed.
The POS may store the dcc object fields for informational or reporting purposes. This data is not required for follow-up transactions — the Shift4 backend retains the DCC details and applies them automatically.
When refunding a DCC transaction, the POS must use a linked refund by including transaction.originalInvoice in the Refund request. This links the refund to the original transaction and ensures the backend applies the original DCC details automatically. No dcc object is needed in the refund request.
{
"dateTime": "2026-02-15T10:30:00.000-05:00",
"amount": {
"total": 150.00
},
"card": {
"present": "Y"
},
"clerk": {
"numericId": 1576
},
"transaction": {
"invoice": "192050",
"originalInvoice": "192029"
}
}When the cardholder opts into DCC (dcc.conversionIndicator is 1), the POS must include DCC-specific fields on the printed receipt. If the cardholder declines (0) or DCC is nonconvertible (2), DCC data is not printed.
| Receipt Key | Description | Example Value |
|---|---|---|
dccExchangeRate | The exchange rate applied | EXCHANGE RATE 1 GBP = 1.3383 USD |
dccMarkup | The markup percentage over wholesale rate | INCLUDES 1.5025% OVER WHOLESALE RATE |
dccTranCurrency | The cardholder's transaction currency | USD |
dccTranAmount | The transaction amount in the cardholder's currency | 148.55 |
dccDisclaimer | DCC offer disclaimer text | I HAVE BEEN OFFERED A CHOICE OF PAYMENT CURRENCIES INCLUDING USD |
dccOfferedBy | Indicates who offers the currency conversion service | THIS CURRENCY CONVERSION SERVICE IS OFFERED BY THE MERCHANT |
Sample Store
123 High Street
London, W1D 1BS UK
+44 20 7946 0958
02/15/2026 12:54:38
MID: XXXXXXXXXXXX9137
TID: XXX2946
Purchase
Mastercard Credit ************6405
Entry Mode: CONTACTLESS
CVM: PIN VERIFIED
Invoice 192029
Clerk 16
Total Amount GBP£ 111.00
EXCHANGE RATE 1 GBP = 1.3383 USD
INCLUDES 1.5025% OVER WHOLESALE RATE
TRANS CURRENCY USD
TRANS AMOUNT 148.55
I HAVE BEEN OFFERED A CHOICE OF
PAYMENT CURRENCIES INCLUDING USD
THIS CURRENCY CONVERSION SERVICE IS
OFFERED BY THE MERCHANT
Response: APPROVED
Auth Code: 217983
AID: A0000000041010
TVR: 0820000000
IAD: 092B302A9104
TSI: C800
ARC: 00
CUSTOMER COPYFor the complete list of DCC raw receipt tags, see the DCC Receipts section in the Printing Receipts guide.
For transactions involving most European currency pairs (e.g., GBP to EUR, EUR to DKK), EU Regulation 2021/1230 requires transparency around the exchange rate markup. The dcc object includes two fields to support this:
diffOverEcb— The difference between the offered rate and the European Central Bank (ECB) reference rate, expressed as a percentage.marginOverEcb— The markup of the offered rate over the ECB reference rate, expressed as a percentage.
These fields are only returned for currency pairs that fall within the scope of the regulation. Commerce Engine and the payment device handle the required disclosures automatically.
Card scheme rules (Visa, Mastercard) require that DCC is always offered as a choice — the cardholder must be able to accept or decline the conversion. Commerce Engine enforces this by presenting the offer on the payment device and recording the cardholder's decision in conversionIndicator.
When a cardholder opts into DCC, the printed receipt must include the exchange rate, markup, converted amount, and disclaimer text. These fields are provided by Commerce Engine in the receipt data. See Receipt Printing Requirements above.
For questions about DCC rates, supported currencies, or configuration, contact your Shift4 Integration Analyst.