Skip to content
payrocdevelopers

Verify DCC eligibility

Browse API reference

POST/fx-ratesgetFxRates

Important: There are restrictions on which merchants can use this method. For more information, go to Dynamic Currency Conversion.

Use this method to check if a card is eligible for Dynamic Currency Conversion (DCC) and to retrieve the conversion rate for a transaction amount. DCC provides a customer with the option to use their card's currency instead of the merchant's currency, for example, in Ireland, an American customer can pay in US dollars instead of Euros.

The request includes the following:

  • Payment method - Card information, a secure token, or digital wallet.
  • Transaction information - Amount and currency of the transaction in the merchant's currency.

If the card is eligible for DCC, our gateway returns the transaction amount in the card's currency and a dccOffer object that contains information about the conversion rate. The dccOffer object contains the following fields that you need when you run a sale or unreferenced refund with DCC:

  • fxAmount
  • fxCurrency
  • fxRate
  • markup
  • accepted
  • offerReference

Request body

application/json · required
  • baseAmountintegerint64required
    Total amount of the transaction in the merchant’s currency. The value is in the currency’s lowest denomination, for example, cents.
  • baseCurrencystringrequired
    Currency of the transaction. The value for the currency follows the ISO 4217 standard.AEDAFNALLAMDANGAOAARSAUD+163 more
  • channelstringrequired
    Channel that the merchant used to receive payment details for the transaction.poswebmoto
  • operatorstring
    Operator who ran the transaction.1–50 chars
  • paymentMethodobjectrequired
    Polymorphic object that contains payment details. The value of the type parameter determines which variant you should use: card Payment card details secureToken Secure token details digitalWallet Digital wallet details
    • cardobject
      Object that contains information about the customer’s payment card.
      • accountTypestring
        Indicates the customer’s account type. Note: Send a value for accountType only for bank account details.checkingsavings
      • cardDetailsobjectrequired
        Polymorphic object that contains payment card information. The value of the entryMethod parameter determines which variant you should use: raw Unencrypted payment data directly from the device. icc Payment data that the device captured from the chip. keyed Payment data that the merchant entered manually. swiped Payment data that the device captured from the magnetic strip.+132 more fields at deeper levels — see the full spec
      • typestringrequired
        Method that the terminal used to take the payment.card
    • secureTokenobject
      Object that contains information about the secure token that represents the customer’s payment details.
      • accountTypestring
        Indicates the customer’s account type. Note: Send a value for accountType only if the secure token represents bank account details.checkingsavings
      • secCodestring
        Indicates how the customer authorized the ACH transaction. Send one of the following values: web – Online transaction. tel – Telephone transaction. ccd – Corporate credit or debit entry for a business bank account. ppd – Pre-arranged transaction. Note: This field is mandatory when the secure token represents ACH bank account details.webtelccdppd
      • tokenstringrequired
        Unique token that the gateway assigned to the payment details.12–19 chars
      • typestringrequired
        Method that the terminal used to take the payment.secureToken
    • digitalWalletobject
      Object that contains information about the payment details in the customer’s digital wallet.
      • accountTypestring
        Indicates the customer’s account type. Note: Send a value for accountType only for bank account details.checkingsavings
      • cardholderNamestring
        Cardholder’s name.0–50 chars
      • encryptedDatastringrequired
        Encrypted data of the digital wallet.128–20480 chars
      • serviceProviderstringrequired
        Provider of the digital wallet. Send one of the following values: apple For more information about how to integrate with Apple Pay, go to Apple Pay®. google For more information about how to integrate with google Pay, go to Google Pay®.applegoogle
      • typestringrequired
        Method that the terminal used to take the payment.digitalWallet
  • processingTerminalIdstringrequired
    Unique identifier that we assigned to the terminal.4–50 chars

Responses

Successful request. Returns the currency conversion rate for the transaction.

