Advanced Operations with Checkouts

Updating your Custom Checkouts

Managing checkouts effectively is essential for businesses striving to deliver flexible and personalized payment solutions. With Ecart Pay, you can update key details of an existing checkout, modify individual items included in a checkout, and retrieve comprehensive information about a specific checkout. These capabilities are particularly useful for adapting to customer requests, correcting errors, or enhancing the overall user experience.

By allowing updates to both the checkout and its items, Ecart Pay enables businesses to maintain accuracy and transparency throughout the payment process. Additionally, retrieving checkout details is invaluable for generating reports, resolving customer inquiries, or integrating checkout data into other business systems.



⚠️

IMPORTANT

To follow the steps below, it is essential to have the corresponding Authorization Token. For more information, please refer to the following documentation page: Authorization Token

Update Checkout

This endpoint allows businesses to update key details of an existing checkout, such as customer information or notification settings.

💻

Visit our API Reference to test this endpoint.

Endpoints

  • PUT https://ecartpay.com/api/checkouts/{{id}}
  • PUT https://sandbox.ecartpay.com/api/checkouts/{{id}}

Headers

  • Authorization: {token}
  • Content-Type: application/json

Path Parameters

  • id: The id of the checkout to update.

Examples

Request Body

{
    "customer": {
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Doe",
        "phone": "8123456789"
    }
}

Request

curl --request PUT \
     --url https://sandbox.ecartpay.com/api/checkouts/68dac627ff8f016d8e168c89 \
     --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY4YTRjMzE1MGIyOGE5NTg0MzA1YTJhYSIsImFjY291bnRfaWQiOiI2OGE0YzMxNTBiMjhhOTU4NDMwNWEyYTYiLCJhY2NvdW50Ijp7ImVtYWlsIjoiaHVnby5tb3JpbkBlY2FydHBheS5jb20iLCJmaXJzdF9uYW1lIjoiSHVnbyIsImxhc3RfbmFtZSI6Ik1vcsOtbiIsInBob25lIjoiNTI4MTE2MTI2NzY3IiwiY291bnRyeSI6Ik1YIiwiY3VycmVuY3kiOiJNWE4iLCJ2ZXJpZmllZCI6dHJ1ZSwiYWN0aXZlIjp0cnVlfSwiaWF0IjoxNzU5MTY2ODIyLCJleHAiOjE3NTkxNzA0MjJ9.Tkr46XFFaVoBw5oH04uljBCl32N8G2yNvDkT_a8PH3C75FZ1flf7o70T3hQ6yiuy6-dvL8kcJeyTtu5u12gynw' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '
{
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "812345679"
  }
}
'
package main

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

func main() {

  url := "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34"
  method := "PUT"

  payload := strings.NewReader(`{
    "customer": {
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Doe",
        "phone": "8123688056"
    }
}`)

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

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  req.Header.Add("Content-Type", "application/json")
  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))
}
PUT /api/checkouts/678551ec8b3f78f49c915e34 HTTP/1.1
Host: sandbox.ecartpay.com
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw
Content-Type: application/json
Cookie: lang=en
Content-Length: 152

{
    "customer": {
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Doe",
        "phone": "8123688056"
    }
}
// OkHttp

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"customer\": {\n        \"email\": \"[email protected]\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"phone\": \"8123688056\"\n    }\n}");
Request request = new Request.Builder()
  .url("https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34")
  .method("PUT", body)
  .addHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  .addHeader("Content-Type", "application/json")
  .addHeader("Cookie", "lang=en")
  .build();
Response response = client.newCall(request).execute();

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

