curl --request POST \
--url https://sandbox-rampa.mesadepagos.com/api/v2/transactions/payouts/qr \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"image": "iVBORw0KGgoAAAANSUhEUgAA...",
"external_reference": "ORDER-QR-1001",
"asset_deposit": "USDC",
"blockchain": "Polygon",
"funding_source": "conversion",
"amount": 100
}
'import requests
url = "https://sandbox-rampa.mesadepagos.com/api/v2/transactions/payouts/qr"
payload = {
"image": "iVBORw0KGgoAAAANSUhEUgAA...",
"external_reference": "ORDER-QR-1001",
"asset_deposit": "USDC",
"blockchain": "Polygon",
"funding_source": "conversion",
"amount": 100
}
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({
image: 'iVBORw0KGgoAAAANSUhEUgAA...',
external_reference: 'ORDER-QR-1001',
asset_deposit: 'USDC',
blockchain: 'Polygon',
funding_source: 'conversion',
amount: 100
})
};
fetch('https://sandbox-rampa.mesadepagos.com/api/v2/transactions/payouts/qr', 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/v2/transactions/payouts/qr",
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([
'image' => 'iVBORw0KGgoAAAANSUhEUgAA...',
'external_reference' => 'ORDER-QR-1001',
'asset_deposit' => 'USDC',
'blockchain' => 'Polygon',
'funding_source' => 'conversion',
'amount' => 100
]),
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/v2/transactions/payouts/qr"
payload := strings.NewReader("{\n \"image\": \"iVBORw0KGgoAAAANSUhEUgAA...\",\n \"external_reference\": \"ORDER-QR-1001\",\n \"asset_deposit\": \"USDC\",\n \"blockchain\": \"Polygon\",\n \"funding_source\": \"conversion\",\n \"amount\": 100\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/v2/transactions/payouts/qr")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"image\": \"iVBORw0KGgoAAAANSUhEUgAA...\",\n \"external_reference\": \"ORDER-QR-1001\",\n \"asset_deposit\": \"USDC\",\n \"blockchain\": \"Polygon\",\n \"funding_source\": \"conversion\",\n \"amount\": 100\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-rampa.mesadepagos.com/api/v2/transactions/payouts/qr")
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 \"image\": \"iVBORw0KGgoAAAANSUhEUgAA...\",\n \"external_reference\": \"ORDER-QR-1001\",\n \"asset_deposit\": \"USDC\",\n \"blockchain\": \"Polygon\",\n \"funding_source\": \"conversion\",\n \"amount\": 100\n}"
response = http.request(request)
puts response.read_body{
"external_reference": "ORDER-QR-1001",
"transactions": {
"transaction_id": "550e8400-e29b-41d4-a716-446655440002",
"status": "pending_transaction",
"message": "Payout QR processed successfully"
},
"amount_deposit": "14.44",
"deposit_address": "0x0000000000000000000000000000000000000000"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}{
"statusCode": 401,
"message": "Unauthorized"
}QR Payout
Processes a payout QR code. The response depends on the QR provider and may vary.
curl --request POST \
--url https://sandbox-rampa.mesadepagos.com/api/v2/transactions/payouts/qr \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"image": "iVBORw0KGgoAAAANSUhEUgAA...",
"external_reference": "ORDER-QR-1001",
"asset_deposit": "USDC",
"blockchain": "Polygon",
"funding_source": "conversion",
"amount": 100
}
'import requests
url = "https://sandbox-rampa.mesadepagos.com/api/v2/transactions/payouts/qr"
payload = {
"image": "iVBORw0KGgoAAAANSUhEUgAA...",
"external_reference": "ORDER-QR-1001",
"asset_deposit": "USDC",
"blockchain": "Polygon",
"funding_source": "conversion",
"amount": 100
}
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({
image: 'iVBORw0KGgoAAAANSUhEUgAA...',
external_reference: 'ORDER-QR-1001',
asset_deposit: 'USDC',
blockchain: 'Polygon',
funding_source: 'conversion',
amount: 100
})
};
fetch('https://sandbox-rampa.mesadepagos.com/api/v2/transactions/payouts/qr', 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/v2/transactions/payouts/qr",
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([
'image' => 'iVBORw0KGgoAAAANSUhEUgAA...',
'external_reference' => 'ORDER-QR-1001',
'asset_deposit' => 'USDC',
'blockchain' => 'Polygon',
'funding_source' => 'conversion',
'amount' => 100
]),
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/v2/transactions/payouts/qr"
payload := strings.NewReader("{\n \"image\": \"iVBORw0KGgoAAAANSUhEUgAA...\",\n \"external_reference\": \"ORDER-QR-1001\",\n \"asset_deposit\": \"USDC\",\n \"blockchain\": \"Polygon\",\n \"funding_source\": \"conversion\",\n \"amount\": 100\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/v2/transactions/payouts/qr")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"image\": \"iVBORw0KGgoAAAANSUhEUgAA...\",\n \"external_reference\": \"ORDER-QR-1001\",\n \"asset_deposit\": \"USDC\",\n \"blockchain\": \"Polygon\",\n \"funding_source\": \"conversion\",\n \"amount\": 100\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-rampa.mesadepagos.com/api/v2/transactions/payouts/qr")
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 \"image\": \"iVBORw0KGgoAAAANSUhEUgAA...\",\n \"external_reference\": \"ORDER-QR-1001\",\n \"asset_deposit\": \"USDC\",\n \"blockchain\": \"Polygon\",\n \"funding_source\": \"conversion\",\n \"amount\": 100\n}"
response = http.request(request)
puts response.read_body{
"external_reference": "ORDER-QR-1001",
"transactions": {
"transaction_id": "550e8400-e29b-41d4-a716-446655440002",
"status": "pending_transaction",
"message": "Payout QR processed successfully"
},
"amount_deposit": "14.44",
"deposit_address": "0x0000000000000000000000000000000000000000"
}{
"statusCode": 400,
"message": "Validation failed",
"error": "Bad Request"
}{
"statusCode": 401,
"message": "Unauthorized"
}Authorizations
JWT obtained from /v2/auth/login or /v3/auth/login
Body
QR image encoded as plain base64, without the data:image prefix.
"iVBORw0KGgoAAAANSUhEUgAA..."
Partner external reference.
32"ORDER-QR-1001"
Crypto asset required to fund the operation.
USDC, USDT "USDC"
Blockchain of the deposit asset.
Polygon, Ethereum, TRON "Polygon"
Source of funds. When set to conversion, amount is required.
balance, conversion "conversion"
Amount required when funding_source is conversion.
x >= 0100
Response
QR payout created successfully.
External reference sent in the request.
"ORDER-QR-1001"
Transaction associated with the QR flow.
Show child attributes
Show child attributes
Crypto amount required to fund the operation.
"14.44"
Crypto address to fund, if applicable.
"0x0000000000000000000000000000000000000000"