200 OK · application/json
{
  "baseAmount": 10000,
  "baseCurrency": "EUR",
  "cardInfo": {
    "cardNumber": "453985******7062",
    "type": "MASTERCARD"
  },
  "dccOffer": {
    "fxAmount": 16125,
    "fxCurrency": "JPY",
    "fxCurrencyCode": "392",
    "fxCurrencyExponent": 0,
    "fxRate": 161.2542,
    "markup": 3,
    "offerReference": "3396977e-40b9-4b26-8a3f-c25bc1280ee2",
    "provider": "DCC Provider Inc.",
    "source": "European Central Bank"
  },
  "inquiryResult": {
    "dccOffered": true
  },
  "operator": "Jane",
  "processingTerminalId": "1234001"
}
Response schema · 31 fields
  • baseAmountintegerint64required
    Total amount of the transaction in the local currency. The value is in the currency’s lowest denomination, for example, cents.
  • baseCurrencystringrequired
    Currency of the transaction. The value for the currency follows the ISO 4217 standard.AEDAFNALLAMDANGAOAARSAUD+163 more
  • cardInfoobjectrequired
    Object that contains information about the card.
    • cardNumberstringrequired
      Masked card number. Our gateway shows only the first six digits and the last four digits of the card number, for example, 548010******5929.12–19 chars
    • countrystringiso-3166-1
      Country of the issuing bank. The value for the country follows the ISO-3166-1 standard.
    • currencystring
      Currency of the transaction. The value for the currency follows the ISO 4217 standard.AEDAFNALLAMDANGAOAARSAUD+163 more
    • debitboolean
      Indicates if the card is a debit card.
    • healthcareboolean
      Indicates if the card is linked to a Flexible Spending Account (FSA) or a Health Savings Account (HSA). The value is one of the following: true Card is linked to an FSA or an HSA. false Card isn't linked to an FSA or an HSA.
    • surchargingobject
      Object that contains surcharge information. Our gateway returns this object only if the merchant adds a surcharge to transactions.
      • allowedbooleanrequired
        Indicates if the merchant can add a surcharge when the customer uses this card.
      • amountintegerint64
        Surcharge amount to add to the transaction. Note: Our gateway returns the surcharge amount only if you include a transaction amount in the request.
      • disclosurestring
        Statement that informs the customer about the surcharge fee.
      • percentagenumberdouble
        Surcharge rate that the merchant configures on their account.≤ 100
    • typestringrequired
      Card brand of the card, for example, Visa.
  • dccOfferobject
    Object that contains information about the dynamic currency conversion (DCC) offer. For more information about DCC, go to Dynamic Currency Conversion.
    • acceptedboolean
      Indicates if the cardholder accepted DCC offer.
    • fxAmountintegerint64required
      Amount in the cardholder’s currency in the currency’s lowest denomination, for example, cents.
    • fxCurrencystringrequired
      Currency of the transaction in the card’s currency. The value for the currency follows the ISO 4217 standard.AEDAFNALLAMDANGAOAARSAUD+163 more
    • fxCurrencyCodestring
      Three-digit currency code for the card. This code follows the ISO 4217 standard.3–3 chars
    • fxCurrencyExponentintegerint32
      Number of decimal places between the smallest currency unit and a whole currency unit. For example, for GBP, the smallest currency unit is 1p and it is equal to £0.01. If you use GBP, the value for fxCurrencyExponent is 2.
    • fxRatenumberdoublerequired
      Foreign exchange rate for the card's currency.
    • markupnumberdoublerequired
      Markup percentage rate that the DCC provider applies to the foreign exchange rate.
    • markupTextstring
      Supporting text for the markup rate.
    • offerReferencestring
      Unique identifier of the DCC offer.
    • providerstring
      Name of the DCC provider.
    • sourcestring
      Source that the DCC provider used to get the foreign exchange rates.
  • inquiryResultobjectrequired
    Object that indicates if the customer's card is eligible for Dynamic Currency Conversion (DCC).
    • causeOfRejectionstring
      Explains why the DCC service did not offer a currency conversion rate to the customer.
    • dccOfferedbooleanrequired
      Indicates if the card is eligible for Dynamic Currency Conversion (DCC).
  • operatorstring
    Operator who ran the transaction.0–50 chars
  • processingTerminalIdstringrequired
    Unique identifier that we assigned to the terminal.4–50 chars

Used in workflows

Search documentation

API reference169
Guides118
Knowledge38
legal1
Solutions32
Workflows74
↑↓highlight↵openView all search results

Menu

Theme

Sign out

Your saved plans remain in your organization. This browser’s private draft and account view will be cleared.

Talk to an engineer