Skip to content
developers

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.
        • rawobject
          Object that contains information about the unencrypted card details.
          • cardholderSignaturestring
            Cardholder's signature. For more information about how to format the signature, go to How to send a signature to our gateway.
          • deviceobjectrequired
            Object that contains information about the physical device the merchant used to capture the customer’s card details.
            • categorystring
              Indicates if the device is attended or unattended.attendedunattended
            • configobject
              Object that contains information about the configuration of the POS terminal.
              • quickChipbooleanrequired
                Indicates if Quick Chip mode is active on a merchant’s POS terminal.
            • firmwareVersionstring
              Firmware version of the physical device.
            • modelstringrequired
              Model of the device that the merchant used to process the transaction.bbposChpbbposChp2xbbposChp3xbbposRamblerbbposWpbbposWp2bbposWp3genericCtlsMsr+32 more
            • serialNumberstringrequired
              Serial number of the physical device.1–64 chars
          • downgradeTostring
            If an offline transaction is not approved using the initial entry method, reprocess the transaction using a downgraded entry method. For example, an Integrated Circuit Card (ICC) transaction can be downgraded to a swiped transaction or to a keyed transaction.keyedswiped
          • entryMethodstringrequired
            Method that the terminal used to capture the card details.raw
          • rawDatastringhexadecimalrequired
            Unencrypted data from the POS terminal.1–2147483647 chars
        • iccobject
          Object that contains information about the Integrated Circuit Card (ICC).
          • cardholderSignaturestring
            Cardholder's signature. For more information about how to format the signature, go to How to send a signature to our gateway.
          • deviceobjectrequired
            Object that contains information about the encryption details of the POS terminal.
            • categorystring
              Indicates if the device is attended or unattended.attendedunattended
            • configobject
              Object that contains information about the configuration of the POS terminal.
              • quickChipbooleanrequired
                Indicates if Quick Chip mode is active on a merchant’s POS terminal.
            • firmwareVersionstring
              Firmware version of the physical device.
            • modelstringrequired
              Model of the device that the merchant used to process the transaction.bbposChpbbposChp2xbbposChp3xbbposRamblerbbposWpbbposWp2bbposWp3genericCtlsMsr+32 more
            • serialNumberstringrequired
              Serial number of the physical device.1–64 chars
            • dataKsnstringhexadecimalrequired
              Key serial number.20–20 chars
          • downgradeTostring
            If an offline transaction is not approved using the initial entry method, reprocess the transaction using a downgraded entry method. For example, an Integrated Circuit Card (ICC) transaction can be downgraded to a swiped transaction or a keyed transaction.keyedswiped
          • ebtDetailsobject
            Object that contains information about the Electronic Benefit Transfer (EBT) transaction.
            • benefitCategorystringrequired
              Indicates if the balance relates to an EBT Cash account or an EBT SNAP account. cash – EBT Cash foodStamp – EBT SNAPcashfoodStamp
            • withdrawalboolean
              Indicates whether the customer wants to withdraw cash. Note: Cash withdrawals are available only from EBT Cash accounts.
            • voucherobject
              Object that contains information about the EBT voucher. Note: Vouchers are available only for EBT SNAP payments.
              • approvalCodestringrequired
                Authorization code that the processor issued for the transaction.6–6 chars
              • serialNumberstringrequired
                Serial number of the voucher.7–15 chars
          • entryMethodstringrequired
            Method that the terminal used to capture the card details.icc
          • firstDigitOfPanstring
            First digit of the card number.1–1 chars
          • iccDatastringhexadecimalrequired
            Cardholder data from the ICC. The data consists of EMV tags in Tag-Length-Value (TLV) format.
        • keyedobject
          Object that contains information about the keyed card details.
          • cardholderNamestring
            Cardholder’s name.1–50 chars
          • cardholderSignaturestring
            Cardholder's signature. For more information about how to format the signature, go to How to send a signature to our gateway.
          • ebtDetailsobject
            Object that contains information about the Electronic Benefit Transfer (EBT) transaction.
            • benefitCategorystringrequired
              Indicates if the balance relates to an EBT Cash account or an EBT SNAP account. cash – EBT Cash foodStamp – EBT SNAPcashfoodStamp
            • withdrawalboolean
              Indicates whether the customer wants to withdraw cash. Note: Cash withdrawals are available only from EBT Cash accounts.
            • voucherobject
              Object that contains information about the EBT voucher. Note: Vouchers are available only for EBT SNAP payments.
              • approvalCodestringrequired
                Authorization code that the processor issued for the transaction.6–6 chars
              • serialNumberstringrequired
                Serial number of the voucher.7–15 chars
          • entryMethodstringrequired
            Method that the terminal used to capture the card details.keyed
          • keyedDataobjectrequired
            Polymorphic object that contains payment card details that the merchant manually entered into the device. The value of the dataFormat parameter determines which variant you should use: fullyEncrypted All payment card details are encrypted. partiallyEncrypted Some payment card details are encrypted. plainText Payment card details are in plain text.
            • fullyEncryptedobject
              Object that contains information about the encrypted card data for keyed transactions.
              • dataFormatstringrequired
                Indicates the data format of the customer’s card data. plainText – Data is not truncated and shows the raw data. fullyEncrypted – Data is truncated to show only the first digit of the customer’s account number. partiallyEncrypted – Data is truncated to show only the first six digits and the last four digits of the customer’s card number.fullyEncrypted
              • deviceobjectrequired
                Object that contains information about the encryption details of the POS terminal.
                • categorystring
                  Indicates if the device is attended or unattended.attendedunattended
                • configobject
                  Object that contains information about the configuration of the POS terminal.
                  • quickChipbooleanrequired
                    Indicates if Quick Chip mode is active on a merchant’s POS terminal.
                • firmwareVersionstring
                  Firmware version of the physical device.
                • modelstringrequired
                  Model of the device that the merchant used to process the transaction.bbposChpbbposChp2xbbposChp3xbbposRamblerbbposWpbbposWp2bbposWp3genericCtlsMsr+32 more
                • serialNumberstringrequired
                  Serial number of the physical device.1–64 chars
                • dataKsnstringhexadecimalrequired
                  Key serial number.20–20 chars
              • encryptedDatastringhexadecimalrequired
                Encrypted card data.1–2147483647 chars
              • firstDigitOfPanstring
                First digit of the customer’s card number.1–1 chars
            • partiallyEncryptedobject
              Object that contains information about the partially-encrypted card data for keyed transactions.
              • cvvstring
                Security code of the customer’s card.[0-9]{3,4}
              • cvvEncryptedstringhexadecimal
                Encrypted security code data.
              • dataFormatstringrequired
                Indicates the data format of the customer’s card data. plainText – Data is not truncated and shows the raw data. fullyEncrypted – Data is truncated to show only the first digit of the customer’s account number. partiallyEncrypted – Data is truncated to show only the first six digits and the last four digits of the customer’s card number.partiallyEncrypted
              • deviceobjectrequired
                Object that contains information about the encryption details of the POS terminal.
                • categorystring
                  Indicates if the device is attended or unattended.attendedunattended
                • configobject
                  Object that contains information about the configuration of the POS terminal.
                  • quickChipbooleanrequired
                    Indicates if Quick Chip mode is active on a merchant’s POS terminal.
                • firmwareVersionstring
                  Firmware version of the physical device.
                • modelstringrequired
                  Model of the device that the merchant used to process the transaction.bbposChpbbposChp2xbbposChp3xbbposRamblerbbposWpbbposWp2bbposWp3genericCtlsMsr+32 more
                • serialNumberstringrequired
                  Serial number of the physical device.1–64 chars
                • dataKsnstringhexadecimalrequired
                  Key serial number.20–20 chars
              • encryptedPanstringhexadecimalrequired
                Encrypted card number.1–2147483647 chars
              • expiryDatestringrequired
                Expiry date of the customer’s card.[0-9]{4}
              • issueNumberstring
                Issue number of the customer’s card.[0-9]{1,2}
              • maskedPanstringrequired
                Masked card number. The gateway shows only the first six digits and the last four digits of the account number. For example, 453985******7062.12–19 chars
            • plainTextobject
              Object that contains information about the plain-text card data for keyed transactions.
              • cardNumberstringrequired
                Customer’s card number.12–19 chars
              • cvvstring
                Security code of the customer’s card.[0-9]{3,4}
              • dataFormatstringrequired
                Indicates the data format of the customer’s card data. plainText – Data is not truncated and shows the raw data. fullyEncrypted – Data is truncated to show only the first digit of the customer’s account number. partiallyEncrypted – Data is truncated to show only the first six digits and the last four digits of the customer’s card number.plainText
              • deviceobject
                Object that contains information about the physical device the merchant used to capture the customer’s card details.
                • categorystring
                  Indicates if the device is attended or unattended.attendedunattended
                • configobject
                  Object that contains information about the configuration of the POS terminal.
                  • quickChipbooleanrequired
                    Indicates if Quick Chip mode is active on a merchant’s POS terminal.
                • firmwareVersionstring
                  Firmware version of the physical device.
                • modelstringrequired
                  Model of the device that the merchant used to process the transaction.bbposChpbbposChp2xbbposChp3xbbposRamblerbbposWpbbposWp2bbposWp3genericCtlsMsr+32 more
                • serialNumberstringrequired
                  Serial number of the physical device.1–64 chars
              • expiryDatestring
                Expiry date of the customer’s card. Note: We require you to send an expiry date for most BIN lookups and electronic voucher transactions.[0-9]{4}
              • issueNumberstring
                Issue number of the customer’s card.[0-9]{1,2}
          • pinDetailsobject
            Polymorphic object that contains information about the customer's PIN.
            • dukptobject
              Object that contains information about encrypted PIN details.
              • dataFormatstringrequired
                Indicates the format of the PIN data.dukpt
              • pinstringhexadecimalrequired
                Encrypted PIN. Note: PIN is encrypted using the DUKPT scheme.1–2147483647 chars
              • pinKsnstringhexadecimalrequired
                Key serial number.20–20 chars
        • swipedobject
          Object that contains information about the customer’s card details for swiped transactions.
          • cardholderNamestring
            Cardholder’s name.0–50 chars
          • cardholderSignaturestring
            Cardholder's signature. For more information about how to format the signature, go to How to send a signature to our gateway.
          • downgradeTostring
            If an offline transaction is not approved using the initial entry method, reprocess the transaction using a downgraded entry method. For example, a swiped transaction can be downgraded to a keyed transaction.keyedswiped
          • ebtDetailsobject
            Object that contains information about the Electronic Benefit Transfer (EBT) transaction.
            • benefitCategorystringrequired
              Indicates if the balance relates to an EBT Cash account or an EBT SNAP account. cash – EBT Cash foodStamp – EBT SNAPcashfoodStamp
            • withdrawalboolean
              Indicates whether the customer wants to withdraw cash. Note: Cash withdrawals are available only from EBT Cash accounts.
            • voucherobject
              Object that contains information about the EBT voucher. Note: Vouchers are available only for EBT SNAP payments.
              • approvalCodestringrequired
                Authorization code that the processor issued for the transaction.6–6 chars
              • serialNumberstringrequired
                Serial number of the voucher.7–15 chars
          • entryMethodstringrequired
            Method that the terminal used to capture the card details.swiped
          • pinDetailsobject
            Polymorphic object that contains information about the customer's PIN.
            • dukptobject
              Object that contains information about encrypted PIN details.
              • dataFormatstringrequired
                Indicates the format of the PIN data.dukpt
              • pinstringhexadecimalrequired
                Encrypted PIN. Note: PIN is encrypted using the DUKPT scheme.1–2147483647 chars
              • pinKsnstringhexadecimalrequired
                Key serial number.20–20 chars
          • swipedDataobjectrequired
            Polymorphic object that contains payment card details that a device captured from the magnetic strip. The value of the dataFormat parameter determines which variant you should use: encrypted Payment card details are encrypted. plainText Payment card details are in plain text.
            • encryptedobject
              Object that contains information about the encrypted swiped card data.
              • dataFormatstringrequired
                Format of the card data.encrypted
              • deviceobjectrequired
                Object that contains information about the encryption details of the POS terminal.
                • categorystring
                  Indicates if the device is attended or unattended.attendedunattended
                • configobject
                  Object that contains information about the configuration of the POS terminal.
                  • quickChipbooleanrequired
                    Indicates if Quick Chip mode is active on a merchant’s POS terminal.
                • firmwareVersionstring
                  Firmware version of the physical device.
                • modelstringrequired
                  Model of the device that the merchant used to process the transaction.bbposChpbbposChp2xbbposChp3xbbposRamblerbbposWpbbposWp2bbposWp3genericCtlsMsr+32 more
                • serialNumberstringrequired
                  Serial number of the physical device.1–64 chars
                • dataKsnstringhexadecimalrequired
                  Key serial number.20–20 chars
              • encryptedDatastringhexadecimalrequired
                Encrypted data received from the magnetic stripe reader.1–2147483647 chars
              • fallbackboolean
                Indicates that this is a fallback transaction. For example, if there was a technical issue with the chip on the customer's card and the merchant then swiped the card.
              • fallbackReasonstring
                Reason for the fallback.technicalrepeatFallbackemptyCandidateList
              • firstDigitOfPanstring
                First digit of the of the card number.1–1 chars
            • plainTextobject
              Object that contains information about plain-text swiped card data.
              • dataFormatstringrequired
                Indicates the method the customer’s card data is encrypted. Send swiped card data in encrypted format or plainText format.plainText
              • deviceobjectrequired
                Object that contains information about the physical device the merchant used to capture the customer’s card details.
                • categorystring
                  Indicates if the device is attended or unattended.attendedunattended
                • configobject
                  Object that contains information about the configuration of the POS terminal.
                  • quickChipbooleanrequired
                    Indicates if Quick Chip mode is active on a merchant’s POS terminal.
                • firmwareVersionstring
                  Firmware version of the physical device.
                • modelstringrequired
                  Model of the device that the merchant used to process the transaction.bbposChpbbposChp2xbbposChp3xbbposRamblerbbposWpbbposWp2bbposWp3genericCtlsMsr+32 more
                • serialNumberstringrequired
                  Serial number of the physical device.1–64 chars
              • fallbackboolean
                Indicates that this is a fallback transaction. For example, if there was a technical issue with the chip on the customer's card and the merchant then swiped the card.
              • fallbackReasonstring
                Reason for the fallback.technicalrepeatFallbackemptyCandidateList
              • trackDatastringrequired
                Customer’s card data from the swiped transaction.16–256 chars
      • 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