// Unirest

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.put("https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34")
  .header("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  .header("Content-Type", "application/json")
  .header("Cookie", "lang=en")
  .body("{\n    \"customer\": {\n        \"email\": \"[email protected]\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"phone\": \"8123688056\"\n    }\n}")
  .asString();
// Fetch

const myHeaders = new Headers();
myHeaders.append("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Cookie", "lang=en");

const raw = JSON.stringify({
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
});

const requestOptions = {
  method: "PUT",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};

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

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

// jQuery

var settings = {
  "url": "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34",
  "method": "PUT",
  "timeout": 0,
  "headers": {
    "Authorization": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
    "Content-Type": "application/json",
    "Cookie": "lang=en"
  },
  "data": JSON.stringify({
    "customer": {
      "email": "[email protected]",
      "first_name": "John",
      "last_name": "Doe",
      "phone": "8123688056"
    }
  }),
};

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

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

// XHR

var data = JSON.stringify({
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
});

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

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

xhr.open("PUT", "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34");
xhr.setRequestHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
xhr.setRequestHeader("Content-Type", "application/json");
// WARNING: Cookies will be stripped away by the browser before sending the request.
xhr.setRequestHeader("Cookie", "lang=en");

xhr.send(data);
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
  curl_easy_setopt(curl, CURLOPT_URL, "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34");
  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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
  headers = curl_slist_append(headers, "Content-Type: application/json");
  headers = curl_slist_append(headers, "Cookie: lang=en");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "{\n    \"customer\": {\n        \"email\": \"[email protected]\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"phone\": \"8123688056\"\n    }\n}";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
  curl_slist_free_all(headers);
}
curl_easy_cleanup(curl);
// Axios

const axios = require('axios');
let data = JSON.stringify({
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
});

let config = {
  method: 'put',
  maxBodyLength: Infinity,
  url: 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34',
  headers: { 
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw', 
    'Content-Type': 'application/json', 
    'Cookie': 'lang=en'
  },
  data : data
};

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': 'PUT',
  'hostname': 'sandbox.ecartpay.com',
  'path': '/api/checkouts/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Content-Type': 'application/json',
    '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);
  });
});

var postData = JSON.stringify({
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
});

req.write(postData);

req.end();

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

// Request

var request = require('request');
var options = {
  'method': 'PUT',
  'url': 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  },
  body: JSON.stringify({
    "customer": {
      "email": "[email protected]",
      "first_name": "John",
      "last_name": "Doe",
      "phone": "8123688056"
    }
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

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

// Unirest

var unirest = require('unirest');
var req = unirest('PUT', 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34')
  .headers({
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  })
  .send(JSON.stringify({
    "customer": {
      "email": "[email protected]",
      "first_name": "John",
      "last_name": "Doe",
      "phone": "8123688056"
    }
  }))
  .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/checkouts/678551ec8b3f78f49c915e34"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
  @"Content-Type": @"application/json",
  @"Cookie": @"lang=en"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\n    \"customer\": {\n        \"email\": \"[email protected]\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"phone\": \"8123688056\"\n    }\n}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[request setHTTPMethod:@"PUT"];

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 postData = ref "{\n    \"customer\": {\n        \"email\": \"[email protected]\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"phone\": \"8123688056\"\n    }\n}";;

let reqBody = 
  let uri = Uri.of_string "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34" in
  let headers = Header.init ()
    |> fun h -> Header.add h "Authorization" "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw"
    |> fun h -> Header.add h "Content-Type" "application/json"
    |> fun h -> Header.add h "Cookie" "lang=en"
  in
  let body = Cohttp_lwt.Body.of_string !postData in

  Client.call ~headers ~body `PUT 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/checkouts/678551ec8b3f78f49c915e34',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'PUT',
  CURLOPT_POSTFIELDS =>'{
    "customer": {
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Doe",
        "phone": "8123688056"
    }
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Content-Type: application/json',
    'Cookie: lang=en'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

// Guzzle

<?php
$client = new Client();
$headers = [
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
];
$body = '{
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
}';
$request = new Request('PUT', 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34', $headers, $body);
$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/checkouts/678551ec8b3f78f49c915e34');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
));
$request->setBody('{\n    "customer": {\n        "email": "[email protected]",\n        "first_name": "John",\n        "last_name": "Doe",\n        "phone": "8123688056"\n    }\n}');
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/checkouts/678551ec8b3f78f49c915e34');
$request->setRequestMethod('PUT');
$body = new http\Message\Body;
$body->append('{
    "customer": {
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Doe",
        "phone": "8123688056"
    }
}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type' => 'application/json',
  '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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
$headers.Add("Content-Type", "application/json")
$headers.Add("Cookie", "lang=en")

$body = @"
{
    `"customer`": {
        `"email`": `"[email protected]`",
        `"first_name`": `"John`",
        `"last_name`": `"Doe`",
        `"phone`": `"8123688056`"
    }
}
"@

$response = Invoke-RestMethod 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34' -Method 'PUT' -Headers $headers -Body $body
$response | ConvertTo-Json
# http.client

import http.client
import json

conn = http.client.HTTPSConnection("sandbox.ecartpay.com")
payload = json.dumps({
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}
conn.request("PUT", "/api/checkouts/678551ec8b3f78f49c915e34", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

# Requests

import requests
import json

url = "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34"

payload = json.dumps({
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}

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

print(response.text)
# httr

library(httr)

headers = c(
  'Authorization' = 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type' = 'application/json',
  'Cookie' = 'lang=en'
)

body = '{
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
}';

res <- VERB("PUT", url = "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34", body = body, add_headers(headers))

cat(content(res, 'text'))

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

# RCurl

library(RCurl)
headers = c(
  "Authorization" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
  "Content-Type" = "application/json",
  "Cookie" = "lang=en"
)
params = "{
  \"customer\": {
    \"email\": \"[email protected]\",
    \"first_name\": \"John\",
    \"last_name\": \"Doe\",
    \"phone\": \"8123688056\"
  }
}"
res <- httpPUT("https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34", params, httpheader = headers, followlocation = TRUE)
cat(res)
require "uri"
require "json"
require "net/http"

url = URI("https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34")

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

request = Net::HTTP::Put.new(url)
request["Authorization"] = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw"
request["Content-Type"] = "application/json"
request["Cookie"] = "lang=en"
request.body = JSON.dump({
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "8123688056"
  }
})

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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw".parse()?);
    headers.insert("Content-Type", "application/json".parse()?);
    headers.insert("Cookie", "lang=en".parse()?);

    let data = r#"{
    "customer": {
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Doe",
        "phone": "8123688056"
    }
}"#;

    let json: serde_json::Value = serde_json::from_str(&data)?;

    let request = client.request(reqwest::Method::PUT, "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34")
        .headers(headers)
        .json(&json);

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

    println!("{}", body);

    Ok(())
}
# Httpie

