Get a Dynamic Currency Conversion (DCC) rate for a transaction.
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:
|
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:
|
transactionMethod.intent string (enum) required | The intent of the transaction. Possible values:
|
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:
|
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. |
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"
}
}