Documentation

Payment Methods

Adding a payment method to your Ecart Pay account allows you to manage withdrawals effectively. You can set up a debit card or a bank account using a CLABE number.

Managing financial transactions efficiently is crucial for any business. This system supports the addition of debit cards or bank accounts via CLABE numbers, ensuring that your financial processes are streamlined and secure. By integrating payment methods into your account, you can centralize financial operations, reduce errors, and save time.

Key Parameters

ParameterValue
methodSpecifies the type of payment method to be added, such as clabe for bank accounts or debit for debit cards. This determines how the withdrawal will be processed.
nameA user-defined label for the payment method, making it easier to identify, such as "Personal" or "Business". Represents a Payment Method alias.
business_nameRepresents the account beneficiary.
numberThe debit card or account number for updates.
bankThe bank code for the associated account, useful when updating a CLABE-based payment method. For codes corresponding to banks located in Mexico, check the following: Banks

Creating a New Payment Method

This endpoint enables you to add a new payment method for withdrawals. Supported methods include debit cards and bank accounts.

Endpoint

POST {{baseURL}}/api/accounts/payments/method

Headers

  • Authorization: {token}

Request Body

{
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
}

Example Request

curl --location 'https://sandbox.ecartpay.com/api/accounts/payments/method' \
--header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g' \
--header 'Content-Type: application/json' \
--header 'Cookie: lang=en' \
--data '{
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
}'
package main

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

func main() {

  url := "https://sandbox.ecartpay.com/api/accounts/payments/method"
  method := "POST"

  payload := strings.NewReader(`{
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
}`)

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

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g")
  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))
}
POST /api/accounts/payments/method HTTP/1.1
Host: sandbox.ecartpay.com
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g
Content-Type: application/json
Cookie: lang=en
Content-Length: 92

{
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
}
// OkHttp

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"method\": \"clabe\",\n    \"name\": \"Personal\",\n    \"business_name\": \"846180000400000001\"\n}");
Request request = new Request.Builder()
  .url("https://sandbox.ecartpay.com/api/accounts/payments/method")
  .method("POST", body)
  .addHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g")
  .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.post("https://sandbox.ecartpay.com/api/accounts/payments/method")
  .header("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g")
  .header("Content-Type", "application/json")
  .header("Cookie", "lang=en")
  .body("{\n    \"method\": \"clabe\",\n    \"name\": \"Personal\",\n    \"business_name\": \"846180000400000001\"\n}")
  .asString();
// Fetch

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

const raw = JSON.stringify({
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
});

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

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

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

// jQuery

var settings = {
  "url": "https://sandbox.ecartpay.com/api/accounts/payments/method",
  "method": "POST",
  "timeout": 0,
  "headers": {
    "Authorization": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g",
    "Content-Type": "application/json",
    "Cookie": "lang=en"
  },
  "data": JSON.stringify({
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
  }),
};

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

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

// XHR

// WARNING: For POST requests, body is set to null by browsers.
var data = JSON.stringify({
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
});

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

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

xhr.open("POST", "https://sandbox.ecartpay.com/api/accounts/payments/method");
xhr.setRequestHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g");
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, "POST");
  curl_easy_setopt(curl, CURLOPT_URL, "https://sandbox.ecartpay.com/api/accounts/payments/method");
  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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g");
  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    \"method\": \"clabe\",\n    \"name\": \"Personal\",\n    \"business_name\": \"846180000400000001\"\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({
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
});

let config = {
  method: 'post',
  maxBodyLength: Infinity,
  url: 'https://sandbox.ecartpay.com/api/accounts/payments/method',
  headers: { 
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g', 
    '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': 'POST',
  'hostname': 'sandbox.ecartpay.com',
  'path': '/api/accounts/payments/method',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
    '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({
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
});

req.write(postData);

req.end();

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

// Request

var request = require('request');
var options = {
  'method': 'POST',
  'url': 'https://sandbox.ecartpay.com/api/accounts/payments/method',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  },
  body: JSON.stringify({
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
  })

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

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

// Unirest

var unirest = require('unirest');
var req = unirest('POST', 'https://sandbox.ecartpay.com/api/accounts/payments/method')
  .headers({
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  })
  .send(JSON.stringify({
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
  }))
  .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/accounts/payments/method"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g",
  @"Content-Type": @"application/json",
  @"Cookie": @"lang=en"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\n    \"method\": \"clabe\",\n    \"name\": \"Personal\",\n    \"business_name\": \"846180000400000001\"\n}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];

