Documentation

Exchanges

Ecart Pay offers comprehensive currency exchange tools, enabling businesses to transact in multiple currencies seamlessly.

In an increasingly interconnected world, businesses often deal with international transactions involving multiple currencies. Ecart Pay’s currency exchange module simplifies this complexity by allowing users to manage and view exchange rates effortlessly. Whether you’re a business owner managing payments or an individual looking to understand exchange rates for your transactions, Ecart Pay’s tools make the process transparent and efficient.

This entry highlights the core features of Ecart Pay’s currency exchange module, its benefits, and how businesses can leverage this functionality to streamline global payments.

Why Use Ecart Pay’s Currency Exchange Features?

Having access to accurate and real-time currency exchange rates within Ecart Pay provides numerous advantages:

  • Seamless Cross-Border Transactions: Support for various currencies ensures businesses can cater to international customers without worrying about manual currency conversion.
  • Real-Time Rates: Access the latest exchange rates to make informed financial decisions.
  • Streamlined Payments: By choosing a preferred base currency, businesses can standardize their financial operations and reporting.
  • Enhanced Customer Experience: Offering transactions in customers’ local currency builds trust and improves satisfaction.

Retrieve Exchanges by Currency Base

Retrieve the list of exchange rates based on a specified base currency.

Endpoint

GET {{baseURL}}/api/exchanges?base={currency_code}

Headers

  • Authorization: {token}

Request Parameters

ParameterTypeDescription
basestringThe base currency (e.g., USD).

Example Request

curl --location 'https://sandbox.ecartpay.com/api/exchanges?base=USD' \
--header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw' \
--header 'Cookie: lang=en'
package main

import (
  "fmt"
  "net/http"
  "io"
)