printf '{
    "customer": {
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Doe",
        "phone": "8123688056"
    }
}'| http  --follow --timeout 3600 PUT 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34' \
 Authorization:'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw' \
 Content-Type:'application/json' \
 Cookie:'lang=en'

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

# wget

wget --no-check-certificate --quiet \
  --method PUT \
  --timeout=0 \
  --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw' \
  --header 'Content-Type: application/json' \
  --header 'Cookie: lang=en' \
  --body-data '{
    "customer": {
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Doe",
        "phone": "8123688056"
    }
}' \
   'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34'
let parameters = "{\n    \"customer\": {\n        \"email\": \"[email protected]\",\n        \"first_name\": \"John\",\n        \"last_name\": \"Doe\",\n        \"phone\": \"8123688056\"\n    }\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34")!,timeoutInterval: Double.infinity)
request.addValue("eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw", forHTTPHeaderField: "Authorization")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("lang=en", forHTTPHeaderField: "Cookie")

request.httpMethod = "PUT"
request.httpBody = postData

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()

Response

{
  "id": "68dac627ff8f016d8e168c89",
  "account_id": "68a4c3150b28a9584305a2a6",
  "currency": "MXN",
  "amounts": [
    100,
    200,
    500,
    1000
  ],
  "concept": "Recharge",
  "items": [
    {
      "name": "Recharge",
      "quantity": 1,
      "price": 100,
      "discount": 0,
      "is_service": false,
      "id": "68dac627ff8f016d8e168c8b"
    }
  ],
  "notify_url": "https://example.com/webhooks/checkout?user_id=1",
  "token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY4YTRjMzE1MGIyOGE5NTg0MzA1YTJhYSIsImFjY291bnRfaWQiOiJ1bmRlZmluZWQiLCJzY29wZXMiOiJ3cml0ZV9jaGVja291dHMiLCJpYXQiOjE3NTkxNjgwMzksImV4cCI6MTc1OTE2OTgzOSwiYXVkIjoiaHR0cHM6Ly9zYW5kYm94LmVjYXJ0cGF5LmNvbSIsInN1YiI6ImNoZWNrb3V0cyJ9.5V6U88mnqDydNE9rWROxrzOsDbhodaXMA427p_kfY3h6XmCdO0Z1eitD0xHQoTS6hwCJDArVe2sp3N3RjnesVA",
  "public_id": "pub68a4c3150b28a9584305a2a8",
  "link": "https://sandbox.ecartpay.com/v2/checkout?id=68dac627ff8f016d8e168c89",
  "created_at": "2025-09-29T17:47:19.661Z",
  "updated_at": "2025-09-29T17:52:03.438Z",
  "customer": {
    "email": "[email protected]",
    "first_name": "John",
    "last_name": "Doe",
    "phone": "812346798"
  }
}