[request setHTTPMethod:@"POST"];

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    \"method\": \"clabe\",\n    \"name\": \"Personal\",\n    \"business_name\": \"846180000400000001\"\n}";;

let reqBody = 
  let uri = Uri.of_string "https://sandbox.ecartpay.com/api/accounts/payments/method" in
  let headers = Header.init ()
    |> fun h -> Header.add h "Authorization" "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g"
    |> 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 `POST 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/accounts/payments/method',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
    'Content-Type: application/json',
    'Cookie: lang=en'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

// Guzzle

<?php
$client = new Client();
$headers = [
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
];
$body = '{
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
}';
$request = new Request('POST', 'https://sandbox.ecartpay.com/api/accounts/payments/method', $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/accounts/payments/method');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
));
$request->setBody('{\n    "method": "clabe",\n    "name": "Personal",\n    "business_name": "846180000400000001"\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/accounts/payments/method');
$request->setRequestMethod('POST');
$body = new http\Message\Body;
$body->append('{
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  '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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g")
$headers.Add("Content-Type", "application/json")
$headers.Add("Cookie", "lang=en")

$body = @"
{
    `"method`": `"clabe`",
    `"name`": `"Personal`",
    `"business_name`": `"846180000400000001`"
}
"@

$response = Invoke-RestMethod 'https://sandbox.ecartpay.com/api/accounts/payments/method' -Method 'POST' -Headers $headers -Body $body
$response | ConvertTo-Json
# http.client

import http.client
import json

conn = http.client.HTTPSConnection("sandbox.ecartpay.com")
payload = json.dumps({
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}
conn.request("POST", "/api/accounts/payments/method", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

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

# Requests

import requests
import json

url = "https://sandbox.ecartpay.com/api/accounts/payments/method"

payload = json.dumps({
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}

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

print(response.text)
# httr

library(httr)

headers = c(
  'Authorization' = 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type' = 'application/json',
  'Cookie' = 'lang=en'
)

body = '{
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
}';

res <- VERB("POST", url = "https://sandbox.ecartpay.com/api/accounts/payments/method", body = body, add_headers(headers))

cat(content(res, 'text'))

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

# RCurl

library(RCurl)
headers = c(
  "Authorization" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g",
  "Content-Type" = "application/json",
  "Cookie" = "lang=en"
)
params = "{
  \"method\": \"clabe\",
  \"name\": \"Personal\",
  \"business_name\": \"846180000400000001\"
}"
res <- postForm("https://sandbox.ecartpay.com/api/accounts/payments/method", .opts=list(postfields = params, httpheader = headers, followlocation = TRUE), style = "httppost")
cat(res)
require "uri"
require "json"
require "net/http"

url = URI("https://sandbox.ecartpay.com/api/accounts/payments/method")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g"
request["Content-Type"] = "application/json"
request["Cookie"] = "lang=en"
request.body = JSON.dump({
  "method": "clabe",
  "name": "Personal",
  "business_name": "846180000400000001"
})

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

    let data = r#"{
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
}"#;

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

    let request = client.request(reqwest::Method::POST, "https://sandbox.ecartpay.com/api/accounts/payments/method")
        .headers(headers)
        .json(&json);

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

    println!("{}", body);

    Ok(())
}
# Httpie

printf '{
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
}'| http  --follow --timeout 3600 POST 'https://sandbox.ecartpay.com/api/accounts/payments/method' \
 Authorization:'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g' \
 Content-Type:'application/json' \
 Cookie:'lang=en'

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

# wget

wget --no-check-certificate --quiet \
  --method POST \
  --timeout=0 \
  --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g' \
  --header 'Content-Type: application/json' \
  --header 'Cookie: lang=en' \
  --body-data '{
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001"
}' \
   'https://sandbox.ecartpay.com/api/accounts/payments/method'
let parameters = "{\n    \"method\": \"clabe\",\n    \"name\": \"Personal\",\n    \"business_name\": \"846180000400000001\"\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://sandbox.ecartpay.com/api/accounts/payments/method")!,timeoutInterval: Double.infinity)
request.addValue("eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g", forHTTPHeaderField: "Authorization")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("lang=en", forHTTPHeaderField: "Cookie")

