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
  }
}

Parameter

Description

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.

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
object

Details 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"
  }
}
{
  "state": "Available",
  "amounts": {
    "local": {
      "transaction": 100,
      "currencyCode": "USD"
    },
    "cardholder": {
      "transaction": 84.75,
      "currencyCode": "EUR"
    }
  },
  "exchangeRate": {
    "rate": 0.8475,
    "exponent": 4,
    "markUpPercentage": 4,
    "commissionRate": 0.03,
    "margin": 2.5
  },
  "messaging": {
    "markUpMessage": "GlobalBlue exchange rate with 4.0% markup",
    "disclaimer": "Rate provided by GlobalBlue and subject to change"
  },
  "providerResponse": {
    "provider": "GlobalBlue",
    "merchantId": "GB987654321",
    "terminalId": "TERM001",
    "acquirerId": "AQ3333"
  }
}
{
  "state": "Available",
  "amounts": {
    "local": {
      "transaction": 100,
      "currencyCode": "USD"
    },
    "cardholder": {
      "transaction": 86.2,
      "currencyCode": "EUR"
    }
  },
  "exchangeRate": {
    "rate": 0.862,
    "exponent": 3,
    "markUpPercentage": 3.2,
    "commissionRate": 0.022,
    "margin": 1.8
  },
  "messaging": {
    "markUpMessage": "Fexco competitive rate with 3.2% markup",
    "disclaimer": "Fexco rate subject to market conditions"
  },
  "providerResponse": {
    "provider": "Fexco",
    "merchantId": "FX987654321",
    "acquirerId": "AQ3333"
  }
}
{
  "state": "NotAvailable",
  "amounts": {
    "local": {
      "transaction": 100,
      "currencyCode": "USD"
    },
    "cardholder": {
      "transaction": 0,
      "currencyCode": "EUR"
    }
  },
  "exchangeRate": {
    "rate": 0,
    "exponent": 0,
    "markUpPercentage": 0,
    "commissionRate": 0,
    "margin": 0
  },
  "messaging": {
    "markUpMessage": "",
    "disclaimer": "DCC service not available for this transaction"
  },
  "providerResponse": {
    "provider": "Elavon",
    "referenceId": "",
    "merchantId": "",
    "terminalId": ""
  }
}