Update Item

This endpoint enables updates to specific items within a checkout, such as modifying prices or quantities.

💻

Visit our API Reference to test this endpoint.

Endpoints

  • PUT https://ecartpay.com/api/checkouts/{{checkout_id}}/items/{{id}}
  • PUT https://sandbox.ecartpay.com/api/checkouts/{{checkout_id}}/items/{{id}}

Headers

  • Authorization: {token}
  • Content-Type: application/json

Request Body

{
    "price": "200"
}

Examples

Request

curl --request PUT \
     --url https://sandbox.ecartpay.com/api/checkouts/68dac627ff8f016d8e168c89/items/68dac627ff8f016d8e168c8b \
     --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY4YTRjMzE1MGIyOGE5NTg0MzA1YTJhYSIsImFjY291bnRfaWQiOiI2OGE0YzMxNTBiMjhhOTU4NDMwNWEyYTYiLCJhY2NvdW50Ijp7ImVtYWlsIjoiaHVnby5tb3JpbkBlY2FydHBheS5jb20iLCJmaXJzdF9uYW1lIjoiSHVnbyIsImxhc3RfbmFtZSI6Ik1vcsOtbiIsInBob25lIjoiNTI4MTE2MTI2NzY3IiwiY291bnRyeSI6Ik1YIiwiY3VycmVuY3kiOiJNWE4iLCJ2ZXJpZmllZCI6dHJ1ZSwiYWN0aXZlIjp0cnVlfSwiaWF0IjoxNzU5MTY2ODIyLCJleHAiOjE3NTkxNzA0MjJ9.Tkr46XFFaVoBw5oH04uljBCl32N8G2yNvDkT_a8PH3C75FZ1flf7o70T3hQ6yiuy6-dvL8kcJeyTtu5u12gynw' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{"price":"200"}'
package main

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

func main() {

  url := "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34"
  method := "PUT"

  payload := strings.NewReader(`{
    "price": "200"
}`)

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

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  req.Header.Add("Content-Type", "application/json")
  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))
}
PUT /api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34 HTTP/1.1
Host: sandbox.ecartpay.com
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw
Content-Type: application/json
Cookie: lang=en
Content-Length: 22

{
    "price": "200"
}
// OkHttp

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"price\": \"200\"\n}");
Request request = new Request.Builder()
  .url("https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34")
  .method("PUT", body)
  .addHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  .addHeader("Content-Type", "application/json")
  .addHeader("Cookie", "lang=en")
  .build();
Response response = client.newCall(request).execute();

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

// Unirest

Unirest.setTimeouts(0, 0);
HttpResponse<String> response = Unirest.put("https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34")
  .header("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  .header("Content-Type", "application/json")
  .header("Cookie", "lang=en")
  .body("{\n    \"price\": \"200\"\n}")
  .asString();
// Fetch

const myHeaders = new Headers();
myHeaders.append("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Cookie", "lang=en");

const raw = JSON.stringify({
  "price": "200"
});

const requestOptions = {
  method: "PUT",
  headers: myHeaders,
  body: raw,
  redirect: "follow"
};

fetch("https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34", requestOptions)
  .then((response) => response.text())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

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

// jQuery

var settings = {
  "url": "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34",
  "method": "PUT",
  "timeout": 0,
  "headers": {
    "Authorization": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
    "Content-Type": "application/json",
    "Cookie": "lang=en"
  },
  "data": JSON.stringify({
    "price": "200"
  }),
};

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

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

// XHR

var data = JSON.stringify({
  "price": "200"
});

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

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

xhr.open("PUT", "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34");
xhr.setRequestHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
xhr.setRequestHeader("Content-Type", "application/json");
// WARNING: Cookies will be stripped away by the browser before sending the request.
xhr.setRequestHeader("Cookie", "lang=en");

xhr.send(data);
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
  curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
  curl_easy_setopt(curl, CURLOPT_URL, "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34");
  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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
  headers = curl_slist_append(headers, "Content-Type: application/json");
  headers = curl_slist_append(headers, "Cookie: lang=en");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "{\n    \"price\": \"200\"\n}";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
  curl_slist_free_all(headers);
}
curl_easy_cleanup(curl);
// Axios