request.httpMethod = "POST"
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()

Example Response

{
    "id": "6255a30bd4b006320baff520",
    "method": "clabe",
    "name": "Personal",
    "business_name": "846180000400000001",
    "country": "MX"
}
Image 1. Adding a New Payment Method (from Ecart Pay)

Image 1. Adding a New Payment Method (from Ecart Pay)

Updating Payment Methods

Once a payment method is created, you can modify its details using the following endpoint:

Endpoint

PUT {{baseURL}}/api/accounts/payments/method/{{id}}

Headers

  • Authorization: {token}

Request Body

{
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
}

Example Request

curl --location --request PUT 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34' \
--header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g' \
--header 'Content-Type: application/json' \
--header 'Cookie: lang=en' \
--data '{  "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072
}'
package main

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

func main() {

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

  payload := strings.NewReader(`{  "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072

}`)

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

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g")
  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/accounts/payments/method/678551ec8b3f78f49c915e34 HTTP/1.1
Host: sandbox.ecartpay.com
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g
Content-Type: application/json
Cookie: lang=en
Content-Length: 149

{  "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072

}
// OkHttp

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{  \"method\": \"clabe\",\n    \"name\": \"FLUDISA-MXP - Cantu\",\n    \"number\": \"001112125452458751\",\n    \"business_name\": \"Angel Cantu\",\n    \"bank\": 40072\n\n}");
Request request = new Request.Builder()
  .url("https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34")
  .method("PUT", body)
  .addHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g")
  .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/accounts/payments/method/678551ec8b3f78f49c915e34")
  .header("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g")
  .header("Content-Type", "application/json")
  .header("Cookie", "lang=en")
  .body("{  \"method\": \"clabe\",\n    \"name\": \"FLUDISA-MXP - Cantu\",\n    \"number\": \"001112125452458751\",\n    \"business_name\": \"Angel Cantu\",\n    \"bank\": 40072\n\n}")
  .asString();
// Fetch

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

const raw = JSON.stringify({
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
});

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

fetch("https://sandbox.ecartpay.com/api/accounts/payments/method/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/accounts/payments/method/678551ec8b3f78f49c915e34",
  "method": "PUT",
  "timeout": 0,
  "headers": {
    "Authorization": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g",
    "Content-Type": "application/json",
    "Cookie": "lang=en"
  },
  "data": JSON.stringify({
    "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072
  }),
};

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

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

// XHR

var data = JSON.stringify({
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
});

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/accounts/payments/method/678551ec8b3f78f49c915e34");
xhr.setRequestHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g");
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/accounts/payments/method/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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g");
  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 = "{  \"method\": \"clabe\",\n    \"name\": \"FLUDISA-MXP - Cantu\",\n    \"number\": \"001112125452458751\",\n    \"business_name\": \"Angel Cantu\",\n    \"bank\": 40072\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({
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
});

let config = {
  method: 'put',
  maxBodyLength: Infinity,
  url: 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34',
  headers: { 
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g', 
    '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/accounts/payments/method/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
    '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({
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
});

req.write(postData);

req.end();

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

// Request

var request = require('request');
var options = {
  'method': 'PUT',
  'url': 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  },
  body: JSON.stringify({
    "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072
  })

};
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/accounts/payments/method/678551ec8b3f78f49c915e34')
  .headers({
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  })
  .send(JSON.stringify({
    "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072
  }))
  .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/accounts/payments/method/678551ec8b3f78f49c915e34"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g",
  @"Content-Type": @"application/json",
  @"Cookie": @"lang=en"
};

