Last Updated: 22 July 2024 | Change Log

Get FX rates

Retrieve an FX rate pairing.


Get Started

Start using our FX API by setting your headers.

Authorization: {your_credentials}
Accept: application/vnd.worldpay.foreignexchange-v1+json

Request

GET https://access.worldpay.com/foreignExchange/rates/

Note

Requests must be sent to our production URL if you are a Multi-Currency Pricing customer.

Example query string

GET https://access.worldpay.com/foreignExchange/rates/foreignExchange/rates?intent=MULTI-CURRENCY%20PRICING&sourceCurrency=USD&targetCurrency=EUR&entity=PO4043058348

Optional string parameters

Field NameDescriptionData Type/FormatMin-Max LengthValidation Criteria
intentPayment method for which rates should be retrieved.
Values:
  • MULTI-CURRENCY PRICING - Acquiring processing - New Acquiring Platform (NAP) rates for the customer
  • CONSUMER RATES - NAP rates with added markup for the end customer
If not supplied, the response contains rates for both intent
String1-50
entityMCP Account Identifier (PartyID- Merchant Company ID, Unique ID given to you during the onboarding process.) for which rates should be retrieved.String0-30
sourceCurrencyThe transaction currency code. If not supplied, the response contains rates for all source currencies against the target currency.ISO 4217

Valid currency codes.
0-3Must be upper case.
targetCurrencyYour funding (settlement) currency code. If not supplied, the response contains rates for all target currencies against the source currency.ISO 4217

Valid currency codes.
0-3Must be upper case.

Response

Successful response example

{
    "rates": [
        {
            "rateId": "R301887",
            "intent": "CONSUMER RATES",
            "sourceCurrency": "AED",
            "targetCurrency": "GBP",
            "bidRate": 4.17634728,
            "askRate": 4.22019872,
            "entity": "PO4031501653",
            "issuedDate": "2023-05-31T04:00:00.000Z",
            "validFrom": "2023-05-31T04:00:00.000Z",
            "validTo": "2023-06-01T03:59:59.000Z"
        }
    ]
}

Successful response fields

Field NameDescriptionData Type/Format
rateIdId of the rate request.AN (Length: ≤50)
intentPayment method for which rates are retrieved.AN (Length: ≤50)
sourceCurrencyThe debit currency.ISO 4217

Valid currency codes.
targetCurrencyThe credit currency.ISO 4217

Valid currency codes.
bidRateThe bid/refund rate for the currency pairing.N
askRateThe ask/purchase rate for the currency pairing.N
entityPartyID - Merchant Company ID, populated for existing companies only.(Unique ID given to you during the onboarding process.)A
issuedDateDate when the rates were issued.datetime (UTC)
validFromStart date the rates become applicable.datetime (UTC)
validToInclusive end date of the rate.datetime (UTC)

Error response example

{
  "errorName": "urlContainsInvalidValue",
  "message": "The URL contains a value or values that are invalid",
  "validationErrors": [
    {
      "errorName": "fieldHasInvalidValue",
      "message": "Invalid SourceCurrency value",
      "queryParameter": "SourceCurrency"
    }
  ]
}

Error response codes

ErrorMessageScenario
unauthorizedRequestThe request is unauthorizedUnauthorized request. Your credentials are incorrect.
forbiddenForbiddenNo permission to access.
urlContainsInvalidValueThe URL contains a value or values that are invalidQuery string parameters are invalid.
stringIsTooLongThe length must be 50 characters or fewerIntent
fieldHasInvalidValueInvalid SourceCurrency valueYou've used and invalid currency code.
fieldHasInvalidValueInvalid TargetCurrency valueYou've used and invalid currency code.
fieldHasInvalidValueIntent is not valid for the current ConsumerInvalid value of intent.
notFoundNot foundentity, sourceCurrency or targetCurrency is not found.
internalErrorOccurredSomething went wrongInternal error. Please speak to your Implementation Manager for further information.