const axios = require('axios');
let data = JSON.stringify({
  "price": "200"
});

let config = {
  method: 'put',
  maxBodyLength: Infinity,
  url: 'https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34',
  headers: { 
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw', 
    'Content-Type': 'application/json', 
    'Cookie': 'lang=en'
  },
  data : data
};

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': 'PUT',
  'hostname': 'sandbox.ecartpay.com',
  'path': '/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Content-Type': 'application/json',
    '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);
  });
});

var postData = JSON.stringify({
  "price": "200"
});

req.write(postData);

req.end();

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

// Request

var request = require('request');
var options = {
  'method': 'PUT',
  'url': 'https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  },
  body: JSON.stringify({
    "price": "200"
  })

};
request(options, function (error, response) {
  if (error) throw new Error(error);
  console.log(response.body);
});

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

// Unirest

var unirest = require('unirest');
var req = unirest('PUT', 'https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34')
  .headers({
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  })
  .send(JSON.stringify({
    "price": "200"
  }))
  .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/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
  @"Content-Type": @"application/json",
  @"Cookie": @"lang=en"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\n    \"price\": \"200\"\n}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[request setHTTPMethod:@"PUT"];

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 postData = ref "{\n    \"price\": \"200\"\n}";;

let reqBody = 
  let uri = Uri.of_string "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34" in
  let headers = Header.init ()
    |> fun h -> Header.add h "Authorization" "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw"
    |> fun h -> Header.add h "Content-Type" "application/json"
    |> fun h -> Header.add h "Cookie" "lang=en"
  in
  let body = Cohttp_lwt.Body.of_string !postData in

  Client.call ~headers ~body `PUT 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/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'PUT',
  CURLOPT_POSTFIELDS =>'{
    "price": "200"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Content-Type: application/json',
    'Cookie: lang=en'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

// Guzzle

<?php
$client = new Client();
$headers = [
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
];
$body = '{
  "price": "200"
}';
$request = new Request('PUT', 'https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34', $headers, $body);
$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/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
));
$request->setBody('{\n    "price": "200"\n}');
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/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34');
$request->setRequestMethod('PUT');
$body = new http\Message\Body;
$body->append('{
    "price": "200"
}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type' => 'application/json',
  '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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
$headers.Add("Content-Type", "application/json")
$headers.Add("Cookie", "lang=en")

$body = @"
{
    `"price`": `"200`"
}
"@

$response = Invoke-RestMethod 'https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34' -Method 'PUT' -Headers $headers -Body $body
$response | ConvertTo-Json
# http.client

import http.client
import json

conn = http.client.HTTPSConnection("sandbox.ecartpay.com")
payload = json.dumps({
  "price": "200"
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}
conn.request("PUT", "/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

# Requests

import requests
import json

url = "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34"

payload = json.dumps({
  "price": "200"
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}

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

print(response.text)
# httr

library(httr)

headers = c(
  'Authorization' = 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Content-Type' = 'application/json',
  'Cookie' = 'lang=en'
)

body = '{
  "price": "200"
}';

res <- VERB("PUT", url = "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34", body = body, add_headers(headers))

cat(content(res, 'text'))

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

# RCurl

library(RCurl)
headers = c(
  "Authorization" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
  "Content-Type" = "application/json",
  "Cookie" = "lang=en"
)
params = "{
  \"price\": \"200\"
}"
res <- httpPUT("https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34", params, httpheader = headers, followlocation = TRUE)
cat(res)
require "uri"
require "json"
require "net/http"

url = URI("https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34")

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

request = Net::HTTP::Put.new(url)
request["Authorization"] = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw"
request["Content-Type"] = "application/json"
request["Cookie"] = "lang=en"
request.body = JSON.dump({
  "price": "200"
})

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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw".parse()?);
    headers.insert("Content-Type", "application/json".parse()?);
    headers.insert("Cookie", "lang=en".parse()?);

    let data = r#"{
    "price": "200"
}"#;

    let json: serde_json::Value = serde_json::from_str(&data)?;

    let request = client.request(reqwest::Method::PUT, "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34")
        .headers(headers)
        .json(&json);

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

    println!("{}", body);

    Ok(())
}
# Httpie