[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{  \"method\": \"clabe\",\n    \"name\": \"FLUDISA-MXP - Cantu\",\n    \"number\": \"001112125452458751\",\n    \"business_name\": \"Angel Cantu\",\n    \"bank\": 40072\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 "{  \"method\": \"clabe\",\n    \"name\": \"FLUDISA-MXP - Cantu\",\n    \"number\": \"001112125452458751\",\n    \"business_name\": \"Angel Cantu\",\n    \"bank\": 40072\n\n}";;

let reqBody = 
  let uri = Uri.of_string "https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34" in
  let headers = Header.init ()
    |> fun h -> Header.add h "Authorization" "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g"
    |> 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/accounts/payments/method/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 =>'{  "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072

}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
    'Content-Type: application/json',
    'Cookie: lang=en'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

// Guzzle

<?php
$client = new Client();
$headers = [
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
];
$body = '{
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
}';
$request = new Request('PUT', 'https://sandbox.ecartpay.com/api/accounts/payments/method/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/accounts/payments/method/678551ec8b3f78f49c915e34');
$request->setMethod(HTTP_Request2::METHOD_PUT);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
));
$request->setBody('{  "method": "clabe",\n    "name": "FLUDISA-MXP - Cantu",\n    "number": "001112125452458751",\n    "business_name": "Angel Cantu",\n    "bank": 40072\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/accounts/payments/method/678551ec8b3f78f49c915e34');
$request->setRequestMethod('PUT');
$body = new http\Message\Body;
$body->append('{  "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072

}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  '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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g")
$headers.Add("Content-Type", "application/json")
$headers.Add("Cookie", "lang=en")

$body = @"
{  `"method`": `"clabe`",
    `"name`": `"FLUDISA-MXP - Cantu`",
    `"number`": `"001112125452458751`",
    `"business_name`": `"Angel Cantu`",
    `"bank`": 40072

}
"@

$response = Invoke-RestMethod 'https://sandbox.ecartpay.com/api/accounts/payments/method/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({
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}
conn.request("PUT", "/api/accounts/payments/method/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/accounts/payments/method/678551ec8b3f78f49c915e34"

payload = json.dumps({
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  '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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g',
  'Content-Type' = 'application/json',
  'Cookie' = 'lang=en'
)

body = '{
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
}';

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

cat(content(res, 'text'))

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

# RCurl

library(RCurl)
headers = c(
  "Authorization" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g",
  "Content-Type" = "application/json",
  "Cookie" = "lang=en"
)
params = "{
  \"method\": \"clabe\",
  \"name\": \"FLUDISA-MXP - Cantu\",
  \"number\": \"001112125452458751\",
  \"business_name\": \"Angel Cantu\",
  \"bank\": 40072
}"
res <- httpPUT("https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34", params, httpheader = headers, followlocation = TRUE)
cat(res)
require "uri"
require "json"
require "net/http"

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

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

request = Net::HTTP::Put.new(url)
request["Authorization"] = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g"
request["Content-Type"] = "application/json"
request["Cookie"] = "lang=en"
request.body = JSON.dump({
  "method": "clabe",
  "name": "FLUDISA-MXP - Cantu",
  "number": "001112125452458751",
  "business_name": "Angel Cantu",
  "bank": 40072
})

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

    let data = r#"{
    "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072
}"#;

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

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

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

    println!("{}", body);

    Ok(())
}
# Httpie

printf '{  "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072

}'| http  --follow --timeout 3600 PUT 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34' \
 Authorization:'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g' \
 Content-Type:'application/json' \
 Cookie:'lang=en'

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

# wget

wget --no-check-certificate --quiet \
  --method PUT \
  --timeout=0 \
  --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g' \
  --header 'Content-Type: application/json' \
  --header 'Cookie: lang=en' \
  --body-data '{  "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072

}' \
   'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34'
let parameters = "{  \"method\": \"clabe\",\n    \"name\": \"FLUDISA-MXP - Cantu\",\n    \"number\": \"001112125452458751\",\n    \"business_name\": \"Angel Cantu\",\n    \"bank\": 40072\n\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34")!,timeoutInterval: Double.infinity)
request.addValue("eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3NzM1NTUsImV4cCI6MTczODc3NzE1NX0.oksy5FrkEvpJ21yCS5rgE2nEDhb_1xWNbG4q66bjGdjN6dnCwmVEueybWHuQBfqIcASwpCmP0cB0BYVYT63y3g", 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()

Example Response

{
    "id": "6250a8588c310e6d07b1ce96",
    "method": "clabe",
    "name": "FLUDISA-MXP - Cantu",
    "number": "001112125452458751",
    "business_name": "Angel Cantu",
    "bank": 40072,
    "country": "MX"
}
Image 2. Updating a Payment Method

Image 2. Updating a Payment Method

Deleting Payment Methods

If a payment method is no longer needed, you can delete it using the following endpoint:

Endpoint

DELETE {{baseURL}}/api/accounts/payments/method/{{id}}

Headers

  • Authorization: {token}

Request Body

{
    "name": "Business"
}

Example Request

curl --location --request DELETE 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34' \
--header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg' \
--header 'Content-Type: application/json' \
--header 'Cookie: lang=en' \
--data '{
    "name": "Business"
}'
package main

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