func main() {

  url := "https://sandbox.ecartpay.com/api/exchanges?base=USD"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw")
  req.Header.Add("Cookie", "lang=en")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
GET /api/exchanges?base=USD HTTP/1.1
Host: sandbox.ecartpay.com
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw
Cookie: lang=en
// OkHttp

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://sandbox.ecartpay.com/api/exchanges?base=USD")
  .method("GET", body)
  .addHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw")
  .addHeader("Cookie", "lang=en")
  .build();
Response response = client.newCall(request).execute();

// -------------------------------------------------------------

// Unirest

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://sandbox.ecartpay.com/api/exchanges?base=USD")
  .header("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw")
  .header("Cookie", "lang=en")
  .asString();
// Fetch

const myHeaders = new Headers();
myHeaders.append("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw");
myHeaders.append("Cookie", "lang=en");

const requestOptions = {
  method: "GET",
  headers: myHeaders,
  redirect: "follow"
};

fetch("https://sandbox.ecartpay.com/api/exchanges?base=USD", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

// -------------------------------------------------------------

// jQuery

var settings = {
  "url": "https://sandbox.ecartpay.com/api/exchanges?base=USD",
  "method": "GET",
  "timeout": 0,
  "headers": {
    "Authorization": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw",
    "Cookie": "lang=en"
  },
};

$.ajax(settings).done(function (response) {
  console.log(response);
});

// -------------------------------------------------------------

// XHR

// WARNING: For GET requests, body is set to null by browsers.

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
  if(this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.ecartpay.com/api/exchanges?base=USD");
xhr.setRequestHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw");
// WARNING: Cookies will be stripped away by the browser before sending the request.
xhr.setRequestHeader("Cookie", "lang=en");

xhr.send();
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
  curl_easy_setopt(curl, CURLOPT_URL, "https://sandbox.ecartpay.com/api/exchanges?base=USD");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw");
  headers = curl_slist_append(headers, "Cookie: lang=en");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  res = curl_easy_perform(curl);
  curl_slist_free_all(headers);
}
curl_easy_cleanup(curl);
// Axios

const axios = require('axios');

let config = {
  method: 'get',
  maxBodyLength: Infinity,
  url: 'https://sandbox.ecartpay.com/api/exchanges?base=USD',
  headers: { 
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw', 
    'Cookie': 'lang=en'
  }
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

// -------------------------------------------------------------

// Native

var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'GET',
  'hostname': 'sandbox.ecartpay.com',
  'path': '/api/exchanges?base=USD',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
    'Cookie': 'lang=en'
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

req.end();

// -------------------------------------------------------------

// Request

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://sandbox.ecartpay.com/api/exchanges?base=USD',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
    'Cookie': 'lang=en'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

// -------------------------------------------------------------

// Unirest

var unirest = require('unirest');
var req = unirest('GET', 'https://sandbox.ecartpay.com/api/exchanges?base=USD')
  .headers({
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
    'Cookie': 'lang=en'
  })
  .end(function (res) { 
    if (res.error) throw new Error(res.error); 
    console.log(res.raw_body);
  });
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sandbox.ecartpay.com/api/exchanges?base=USD"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw",
  @"Cookie": @"lang=en"
};

[request setAllHTTPHeaderFields:headers];

[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
open Lwt
open Cohttp
open Cohttp_lwt_unix

let reqBody = 
  let uri = Uri.of_string "https://sandbox.ecartpay.com/api/exchanges?base=USD" in
  let headers = Header.init ()
    |> fun h -> Header.add h "Authorization" "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw"
    |> fun h -> Header.add h "Cookie" "lang=en"
  in
  Client.call ~headers `GET uri >>= fun (_resp, body) ->
  body |> Cohttp_lwt.Body.to_string >|= fun body -> body

let () =
  let respBody = Lwt_main.run reqBody in
  print_endline (respBody)
// cURL

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sandbox.ecartpay.com/api/exchanges?base=USD',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
    'Cookie: lang=en'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

// -------------------------------------------------------------

// Guzzle

<?php
$client = new Client();
$headers = [
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie' => 'lang=en'
];
$request = new Request('GET', 'https://sandbox.ecartpay.com/api/exchanges?base=USD', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();

// -------------------------------------------------------------

// HTTP_Request2

<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://sandbox.ecartpay.com/api/exchanges?base=USD');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie' => 'lang=en'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}

// -------------------------------------------------------------

// pecl_http

<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://sandbox.ecartpay.com/api/exchanges?base=USD');
$request->setRequestMethod('GET');
$request->setOptions(array());
$request->setHeaders(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie' => 'lang=en'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw")
$headers.Add("Cookie", "lang=en")

$response = Invoke-RestMethod 'https://sandbox.ecartpay.com/api/exchanges?base=USD' -Method 'GET' -Headers $headers
$response | ConvertTo-Json
# http.client

import http.client

conn = http.client.HTTPSConnection("sandbox.ecartpay.com")
payload = ''
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie': 'lang=en'
}
conn.request("GET", "/api/exchanges?base=USD", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

// -------------------------------------------------------------

# Requests

import requests

url = "https://sandbox.ecartpay.com/api/exchanges?base=USD"

payload = {}
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie': 'lang=en'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
# httr

library(httr)

headers = c(
  'Authorization' = 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie' = 'lang=en'
)

res <- VERB("GET", url = "https://sandbox.ecartpay.com/api/exchanges?base=USD", add_headers(headers))

cat(content(res, 'text'))

// -------------------------------------------------------------

# RCurl

library(RCurl)
headers = c(
  "Authorization" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw",
  "Cookie" = "lang=en"
)
res <- getURL("https://sandbox.ecartpay.com/api/exchanges?base=USD", .opts=list(httpheader = headers, followlocation = TRUE))
cat(res)
require "uri"
require "net/http"

url = URI("https://sandbox.ecartpay.com/api/exchanges?base=USD")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw"
request["Cookie"] = "lang=en"

response = https.request(request)
puts response.read_body
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = reqwest::Client::builder()
        .build()?;

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw".parse()?);
    headers.insert("Cookie", "lang=en".parse()?);

    let request = client.request(reqwest::Method::GET, "https://sandbox.ecartpay.com/api/exchanges?base=USD")
        .headers(headers);

    let response = request.send().await?;
    let body = response.text().await?;

    println!("{}", body);

    Ok(())
}
# Httpie

http --follow --timeout 3600 GET 'https://sandbox.ecartpay.com/api/exchanges?base=USD' \
 Authorization:'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw' \
 Cookie:'lang=en'

// -------------------------------------------------------------

# wget

wget --no-check-certificate --quiet \
  --method GET \
  --timeout=0 \
  --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw' \
  --header 'Cookie: lang=en' \
   'https://sandbox.ecartpay.com/api/exchanges?base=USD'
var request = URLRequest(url: URL(string: "https://sandbox.ecartpay.com/api/exchanges?base=USD")!,timeoutInterval: Double.infinity)
request.addValue("eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw", forHTTPHeaderField: "Authorization")
request.addValue("lang=en", forHTTPHeaderField: "Cookie")

request.httpMethod = "GET"

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()

Example Response

{
    "id": "5fab326d8986165dffa64ac5",
    "base": "USD",
    "exchanges": {
        "AED": 3.6732,
        "AFN": 79.030285,
        "ALL": 102.827543,
        "AMD": 508.430002,
        "ANG": 1.795936,
        "AOA": 647.19,
        "ARS": 95.5263,
        "AUD": 1.321903,
        "AWG": 1.8,
        "AZN": 1.700805,
        "BAM": 1.638968,
        "BBD": 2,
        "BDT": 84.838098,
        "BGN": 1.6399,
        "BHD": 0.377007,
        "BIF": 1980.416568,
        "BMD": 1,
        "BND": 1.343266,
        "BOB": 6.912196,
        "BRL": 4.9262,
        "BSD": 1,
        "BTC": 0.000029067326,
        "BTN": 74.234653,
        "BWP": 10.833969,
        "BYN": 2.528638,
        "BZD": 2.016761,
        "CAD": 1.233915,
        "CDF": 1986.98927,
        "CHF": 0.919794,
        "CLF": 0.026615,
        "CLP": 735.001553,
        "CNH": 6.46142,
        "CNY": 6.4561,
        "COP": 3749.437008,
        "CRC": 620.020264,
        "CUC": 1,
        "CUP": 25.75,
        "CVE": 95.85,
        "CZK": 21.3208,
        "DJF": 178.117125,
        "DKK": 6.2359,
        "DOP": 57.029132,
        "DZD": 134.025407,
        "EGP": 15.6705,
        "ERN": 15.002,
        "ETB": 43.852804,
        "EUR": 0.83857,
        "FJD": 2.06105,
        "FKP": 0.720523,
        "GBP": 0.720523,
        "GEL": 3.145,
        "GGP": 0.720523,
        "GHS": 5.826084,
        "GIP": 0.720523,
        "GMD": 51.12,
        "GNF": 9825.773055,
        "GTQ": 7.753029,
        "GYD": 209.277218,
        "HKD": 7.763004,
        "HNL": 23.909491,
        "HRK": 6.2884,
        "HTG": 92.84378,
        "HUF": 293.966975,
        "IDR": 14484.5,
        "ILS": 3.259376,
        "IMP": 0.720523,
        "INR": 74.284142,
        "IQD": 1459.733973,
        "IRR": 42105,
        "ISK": 123.53,
        "JEP": 0.720523,
        "JMD": 150.081709,
        "JOD": 0.709,
        "JPY": 110.5989,
        "KES": 107.840346,
        "KGS": 84.589799,
        "KHR": 4083.030315,
        "KMF": 412.900102,
        "KPW": 900,
        "KRW": 1130.349729,
        "KWD": 0.301069,
        "KYD": 0.833773,
        "KZT": 426.934748,
        "LAK": 9479.741907,
        "LBP": 1512.7593,
        "LKR": 199.100909,
        "LRD": 171.450049,
        "LSL": 14.087217,
        "LYD": 4.50468,
        "MAD": 8.895966,
        "MDL": 17.994133,
        "MGA": 3788.61044,
        "MKD": 51.673464,
        "MMK": 1646.836879,
        "MNT": 2847.354137,
        "MOP": 7.999581,
        "MRO": 356.999828,
        "MRU": 36.168144,
        "MUR": 42.49717,
        "MVR": 15.41,
        "MWK": 806.003963,
        "MXN": 19.82665,
        "MYR": 4.146,
        "MZN": 63.301999,
        "NAD": 14.18,
        "NGN": 410.5,
        "NIO": 34.942385,
        "NOK": 8.524919,
        "NPR": 118.7756,
        "NZD": 1.42007,
        "OMR": 0.38499,
        "PAB": 1,
        "PEN": 3.980892,
        "PGK": 3.559924,
        "PHP": 48.692,
        "PKR": 157.880022,
        "PLN": 3.7752,
        "PYG": 6783.667427,
        "QAR": 3.644131,
        "RON": 4.132,
        "RSD": 98.551947,
        "RUB": 72.2265,
        "RWF": 1006.38561,
        "SAR": 3.750745,
        "SBD": 8.016064,
        "SCR": 14.915098,
        "SDG": 449.5,
        "SEK": 8.51495,
        "SGD": 1.3432,
        "SHP": 0.720523,
        "SLL": 10252.949863,
        "SOS": 578.750851,
        "SRD": 20.8535,
        "SSP": 130.26,
        "STD": 20518.098064,
        "STN": 20.7,
        "SVC": 8.75508,
        "SYP": 1257.897232,
        "SZL": 14.08571,
        "THB": 31.915833,
        "TJS": 11.410769,
        "TMT": 3.51,
        "TND": 2.7725,
        "TOP": 2.241465,
        "TRY": 8.69022,
        "TTD": 6.791117,
        "TWD": 27.8474,
        "TZS": 2320.58393,
        "UAH": 27.36477,
        "UGX": 3556.825487,
        "USD": 1,
        "UYU": 43.456944,
        "UZS": 10575.982571,
        "VES": 3209358.225806,
        "VND": 23051.644609,
        "VUV": 109.647402,
        "WST": 2.542132,
        "XAF": 550.065758,
        "XAG": 0.03832225,
        "XAU": 0.00056247,
        "XCD": 2.70255,
        "XDR": 0.700151,
        "XOF": 550.065758,
        "XPD": 0.00037135,
        "XPF": 100.068,
        "XPT": 0.00091316,
        "YER": 250.200039,
        "ZAR": 14.2648,
        "ZMW": 22.618639,
        "ZWL": 322
    },
    "created_at": "2020-11-11T00:38:05.617Z",
    "updated_at": "2021-06-28T23:36:11.630Z"
}

Why Are Multiple Exchange Options Useful?

Having access to various exchange options benefits businesses in several ways:

  • Catering to Global Markets: Offering pricing in customers’ local currency removes barriers to entry and enhances trust.
  • Financial Efficiency: Reduces the need for third-party currency conversion services, saving time and fees.
  • Transparency: Businesses and customers can make well-informed decisions with clear and updated exchange rates.

Available Currencies

CurrencyCountry
USDUnited States
EUREuropean Union
COPColombia
MXNMexico
CLPChile
JPYJapan
ARSArgentina
RUBRussia
INRIndia
UYUUruguay
GTQGuatemala
AUDAustralia
CNYChina
BRLBrazil
PENPeru
CADCanada

Retrieve Available Currencies

Retrieve a complete list of all available currencies and their corresponding base exchanges within Ecart Pay.

Endpoint

GET {{baseURL}}/api/exchanges/available

Headers

  • Authorization: {token}

Example Request

curl --location 'https://sandbox.ecartpay.com/api/exchanges/available' \
--header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw' \
--header 'Cookie: lang=en'
package main

import (
  "fmt"
  "net/http"
  "io"
)

func main() {

  url := "https://sandbox.ecartpay.com/api/exchanges/available"
  method := "GET"

  client := &http.Client {
  }
  req, err := http.NewRequest(method, url, nil)

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw")
  req.Header.Add("Cookie", "lang=en")

  res, err := client.Do(req)
  if err != nil {
    fmt.Println(err)
    return
  }
  defer res.Body.Close()

  body, err := io.ReadAll(res.Body)
  if err != nil {
    fmt.Println(err)
    return
  }
  fmt.Println(string(body))
}
GET /api/exchanges/available HTTP/1.1
Host: sandbox.ecartpay.com
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw
Cookie: lang=en
// OkHttp

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
  .url("https://sandbox.ecartpay.com/api/exchanges/available")
  .method("GET", body)
  .addHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw")
  .addHeader("Cookie", "lang=en")
  .build();
Response response = client.newCall(request).execute();

// -------------------------------------------------------------

// Unirest

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.get("https://sandbox.ecartpay.com/api/exchanges/available")
  .header("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw")
  .header("Cookie", "lang=en")
  .asString();
// Fetch

const myHeaders = new Headers();
myHeaders.append("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw");
myHeaders.append("Cookie", "lang=en");

const requestOptions = {
  method: "GET",
  headers: myHeaders,
  redirect: "follow"
};

fetch("https://sandbox.ecartpay.com/api/exchanges/available", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

// -------------------------------------------------------------

// jQuery

var settings = {
  "url": "https://sandbox.ecartpay.com/api/exchanges/available",
  "method": "GET",
  "timeout": 0,
  "headers": {
    "Authorization": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw",
    "Cookie": "lang=en"
  },
};

$.ajax(settings).done(function (response) {
  console.log(response);
});

// -------------------------------------------------------------

// XHR

// WARNING: For GET requests, body is set to null by browsers.

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function() {
  if(this.readyState === 4) {
    console.log(this.responseText);
  }
});

xhr.open("GET", "https://sandbox.ecartpay.com/api/exchanges/available");
xhr.setRequestHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw");
// WARNING: Cookies will be stripped away by the browser before sending the request.
xhr.setRequestHeader("Cookie", "lang=en");

xhr.send();
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "GET");
  curl_easy_setopt(curl, CURLOPT_URL, "https://sandbox.ecartpay.com/api/exchanges/available");
  curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
  curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
  struct curl_slist *headers = NULL;
  headers = curl_slist_append(headers, "Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw");
  headers = curl_slist_append(headers, "Cookie: lang=en");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  res = curl_easy_perform(curl);
  curl_slist_free_all(headers);
}
curl_easy_cleanup(curl);
// Axios

const axios = require('axios');

let config = {
  method: 'get',
  maxBodyLength: Infinity,
  url: 'https://sandbox.ecartpay.com/api/exchanges/available',
  headers: { 
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw', 
    'Cookie': 'lang=en'
  }
};

axios.request(config)
.then((response) => {
  console.log(JSON.stringify(response.data));
})
.catch((error) => {
  console.log(error);
});

// -------------------------------------------------------------

// Native

var https = require('follow-redirects').https;
var fs = require('fs');

var options = {
  'method': 'GET',
  'hostname': 'sandbox.ecartpay.com',
  'path': '/api/exchanges/available',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
    'Cookie': 'lang=en'
  },
  'maxRedirects': 20
};

var req = https.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function (chunk) {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });

  res.on("error", function (error) {
    console.error(error);
  });
});

req.end();

// -------------------------------------------------------------

// Request

var request = require('request');
var options = {
  'method': 'GET',
  'url': 'https://sandbox.ecartpay.com/api/exchanges/available',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
    'Cookie': 'lang=en'
  }
};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

// -------------------------------------------------------------

// Unirest

var unirest = require('unirest');
var req = unirest('GET', 'https://sandbox.ecartpay.com/api/exchanges/available')
  .headers({
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
    'Cookie': 'lang=en'
  })
  .end(function (res) { 
    if (res.error) throw new Error(res.error); 
    console.log(res.raw_body);
  });
#import <Foundation/Foundation.h>

dispatch_semaphore_t sema = dispatch_semaphore_create(0);

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://sandbox.ecartpay.com/api/exchanges/available"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw",
  @"Cookie": @"lang=en"
};

[request setAllHTTPHeaderFields:headers];

[request setHTTPMethod:@"GET"];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
  if (error) {
    NSLog(@"%@", error);
    dispatch_semaphore_signal(sema);
  } else {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
    NSError *parseError = nil;
    NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
    NSLog(@"%@",responseDictionary);
    dispatch_semaphore_signal(sema);
  }
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
open Lwt
open Cohttp
open Cohttp_lwt_unix

let reqBody = 
  let uri = Uri.of_string "https://sandbox.ecartpay.com/api/exchanges/available" in
  let headers = Header.init ()
    |> fun h -> Header.add h "Authorization" "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw"
    |> fun h -> Header.add h "Cookie" "lang=en"
  in
  Client.call ~headers `GET uri >>= fun (_resp, body) ->
  body |> Cohttp_lwt.Body.to_string >|= fun body -> body

let () =
  let respBody = Lwt_main.run reqBody in
  print_endline (respBody)
// cURL

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://sandbox.ecartpay.com/api/exchanges/available',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'GET',
  CURLOPT_HTTPHEADER => array(
    'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
    'Cookie: lang=en'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

// -------------------------------------------------------------

// Guzzle

<?php
$client = new Client();
$headers = [
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie' => 'lang=en'
];
$request = new Request('GET', 'https://sandbox.ecartpay.com/api/exchanges/available', $headers);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();

// -------------------------------------------------------------

// HTTP_Request2

<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://sandbox.ecartpay.com/api/exchanges/available');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie' => 'lang=en'
));
try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }
  else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}
catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}

// -------------------------------------------------------------

// pecl_http

<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://sandbox.ecartpay.com/api/exchanges/available');
$request->setRequestMethod('GET');
$request->setOptions(array());
$request->setHeaders(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie' => 'lang=en'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw")
$headers.Add("Cookie", "lang=en")

$response = Invoke-RestMethod 'https://sandbox.ecartpay.com/api/exchanges/available' -Method 'GET' -Headers $headers
$response | ConvertTo-Json
# http.client

import http.client

conn = http.client.HTTPSConnection("sandbox.ecartpay.com")
payload = ''
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie': 'lang=en'
}
conn.request("GET", "/api/exchanges/available", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

// -------------------------------------------------------------

# Requests

import requests

url = "https://sandbox.ecartpay.com/api/exchanges/available"

payload = {}
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie': 'lang=en'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
# httr

library(httr)

headers = c(
  'Authorization' = 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw',
  'Cookie' = 'lang=en'
)

res <- VERB("GET", url = "https://sandbox.ecartpay.com/api/exchanges/available", add_headers(headers))

cat(content(res, 'text'))

// -------------------------------------------------------------

# RCurl

library(RCurl)
headers = c(
  "Authorization" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw",
  "Cookie" = "lang=en"
)
res <- getURL("https://sandbox.ecartpay.com/api/exchanges/available", .opts=list(httpheader = headers, followlocation = TRUE))
cat(res)
require "uri"
require "net/http"

url = URI("https://sandbox.ecartpay.com/api/exchanges/available")

https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw"
request["Cookie"] = "lang=en"

response = https.request(request)
puts response.read_body
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = reqwest::Client::builder()
        .build()?;

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw".parse()?);
    headers.insert("Cookie", "lang=en".parse()?);

    let request = client.request(reqwest::Method::GET, "https://sandbox.ecartpay.com/api/exchanges/available")
        .headers(headers);

    let response = request.send().await?;
    let body = response.text().await?;

    println!("{}", body);

    Ok(())
}
# Httpie