printf '{
    "price": "200"
}'| http  --follow --timeout 3600 PUT 'https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34' \
 Authorization:'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw' \
 Content-Type:'application/json' \
 Cookie:'lang=en'

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

# wget

wget --no-check-certificate --quiet \
  --method PUT \
  --timeout=0 \
  --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw' \
  --header 'Content-Type: application/json' \
  --header 'Cookie: lang=en' \
  --body-data '{
    "price": "200"
}' \
   'https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34'
let parameters = "{\n    \"price\": \"200\"\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://sandbox.ecartpay.com/api/checkouts/65a84ac08b65781903ee943c/items/678551ec8b3f78f49c915e34")!,timeoutInterval: Double.infinity)
request.addValue("eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw", forHTTPHeaderField: "Authorization")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("lang=en", forHTTPHeaderField: "Cookie")

request.httpMethod = "PUT"
request.httpBody = postData

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()

Response

{
  "name": "Recharge",
  "quantity": 1,
  "price": 200,
  "discount": 0,
  "is_service": false,
  "id": "68dac627ff8f016d8e168c8b"
}

Get Checkout

This endpoint retrieves the complete details of a specific checkout, including customer information, items, and transaction metadata.

💻

Visit our API Reference to test this endpoint.

Endpoints

  • GET https://ecartpay.com/api/checkouts/{{id}}
  • GET https://sandbox.ecartpay.com/api/checkouts/{{id}}

Headers

  • Authorization: {token}
  • Content-Type: application/json

Examples

Request

curl --request GET \
     --url https://sandbox.ecartpay.com/api/checkout/6900f990916c3ed811c5df70 \
     --header 'Authorization: sha512-ln6qUrqTtqoPv3/i+0+bGMcDnaEZMGUeSzjmSRG5nkpNglKeLKRq2uhA6xwmz2NBEEC2Avrud1ManYTeLqmVvg==?C86Q'
package main

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