func main() {

  url := "https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34"
  method := "DELETE"

  payload := strings.NewReader(`{
    "name": "Business"
}`)

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

  if err != nil {
    fmt.Println(err)
    return
  }
  req.Header.Add("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg")
  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))
}
DELETE /api/accounts/payments/method/678551ec8b3f78f49c915e34 HTTP/1.1
Host: sandbox.ecartpay.com
Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg
Content-Type: application/json
Cookie: lang=en
Content-Length: 26

{
    "name": "Business"
}
// OkHttp

OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"Business\"\n}");
Request request = new Request.Builder()
  .url("https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34")
  .method("DELETE", body)
  .addHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg")
  .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.delete("https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34")
  .header("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg")
  .header("Content-Type", "application/json")
  .header("Cookie", "lang=en")
  .body("{\n    \"name\": \"Business\"\n}")
  .asString();
// Fetch

const myHeaders = new Headers();
myHeaders.append("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg");
myHeaders.append("Content-Type", "application/json");
myHeaders.append("Cookie", "lang=en");

const raw = JSON.stringify({
  "name": "Business"
});

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

fetch("https://sandbox.ecartpay.com/api/accounts/payments/method/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/accounts/payments/method/678551ec8b3f78f49c915e34",
  "method": "DELETE",
  "timeout": 0,
  "headers": {
    "Authorization": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg",
    "Content-Type": "application/json",
    "Cookie": "lang=en"
  },
  "data": JSON.stringify({
    "name": "Business"
  }),
};

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

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

// XHR

var data = JSON.stringify({
  "name": "Business"
});

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

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

xhr.open("DELETE", "https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34");
xhr.setRequestHeader("Authorization", "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg");
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, "DELETE");
  curl_easy_setopt(curl, CURLOPT_URL, "https://sandbox.ecartpay.com/api/accounts/payments/method/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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg");
  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    \"name\": \"Business\"\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({
  "name": "Business"
});

let config = {
  method: 'delete',
  maxBodyLength: Infinity,
  url: 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34',
  headers: { 
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg', 
    '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': 'DELETE',
  'hostname': 'sandbox.ecartpay.com',
  'path': '/api/accounts/payments/method/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
    '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({
  "name": "Business"
});

req.setHeader('Content-Length', postData.length);

req.write(postData);

req.end();

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

// Request

var request = require('request');
var options = {
  'method': 'DELETE',
  'url': 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34',
  'headers': {
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  },
  body: JSON.stringify({
    "name": "Business"
  })

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

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

// Unirest

var unirest = require('unirest');
var req = unirest('DELETE', 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34')
  .headers({
    'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
    'Content-Type': 'application/json',
    'Cookie': 'lang=en'
  })
  .send(JSON.stringify({
    "name": "Business"
  }))
  .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/accounts/payments/method/678551ec8b3f78f49c915e34"]
  cachePolicy:NSURLRequestUseProtocolCachePolicy
  timeoutInterval:10.0];
NSDictionary *headers = @{
  @"Authorization": @"eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg",
  @"Content-Type": @"application/json",
  @"Cookie": @"lang=en"
};

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

[request setHTTPMethod:@"DELETE"];

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    \"name\": \"Business\"\n}";;

let reqBody = 
  let uri = Uri.of_string "https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34" in
  let headers = Header.init ()
    |> fun h -> Header.add h "Authorization" "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg"
    |> 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 `DELETE 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/accounts/payments/method/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 => 'DELETE',
  CURLOPT_POSTFIELDS =>'{
    "name": "Business"
}',
  CURLOPT_HTTPHEADER => array(
    'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
    'Content-Type: application/json',
    'Cookie: lang=en'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

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

// Guzzle

<?php
$client = new Client();
$headers = [
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
];
$body = '{
  "name": "Business"
}';
$request = new Request('DELETE', 'https://sandbox.ecartpay.com/api/accounts/payments/method/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/accounts/payments/method/678551ec8b3f78f49c915e34');
$request->setMethod(HTTP_Request2::METHOD_DELETE);
$request->setConfig(array(
  'follow_redirects' => TRUE
));
$request->setHeader(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
  'Content-Type' => 'application/json',
  'Cookie' => 'lang=en'
));
$request->setBody('{\n    "name": "Business"\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/accounts/payments/method/678551ec8b3f78f49c915e34');
$request->setRequestMethod('DELETE');
$body = new http\Message\Body;
$body->append('{
    "name": "Business"
}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
  'Authorization' => 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
  '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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg")
$headers.Add("Content-Type", "application/json")
$headers.Add("Cookie", "lang=en")

$body = @"
{
    `"name`": `"Business`"
}
"@

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