http --follow --timeout 3600 GET 'https://sandbox.ecartpay.com/api/exchanges/available' \
 Authorization:'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw' \
 Cookie:'lang=en'

// -------------------------------------------------------------

# wget

wget --no-check-certificate --quiet \
  --method GET \
  --timeout=0 \
  --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw' \
  --header 'Cookie: lang=en' \
   'https://sandbox.ecartpay.com/api/exchanges/available'
var request = URLRequest(url: URL(string: "https://sandbox.ecartpay.com/api/exchanges/available")!,timeoutInterval: Double.infinity)
request.addValue("eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzkzNzkwNTQsImV4cCI6MTczOTM4MjY1NH0.Bh9ojHtrU_nbzQ-Y4akRTtQDXU3I3YzGoQDWXsbqivFb5RNQJ7IhvYVuxNSASha6U2FbV6pX4DlJncxpdn8Zcw", forHTTPHeaderField: "Authorization")
request.addValue("lang=en", forHTTPHeaderField: "Cookie")

request.httpMethod = "GET"

let task = URLSession.shared.dataTask(with: request) { data, response, error in 
  guard let data = data else {
    print(String(describing: error))
    return
  }
  print(String(data: data, encoding: .utf8)!)
}

task.resume()

Example Response

[
  {
    "id": "5fab326d8986165dffa64ac5",
    "base": "USD",
    "created_at": "2020-11-11T00:38:05.617Z",
    "updated_at": "2021-06-28T23:36:11.630Z"
  },
  {
    "id": "5fbbe2a7daa13100175a77fe",
    "base": "EUR",
    "created_at": "2020-11-23T16:26:15.752Z",
    "updated_at": "2021-06-28T23:36:11.592Z"
  },
  {
    "id": "5fbbe2b1daa13100175a77ff",
    "base": "COP",
    "created_at": "2020-11-23T16:26:25.751Z",
    "updated_at": "2021-06-28T23:36:11.647Z"
  },
  {
    "id": "5fbbed4adaa13100175a780a",
    "base": "MXN",
    "created_at": "2020-11-23T17:11:38.580Z",
    "updated_at": "2021-06-28T23:36:11.662Z"
  },
  {
    "id": "61579e99b50a7f3b00b6a62c",
    "base": "CLP",
    "created_at": "2021-10-01T23:49:45.537Z",
    "updated_at": "2021-10-01T23:49:45.537Z"
  },
  {
    "id": "6157c0d265d4550016e3d689",
    "base": "JPY",
    "created_at": "2021-10-02T02:15:46.842Z",
    "updated_at": "2021-10-02T02:15:46.842Z"
  },
  {
    "id": "6157c0d265d4550016e3d68b",
    "base": "ARS",
    "created_at": "2021-10-02T02:15:46.855Z",
    "updated_at": "2021-10-02T02:15:46.855Z"
  },
  {
    "id": "6157c0d265d4550016e3d68d",
    "base": "RUB",
    "created_at": "2021-10-02T02:15:46.868Z",
    "updated_at": "2021-10-02T02:15:46.868Z"
  },
  {
    "id": "615b3914751c749da2817600",
    "base": "INR",
    "created_at": "2021-10-04T17:25:40.316Z",
    "updated_at": "2021-10-04T17:25:40.316Z"
  },
  {
    "id": "615f277980a3990016968462",
    "base": "UYU",
    "created_at": "2021-10-07T16:59:37.916Z",
    "updated_at": "2021-10-07T16:59:37.916Z"
  },
  {
    "id": "6189b0b9df291598221a5d7a",
    "base": "GTQ",
    "created_at": "2021-11-08T23:20:25.234Z",
    "updated_at": "2021-11-08T23:20:25.234Z"
  },
  {
    "id": "619c13bc2b5d2a9be72f42b3",
    "base": "AUD",
    "created_at": "2021-11-22T22:03:40.559Z",
    "updated_at": "2021-11-22T22:03:40.559Z"
  },
  {
    "id": "61a558d42312553920fce992",
    "base": "CNY",
    "created_at": "2021-11-29T22:48:52.373Z",
    "updated_at": "2021-11-29T22:48:52.373Z"
  },
  {
    "id": "620416e15f222b510a4b6a6b",
    "base": "BRL",
    "created_at": "2022-02-09T19:32:49.294Z",
    "updated_at": "2022-02-09T19:32:49.294Z"
  },
  {
    "id": "621fea7c8e72394651072334",
    "base": "PEN",
    "created_at": "2022-03-02T22:06:52.049Z",
    "updated_at": "2022-03-02T22:06:52.049Z"
  },
  {
    "id": "621fea7c8e72394651072336",
    "base": "CAD",
    "created_at": "2022-03-02T22:06:52.079Z",
    "updated_at": "2022-03-02T22:06:52.079Z"
  }
]

Use Cases for Ecart Pay Currency Exchange

  1. Understanding Global Transactions: Businesses working with international clients can use exchange rates to manage pricing strategies and understand market dynamics.
  2. Streamlined Accounting: Consolidate earnings or expenses in a single currency, simplifying reporting and financial tracking.
  3. Competitive Pricing: Provide local currency options for customers to reduce barriers and increase conversion rates.
  4. Transparent Billing: Use real-time rates to ensure customers and partners are billed accurately and fairly.

Conclusion

Ecart Pay’s currency exchange module is a vital tool for businesses aiming to operate in the global market efficiently. By providing real-time exchange rates and support for diverse currencies, it simplifies financial operations and enhances customer experience. Whether managing cross-border payments or optimizing internal processes, Ecart Pay’s exchange features empower businesses to thrive in a global economy.