func main() {

  url := "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34"
  method := "GET"

  payload := strings.NewReader(``)

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

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  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/checkouts/678551ec8b3f78f49c915e34 HTTP/1.1
Host: sandbox.ecartpay.com
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw
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/checkouts/678551ec8b3f78f49c915e34")
  .method("GET", body)
  .addHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  .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/checkouts/678551ec8b3f78f49c915e34")
  .header("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
  .header("Cookie", "lang=en")
  .body("")
  .asString();
// Fetch

const myHeaders = new Headers();
myHeaders.append("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
myHeaders.append("Cookie", "lang=en");

const raw = "";

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

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

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

// jQuery

var settings = {
  "url": "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34",
  "method": "GET",
  "timeout": 0,
  "headers": {
    "Authorization": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
    "Cookie": "lang=en"
  },
};

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

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

// XHR

// WARNING: For GET requests, body is set to null by browsers.
var data = "";

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/checkouts/678551ec8b3f78f49c915e34");
xhr.setRequestHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
// WARNING: Cookies will be stripped away by the browser before sending the request.
xhr.setRequestHeader("Cookie", "lang=en");

xhr.send(data);
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/checkouts/678551ec8b3f78f49c915e34");
  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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw");
  headers = curl_slist_append(headers, "Cookie: lang=en");
  curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
  const char *data = "";
  curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
  res = curl_easy_perform(curl);
  curl_slist_free_all(headers);
}
curl_easy_cleanup(curl);
// Axios

const axios = require('axios');
let data = '';

let config = {
  method: 'get',
  maxBodyLength: Infinity,
  url: 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34',
  headers: { 
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw', 
    'Cookie': 'lang=en'
  },
  data : data
};

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/checkouts/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    '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/checkouts/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    '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/checkouts/678551ec8b3f78f49c915e34')
  .headers({
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Cookie': 'lang=en'
  })
  .send("")
  .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/checkouts/678551ec8b3f78f49c915e34"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
  @"Cookie": @"lang=en"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[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/checkouts/678551ec8b3f78f49c915e34" in
  let headers = Header.init ()
    |> fun h -> Header.add h "Authorization" "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw"
    |> 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/checkouts/678551ec8b3f78f49c915e34',
  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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
    'Cookie: lang=en'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

// Guzzle

<?php
$client = new Client();
$headers = [
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Cookie' => 'lang=en'
];
$body = '';
$request = new Request('GET', 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34', $headers, $body);
$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/checkouts/678551ec8b3f78f49c915e34');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Cookie' => 'lang=en'
));
$request->setBody('');
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/checkouts/678551ec8b3f78f49c915e34');
$request->setRequestMethod('GET');
$body = new http\Message\Body;
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  '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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw")
$headers.Add("Cookie", "lang=en")

$body = @"

"@

$response = Invoke-RestMethod 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34' -Method 'GET' -Headers $headers -Body $body
$response | ConvertTo-Json
# http.client

import http.client

conn = http.client.HTTPSConnection("sandbox.ecartpay.com")
payload = ''
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Cookie': 'lang=en'
}
conn.request("GET", "/api/checkouts/678551ec8b3f78f49c915e34", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

# Requests

import requests

url = "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34"

payload = ""
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Cookie': 'lang=en'
}

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

print(response.text)
# httr

library(httr)

headers = c(
  'Authorization' = 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw',
  'Cookie' = 'lang=en'
)

body = ""

res <- VERB("GET", url = "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34", body = body, add_headers(headers))

cat(content(res, 'text'))

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

# RCurl

library(RCurl)
headers = c(
  "Authorization" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw",
  "Cookie" = "lang=en"
)
params = ""
res <- getURL("https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34", .opts=list(httpheader = headers, followlocation = TRUE))
cat(res)
require "uri"
require "net/http"

url = URI("https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34")

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

request = Net::HTTP::Get.new(url)
request["Authorization"] = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw"
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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw".parse()?);
    headers.insert("Cookie", "lang=en".parse()?);

    let data = "";

    let request = client.request(reqwest::Method::GET, "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34")
        .headers(headers)
        .body(data);

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

    println!("{}", body);

    Ok(())
}
# Httpie

http  --follow --timeout 3600 GET 'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34' \
 Authorization:'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw' \
 Cookie:'lang=en'

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

# wget

wget --no-check-certificate --quiet \
  --method GET \
  --timeout=0 \
  --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw' \
  --header 'Cookie: lang=en' \
   'https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34'
