Guides

Multi-Currency Processing

With MCP, you can offer a variety of currencies to consumers and still receive the funds in your local currency. Planet provides two MCP options: Dynamic MCP, which enables real-time currency rate updates, and Static MCP, which merchants are responsible for defining their rates.

Process overview

The process is simple: You call our MCP API to retrieve the currency ratesยน if you use dynamic MCP. You pass the currency detailsยฒ within the object mcp in your init API calls of any supported integration. It's important to note that your frontend is responsible for showing the user the currency options to the user.

๐Ÿ“˜

Get in touch to implement MCP correctly!

Depending on your specific integration or solution, we might recommend increasing the frequency of calls to the MCP endpoint. Please contact us for tailored advice on the optimal frequency for your currency setup. We will also provide expert guidance on the most effective placement for the currency selection.

Dynamic MCP

We offer an API for Dynamic MCP that allows you to access the latest currency rates of over 100 currencies. To obtain this information, call the multicurrency/rates endpoint to get an array of different currencies along with their conversion rates.

curl -i https://api.sandbox.datatrans.com/v1/multicurrency/rates \
  -H 'Authorization: Basic {basicAuth}'

The response includes a requestId, transaction details (such as the transaction date and a retrieval reference number), and the array of currencies with their respective details. These details must be included in your calls to the init API when initiating transactions for customer-initiated payments.

{
  "requestId" : "b8d4aff1-30dc-4ae8-8f58-60b4fa0edcee",
  "reportDetail" : {
    "transactionDate" : "202X-11-13T18:31:04Z",
    "retrievalReferenceNumber" : "331730198391"
  },
  "rates" : [ {
    "currency" : "AED",
    "currencyCode" : "784",
    "decimalPlaces" : 2,
    "roundUnit" : 0,
    "value" : 4.647392998423604
  }, {
    "currency" : "AFN",
    "currencyCode" : "971",
    "decimalPlaces" : 2,
    "roundUnit" : 0,
    "value" : 98.49887711280091
  },
  ...
	]
}

Passing the details

To integrate the MCP details into the init API, you should include them within the mcp object. What needs to be passed varies depending on whether you use static or dynamic MCP, requiring different details. The global currency defined in your request remains the currency configured for payouts.

Static MCP required values

The required MCP values for static MCP include the dynamic currency amount, currency code, provider, reason indicator, and userId.

...
"mcp": {
    "amount": 1778,
    "currency": "GBP",
    "provider": "Planet",
    "reasonIndicator": "MI",
    "userId": 999000017
}

Dynamic MCP required values

The required MCP values for dynamic MCP are the following parameters on top of those outlined in the static MCP example: conversionRate, transactionDate, and retrievalReferenceNumber.

...
"mcp": {
    "amount": 1778,
    "currency": "GBP",
    "conversionRate": "1.4",
    "transactionDate": "202X-09-05T17:11:48Z",
    "retrievalReferenceNumber": "232201294216",
    "provider": "Planet",
    "reasonIndicator": "MI",
    "userId": 999000017
}