curl --request POST \
--url https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"funding_source": "conversion",
"external_reference": "550e8400-e29b-41d4-a716-446655440000",
"transaction": {
"amount": 100.5,
"bank_code": "101",
"description": "Supplier payment",
"destination_account": "1234567890",
"destination_holder": "Juan Perez",
"destination_id_number": "1234567",
"currency_type": "BOB",
"country": "BO",
"entity_type": "individual",
"first_name": "Juan",
"last_name": "Perez",
"document_type": "national_id"
},
"asset_deposit": "USDC",
"refund_address": "0x0000000000000000000000000000000000000000",
"blockchain": "Polygon"
}
'import requests
url = "https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank"
payload = {
"funding_source": "conversion",
"external_reference": "550e8400-e29b-41d4-a716-446655440000",
"transaction": {
"amount": 100.5,
"bank_code": "101",
"description": "Supplier payment",
"destination_account": "1234567890",
"destination_holder": "Juan Perez",
"destination_id_number": "1234567",
"currency_type": "BOB",
"country": "BO",
"entity_type": "individual",
"first_name": "Juan",
"last_name": "Perez",
"document_type": "national_id"
},
"asset_deposit": "USDC",
"refund_address": "0x0000000000000000000000000000000000000000",
"blockchain": "Polygon"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
funding_source: 'conversion',
external_reference: '550e8400-e29b-41d4-a716-446655440000',
transaction: {
amount: 100.5,
bank_code: '101',
description: 'Supplier payment',
destination_account: '1234567890',
destination_holder: 'Juan Perez',
destination_id_number: '1234567',
currency_type: 'BOB',
country: 'BO',
entity_type: 'individual',
first_name: 'Juan',
last_name: 'Perez',
document_type: 'national_id'
},
asset_deposit: 'USDC',
refund_address: '0x0000000000000000000000000000000000000000',
blockchain: 'Polygon'
})
};
fetch('https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'funding_source' => 'conversion',
'external_reference' => '550e8400-e29b-41d4-a716-446655440000',
'transaction' => [
'amount' => 100.5,
'bank_code' => '101',
'description' => 'Supplier payment',
'destination_account' => '1234567890',
'destination_holder' => 'Juan Perez',
'destination_id_number' => '1234567',
'currency_type' => 'BOB',
'country' => 'BO',
'entity_type' => 'individual',
'first_name' => 'Juan',
'last_name' => 'Perez',
'document_type' => 'national_id'
],
'asset_deposit' => 'USDC',
'refund_address' => '0x0000000000000000000000000000000000000000',
'blockchain' => 'Polygon'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank"
payload := strings.NewReader("{\n \"funding_source\": \"conversion\",\n \"external_reference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"transaction\": {\n \"amount\": 100.5,\n \"bank_code\": \"101\",\n \"description\": \"Supplier payment\",\n \"destination_account\": \"1234567890\",\n \"destination_holder\": \"Juan Perez\",\n \"destination_id_number\": \"1234567\",\n \"currency_type\": \"BOB\",\n \"country\": \"BO\",\n \"entity_type\": \"individual\",\n \"first_name\": \"Juan\",\n \"last_name\": \"Perez\",\n \"document_type\": \"national_id\"\n },\n \"asset_deposit\": \"USDC\",\n \"refund_address\": \"0x0000000000000000000000000000000000000000\",\n \"blockchain\": \"Polygon\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"funding_source\": \"conversion\",\n \"external_reference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"transaction\": {\n \"amount\": 100.5,\n \"bank_code\": \"101\",\n \"description\": \"Supplier payment\",\n \"destination_account\": \"1234567890\",\n \"destination_holder\": \"Juan Perez\",\n \"destination_id_number\": \"1234567\",\n \"currency_type\": \"BOB\",\n \"country\": \"BO\",\n \"entity_type\": \"individual\",\n \"first_name\": \"Juan\",\n \"last_name\": \"Perez\",\n \"document_type\": \"national_id\"\n },\n \"asset_deposit\": \"USDC\",\n \"refund_address\": \"0x0000000000000000000000000000000000000000\",\n \"blockchain\": \"Polygon\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"funding_source\": \"conversion\",\n \"external_reference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"transaction\": {\n \"amount\": 100.5,\n \"bank_code\": \"101\",\n \"description\": \"Supplier payment\",\n \"destination_account\": \"1234567890\",\n \"destination_holder\": \"Juan Perez\",\n \"destination_id_number\": \"1234567\",\n \"currency_type\": \"BOB\",\n \"country\": \"BO\",\n \"entity_type\": \"individual\",\n \"first_name\": \"Juan\",\n \"last_name\": \"Perez\",\n \"document_type\": \"national_id\"\n },\n \"asset_deposit\": \"USDC\",\n \"refund_address\": \"0x0000000000000000000000000000000000000000\",\n \"blockchain\": \"Polygon\"\n}"
response = http.request(request)
puts response.read_body{
"transaction_id": "550e8400-e29b-41d4-a716-446655440001",
"external_reference": "550e8400-e29b-41d4-a716-446655440000",
"transactions": [
{
"transaction_id": "550e8400-e29b-41d4-a716-446655440002",
"status": "pending_transaction",
"message": "Transaction created"
}
],
"deposit_address": "0x0000000000000000000000000000000000000000",
"amount_deposit": "14.44"
}{
"statusCode": 400,
"error": "Bad Request",
"message": [
{
"path": [
"transaction",
"bank_code"
],
"message": "The bank is not enabled for transfers."
}
]
}{
"statusCode": 401,
"message": "Unauthorized"
}{
"statusCode": 422,
"code": "INSUFFICIENT_FUNDS",
"message": "There are insufficient funds to complete this transaction."
}{
"statusCode": 500,
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected internal server error occurred. Please try again later."
}{
"statusCode": 503,
"code": "PAYMENT_PROVIDER_UNAVAILABLE",
"message": "The payment provider is temporarily unavailable. Please try again later."
}ACH Payout
Creates a payout transaction to a destination bank account.
curl --request POST \
--url https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"funding_source": "conversion",
"external_reference": "550e8400-e29b-41d4-a716-446655440000",
"transaction": {
"amount": 100.5,
"bank_code": "101",
"description": "Supplier payment",
"destination_account": "1234567890",
"destination_holder": "Juan Perez",
"destination_id_number": "1234567",
"currency_type": "BOB",
"country": "BO",
"entity_type": "individual",
"first_name": "Juan",
"last_name": "Perez",
"document_type": "national_id"
},
"asset_deposit": "USDC",
"refund_address": "0x0000000000000000000000000000000000000000",
"blockchain": "Polygon"
}
'import requests
url = "https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank"
payload = {
"funding_source": "conversion",
"external_reference": "550e8400-e29b-41d4-a716-446655440000",
"transaction": {
"amount": 100.5,
"bank_code": "101",
"description": "Supplier payment",
"destination_account": "1234567890",
"destination_holder": "Juan Perez",
"destination_id_number": "1234567",
"currency_type": "BOB",
"country": "BO",
"entity_type": "individual",
"first_name": "Juan",
"last_name": "Perez",
"document_type": "national_id"
},
"asset_deposit": "USDC",
"refund_address": "0x0000000000000000000000000000000000000000",
"blockchain": "Polygon"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
funding_source: 'conversion',
external_reference: '550e8400-e29b-41d4-a716-446655440000',
transaction: {
amount: 100.5,
bank_code: '101',
description: 'Supplier payment',
destination_account: '1234567890',
destination_holder: 'Juan Perez',
destination_id_number: '1234567',
currency_type: 'BOB',
country: 'BO',
entity_type: 'individual',
first_name: 'Juan',
last_name: 'Perez',
document_type: 'national_id'
},
asset_deposit: 'USDC',
refund_address: '0x0000000000000000000000000000000000000000',
blockchain: 'Polygon'
})
};
fetch('https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'funding_source' => 'conversion',
'external_reference' => '550e8400-e29b-41d4-a716-446655440000',
'transaction' => [
'amount' => 100.5,
'bank_code' => '101',
'description' => 'Supplier payment',
'destination_account' => '1234567890',
'destination_holder' => 'Juan Perez',
'destination_id_number' => '1234567',
'currency_type' => 'BOB',
'country' => 'BO',
'entity_type' => 'individual',
'first_name' => 'Juan',
'last_name' => 'Perez',
'document_type' => 'national_id'
],
'asset_deposit' => 'USDC',
'refund_address' => '0x0000000000000000000000000000000000000000',
'blockchain' => 'Polygon'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank"
payload := strings.NewReader("{\n \"funding_source\": \"conversion\",\n \"external_reference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"transaction\": {\n \"amount\": 100.5,\n \"bank_code\": \"101\",\n \"description\": \"Supplier payment\",\n \"destination_account\": \"1234567890\",\n \"destination_holder\": \"Juan Perez\",\n \"destination_id_number\": \"1234567\",\n \"currency_type\": \"BOB\",\n \"country\": \"BO\",\n \"entity_type\": \"individual\",\n \"first_name\": \"Juan\",\n \"last_name\": \"Perez\",\n \"document_type\": \"national_id\"\n },\n \"asset_deposit\": \"USDC\",\n \"refund_address\": \"0x0000000000000000000000000000000000000000\",\n \"blockchain\": \"Polygon\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"funding_source\": \"conversion\",\n \"external_reference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"transaction\": {\n \"amount\": 100.5,\n \"bank_code\": \"101\",\n \"description\": \"Supplier payment\",\n \"destination_account\": \"1234567890\",\n \"destination_holder\": \"Juan Perez\",\n \"destination_id_number\": \"1234567\",\n \"currency_type\": \"BOB\",\n \"country\": \"BO\",\n \"entity_type\": \"individual\",\n \"first_name\": \"Juan\",\n \"last_name\": \"Perez\",\n \"document_type\": \"national_id\"\n },\n \"asset_deposit\": \"USDC\",\n \"refund_address\": \"0x0000000000000000000000000000000000000000\",\n \"blockchain\": \"Polygon\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-rampa.mesadepagos.com/api/v3/transactions/payouts/bank")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"funding_source\": \"conversion\",\n \"external_reference\": \"550e8400-e29b-41d4-a716-446655440000\",\n \"transaction\": {\n \"amount\": 100.5,\n \"bank_code\": \"101\",\n \"description\": \"Supplier payment\",\n \"destination_account\": \"1234567890\",\n \"destination_holder\": \"Juan Perez\",\n \"destination_id_number\": \"1234567\",\n \"currency_type\": \"BOB\",\n \"country\": \"BO\",\n \"entity_type\": \"individual\",\n \"first_name\": \"Juan\",\n \"last_name\": \"Perez\",\n \"document_type\": \"national_id\"\n },\n \"asset_deposit\": \"USDC\",\n \"refund_address\": \"0x0000000000000000000000000000000000000000\",\n \"blockchain\": \"Polygon\"\n}"
response = http.request(request)
puts response.read_body{
"transaction_id": "550e8400-e29b-41d4-a716-446655440001",
"external_reference": "550e8400-e29b-41d4-a716-446655440000",
"transactions": [
{
"transaction_id": "550e8400-e29b-41d4-a716-446655440002",
"status": "pending_transaction",
"message": "Transaction created"
}
],
"deposit_address": "0x0000000000000000000000000000000000000000",
"amount_deposit": "14.44"
}{
"statusCode": 400,
"error": "Bad Request",
"message": [
{
"path": [
"transaction",
"bank_code"
],
"message": "The bank is not enabled for transfers."
}
]
}{
"statusCode": 401,
"message": "Unauthorized"
}{
"statusCode": 422,
"code": "INSUFFICIENT_FUNDS",
"message": "There are insufficient funds to complete this transaction."
}{
"statusCode": 500,
"code": "INTERNAL_SERVER_ERROR",
"message": "An unexpected internal server error occurred. Please try again later."
}{
"statusCode": 503,
"code": "PAYMENT_PROVIDER_UNAVAILABLE",
"message": "The payment provider is temporarily unavailable. Please try again later."
}Authorizations
JWT obtained from /v2/auth/login or /v3/auth/login
Body
Source of funds for the operation.
balance, conversion "conversion"
Unique external reference sent by the partner.
"550e8400-e29b-41d4-a716-446655440000"
Bank details and payout amount.
Show child attributes
Show child attributes
Crypto asset required to fund the operation.
USDC, USDT "USDC"
Crypto refund address, if applicable.
"0x0000000000000000000000000000000000000000"
Blockchain of the deposit asset.
Polygon, Ethereum, TRON "Polygon"
Response
Bank payout created successfully.
Primary transaction identifier.
"550e8400-e29b-41d4-a716-446655440001"
External reference sent in the request.
"550e8400-e29b-41d4-a716-446655440000"
Transactions associated with the flow.
Show child attributes
Show child attributes
Crypto address to fund, if applicable.
"0x0000000000000000000000000000000000000000"
Crypto amount required to fund the operation, if applicable.
"14.44"