import http.client
import json

conn = http.client.HTTPSConnection("sandbox.ecartpay.com")
payload = json.dumps({
  "name": "Business"
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}
conn.request("DELETE", "/api/accounts/payments/method/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/accounts/payments/method/678551ec8b3f78f49c915e34"

payload = json.dumps({
  "name": "Business"
})
headers = {
  'Authorization': 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
  'Content-Type': 'application/json',
  'Cookie': 'lang=en'
}

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

print(response.text)
# httr

library(httr)

headers = c(
  'Authorization' = 'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg',
  'Content-Type' = 'application/json',
  'Cookie' = 'lang=en'
)

body = '{
  "name": "Business"
}';

res <- VERB("DELETE", url = "https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34", body = body, add_headers(headers))

cat(content(res, 'text'))

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

# RCurl

library(RCurl)
headers = c(
  "Authorization" = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg",
  "Content-Type" = "application/json",
  "Cookie" = "lang=en"
)
params = "{
  \"name\": \"Business\"
}"
res <- httpDELETE("https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34", postfields = params, httpheader = headers, followlocation = TRUE)
cat(res)
require "uri"
require "json"
require "net/http"

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

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

request = Net::HTTP::Delete.new(url)
request["Authorization"] = "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg"
request["Content-Type"] = "application/json"
request["Cookie"] = "lang=en"
request.body = JSON.dump({
  "name": "Business"
})

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.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg".parse()?);
    headers.insert("Content-Type", "application/json".parse()?);
    headers.insert("Cookie", "lang=en".parse()?);

    let data = r#"{
    "name": "Business"
}"#;

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

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

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

    println!("{}", body);

    Ok(())
}
# Httpie

printf '{
    "name": "Business"
}'| http  --follow --timeout 3600 DELETE 'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34' \
 Authorization:'eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg' \
 Content-Type:'application/json' \
 Cookie:'lang=en'

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

# wget

wget --no-check-certificate --quiet \
  --method DELETE \
  --timeout=0 \
  --header 'Authorization: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg' \
  --header 'Content-Type: application/json' \
  --header 'Cookie: lang=en' \
  --body-data '{
    "name": "Business"
}' \
   'https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34'
let parameters = "{\n    \"name\": \"Business\"\n}"
let postData = parameters.data(using: .utf8)

var request = URLRequest(url: URL(string: "https://sandbox.ecartpay.com/api/accounts/payments/method/678551ec8b3f78f49c915e34")!,timeoutInterval: Double.infinity)
request.addValue("eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY3MmE4NTAzNzFiZTBlY2Y1NTRkMDUxNiIsImFjY291bnRfaWQiOiI2NzJhODUwMzcxYmUwZWNmNTU0ZDA1MGMiLCJpYXQiOjE3Mzg3ODAzNjksImV4cCI6MTczODc4Mzk2OX0.bnSoI1x8picEUIVjfHLW4uDgJo6HGjCEBiF6B9KsTS4NKNyCkKDc6xvBdMi-BI0Z-G4Cc9-esizFmlo1AivMvg", forHTTPHeaderField: "Authorization")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("lang=en", forHTTPHeaderField: "Cookie")

request.httpMethod = "DELETE"
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()

Example Response

This request does not return any response body. It only removes the Payment Method.

Image 3. Deleting a Payment Method

Image 3. Deleting a Payment Method

Adding and managing payment methods ensures seamless withdrawal processes. Businesses can maintain multiple accounts to segregate transactions, streamline bookkeeping, and optimize financial workflows. Moreover, with the ability to update and delete payment methods, you can keep your payment setup current and relevant to your operational needs.

Adding payment methods provides flexibility, allowing you to separate personal and business accounts, track expenses more accurately, and optimize the withdrawal process. Whether it's creating, updating, or deleting a payment method, Ecart Pay's API gives you full control over your financial setup.