var request = URLRequest(url: URL(string: "https://sandbox.ecartpay.com/api/checkouts/678551ec8b3f78f49c915e34")!,timeoutInterval: Double.infinity)
request.addValue("eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3MzgzNDE4MDIsImV4cCI6MTczODM0NTQwMn0.oljOZCifmNBdKJMc9J34kWNH6m6UzhOZUWc7L-_WlUdCZy0faONwwfn9SZaFBlAUs9KgStJGFc9PuW5zWcN7Jw", 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()

Response

{
  "account": {
    "comercial_name": "Hugo Morín",
    "first_name": "Hugo",
    "last_name": "Morín",
    "verified": true,
    "country": "MX"
  },
  "order": {
    "id": "6900f990916c3ed811c5df70",
    "account_id": "68a4c3150b28a9584305a2a6",
    "number": "OR0000037002",
    "status": "pending",
    "email": "[email protected]",
    "first_name": "Moises",
    "last_name": "Garcia",
    "phone": "9341024062",
    "currency": "MXN",
    "items": [
      {
        "name": "Brazalete religioso plateado BR3017",
        "quantity": 1,
        "price": 243.33,
        "discount": 0,
        "total": 243.33,
        "tax": 0,
        "is_service": false,
        "taxes": []
      }
    ],
    "shipping_items": [
      {
        "name": "Express Shipping",
        "amount": 160,
        "carrier": "OWN"
      }
    ],
    "discounts": [],
    "shipping_address": {
      "first_name": "Moises",
      "last_name": "Garcia",
      "address1": "Beliario Dominguez",
      "address2": "Semillero",
      "country": {
        "code": "MX",
        "name": "Mexico"
      },
      "state": {
        "code": "TB"
      },
      "city": "Monterrey",
      "postal_code": "64000",
      "phone": "9341024062"
    },
    "totals": {
      "subtotal": 243.33,
      "total": 403.33,
      "tax": 0,
      "financial_cost": 0,
      "discount": 0,
      "shipping": 160
    },
    "available_payment_methods": [],
    "available_installments": [],
    "installments_information": []
  },
  "gateways": [
    {
      "id": "62d5d5caac51e72396d2b471",
      "gateway": "ecartpay",
      "type": "card",
      "title": "Debit/Credit Card",
      "active": true,
      "sort": -2
    },
    {
      "id": "63c5dbfd9a645c3e3265ba3f",
      "gateway": "ecartpay",
      "type": "cash",
      "title": "Efectivo - ClubPago",
      "active": true,
      "method": "clubpago",
      "sort": -1
    },
    {
      "id": "63c5dcfb9a645c3e3265ba42",
      "gateway": "ecartpay",
      "type": "cash",
      "title": "Efectivo - OXXO",
      "active": true,
      "method": "oxxo",
      "sort": -1
    },
    {
      "id": "66c397dafd263a538b8312a1",
      "gateway": "ecartpay",
      "type": "transfer",
      "title": "Bank Transfer",
      "active": true,
      "sort": 0
    }
  ],
  "installments": {
    "information": [
      {
        "quantity": 3,
        "fixed_installments": true,
        "rate": 3.5
      }
    ],
    "amex_fixed_installments": false,
    "amex_rates": [
      {
        "quantity": 3,
        "rate": 3.25
      },
      {
        "quantity": 6,
        "rate": 6.25
      },
      {
        "quantity": 9,
        "rate": 8.25
      },
      {
        "quantity": 12,
        "rate": 10.25
      },
      {
        "quantity": 15,
        "rate": 13.25
      },
      {
        "quantity": 18,
        "rate": 15.25
      },
      {
        "quantity": 21,
        "rate": 17.25
      },
      {
        "quantity": 24,
        "rate": 19.25
      }
    ],
    "bbva_rates": [
      {
        "quantity": 3,
        "rate": 5.1,
        "fixed_installments": true
      },
      {
        "quantity": 6,
        "rate": 7.4,
        "fixed_installments": false
      },
      {
        "quantity": 12,
        "rate": 13,
        "fixed_installments": false
      },
      {
        "quantity": 18,
        "rate": 18.25,
        "fixed_installments": false
      }
    ]
  },
  "token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY4YTRjMzE1MGIyOGE5NTg0MzA1YTJhYSIsImFjY291bnRfaWQiOiI2OGE0YzMxNTBiMjhhOTU4NDMwNWEyYTYiLCJzY29wZXMiOiJ3cml0ZV90b2tlbnMscHJvY2Vzc19wYXltZW50cyIsImFjY291bnQiOnsiZmlyc3RfbmFtZSI6Ikh1Z28iLCJsYXN0X25hbWUiOiJNb3LDrW4iLCJjb3VudHJ5IjoiTVgiLCJ2ZXJpZmllZCI6dHJ1ZX0sImlhdCI6MTc2MTY3MzkwNywiZXhwIjoxNzYxNjc0ODA3fQ.a1M3-2znf7jl42jowmfN3k5yIiOjHujuZBmPtIWlDDpJJGqkHYrrBdq5t7zP9QyTa18GqQJJIYku4Q52LwHV1g"
}


Conclusion

The ability to update checkouts and their items, along with retrieving checkout details, equips businesses with the tools necessary to adapt to changing needs and provide a superior payment experience. These functionalities not only enhance operational efficiency but also foster trust and satisfaction among customers.