Skip to content

DCC rate API

Get a Dynamic Currency Conversion (DCC) rate for a transaction.

Get a DCC rate

POST
/v1/dcc/rate

Request examples

Use the following requests to get a DCC rate for a transaction.

{
  "merchant": "MERCHANT-001",
  "site": "SITE-001",
  "exchangeRateProvider": "Elavon",
  "cardholderCurrencyCode": "EUR",
  "securityLevel": {
    "encryptedPayload": "{encryptedPayload}"
  },
  "transactionMethod": {
    "entryMode": "Instore",
    "intent": "Authorisation"
  }, 
  "pointOfInteraction": {
    "entryType": "ChipAndPin",
    "merchantPointOfSaleId": "POS-001"
  },
  "amounts": {
    "localCurrencyCode": "USD",
    "localTransaction": 100
  }
}
ParameterDescription
merchant
string (≤ 20 characters)
required
Your unique merchant identifier, as assigned by PXP.
site
string (≤ 20 characters)
required
Your unique site identifier, as assigned by PXP.
exchangeRateProvider
string (enum)
required
The exchange rate provider to use for the DCC rate calculation.

Possible values:
  • Elavon
  • GlobalBlue
  • Fexco
cardholderCurrencyCode
string (3 characters)
required
The cardholder's currency code, in ISO 4217 format.
securityLevel
object
required
Details about the security level of the transaction. This object contains either an encrypted payload for P2PE or primary account number for non-P2PE.
securityLevel.encryptedPayload
string (≥ 1 character)
The encrypted payload, required for P2PE transactions.
securityLevel.primaryAccountNumber
string (≥ 1 character)
The encrypted payload, required for non-P2PE transactions.
transactionMethod
object
required
Details about the transaction method.
transactionMethod.entryMode
string (enum)
required
The entry mode of the transaction.

Possible values:
  • Instore
  • Ecom
transactionMethod.intent
string (enum)
required
The intent of the transaction.

Possible values:
  • Purchase
  • Authorisation
  • EstimatedAuthorisation
  • Capture
  • FinalCapture
  • Refund
  • Reversal
pointOfInteraction objectDetails about the point of interaction. This object is optional for Ecom transactions.
pointOfInteraction.entryType
string (enum, ≥ 1 character)
The type of entry used to capture the card details.

Possible values:
  • ChipAndPin
  • CardContactless
pointOfInteraction.merchantPointOfSaleId
string (≥ 1 character)
The unique identifier for the merchant point of sale.
amounts
object
required
Details about the transaction amount.
amounts.localCurrencyCode
string (3 characters)
required
The local currency code, in ISO 4217 format.
amounts.localTransaction
number (≥ 0.01)
required
The transaction amount in the local currency.

Response examples

If your request is successful, you'll receive a 200 response.

{
  "state": "Available",
  "amounts": {
    "local": {
      "transaction": 100,
      "currencyCode": "USD"
    },
    "cardholder": {
      "transaction": 85.5,
      "currencyCode": "EUR"
    }
  },
  "exchangeRate": {
    "rate": 0.855,
    "exponent": 3,
    "markUpPercentage": 3.5,
    "commissionRate": 0.025,
    "margin": 2.1
  },
  "messaging": {
    "markUpMessage": "Competitive exchange rate with 3.5% markup",
    "disclaimer": "Exchange rate includes markup and may vary"
  },
  "providerResponse": {
    "provider": "Elavon",
    "referenceId": "REF123456789",
    "terminalId": "TERM001"
  }
}