curl --request GET \
--url https://api.qbank.cl/platform/v1/payouts/{payoutID} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qbank.cl/platform/v1/payouts/{payoutID}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qbank.cl/platform/v1/payouts/{payoutID}', 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://api.qbank.cl/platform/v1/payouts/{payoutID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qbank.cl/platform/v1/payouts/{payoutID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qbank.cl/platform/v1/payouts/{payoutID}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qbank.cl/platform/v1/payouts/{payoutID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"payout_id": "7d5c2f0a-1e9b-4a6d-8f3c-0b2a1d9e8c7f",
"account_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"idempotency_key": "invoice-8841",
"country": "MX",
"currency": "MXN",
"method": "bank_transfer",
"local_amount": "1500.00",
"fx_rate": "17.50",
"rate_source": "lot",
"usdt_amount": "85.714286",
"fee": "0.300000",
"total_debit": "86.014286",
"settlement_asset": "USDT",
"settlement_amount": "86.014286",
"settlement_rate": "1",
"beneficiary": {
"name": "Maria Lopez",
"account_type": "clabe",
"account_number": 12180001234567896
},
"description": "Invoice 8841",
"status": "completed",
"status_code": "",
"status_message": "",
"bank_reference": "00761123456",
"created_at": "2026-07-07T12:00:00Z",
"updated_at": "2026-07-07T12:00:00Z"
}{
"error": "unauthorized",
"message": "invalid or missing credentials"
}{
"error": "not_found",
"message": "resource not found"
}Obtener un payout
curl --request GET \
--url https://api.qbank.cl/platform/v1/payouts/{payoutID} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.qbank.cl/platform/v1/payouts/{payoutID}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.qbank.cl/platform/v1/payouts/{payoutID}', 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://api.qbank.cl/platform/v1/payouts/{payoutID}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.qbank.cl/platform/v1/payouts/{payoutID}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.qbank.cl/platform/v1/payouts/{payoutID}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.qbank.cl/platform/v1/payouts/{payoutID}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"payout_id": "7d5c2f0a-1e9b-4a6d-8f3c-0b2a1d9e8c7f",
"account_id": "9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d",
"idempotency_key": "invoice-8841",
"country": "MX",
"currency": "MXN",
"method": "bank_transfer",
"local_amount": "1500.00",
"fx_rate": "17.50",
"rate_source": "lot",
"usdt_amount": "85.714286",
"fee": "0.300000",
"total_debit": "86.014286",
"settlement_asset": "USDT",
"settlement_amount": "86.014286",
"settlement_rate": "1",
"beneficiary": {
"name": "Maria Lopez",
"account_type": "clabe",
"account_number": 12180001234567896
},
"description": "Invoice 8841",
"status": "completed",
"status_code": "",
"status_message": "",
"bank_reference": "00761123456",
"created_at": "2026-07-07T12:00:00Z",
"updated_at": "2026-07-07T12:00:00Z"
}{
"error": "unauthorized",
"message": "invalid or missing credentials"
}{
"error": "not_found",
"message": "resource not found"
}Autorizaciones
JWT de sesión (de register/login) o llave de API (pk_...).
X-API-Key: <token> se acepta como header alternativo.
Parámetros de ruta
Respuesta
El payout.
La tasa de tu cuenta al momento de la ejecución (unidades locales por 1 USDT).
Origen de la tasa ejecutada. lot, blend o spot; se omite en filas históricas sin atribución.
lot, blend, spot Saldo virtual desde el que realmente se debitó la operación.
USD, USDT, USDC, BTC, GOLD, SILVER, PLATINUM Monto exacto debitado del saldo del asset de settlement (en unidades de ese asset). Es igual a total_debit cuando el asset es USDT. Si el payout falla se reembolsa este monto exacto — nunca se re-cotiza.
Precio USD efectivo por unidad del asset de settlement usado para convertir el total en USDT ("1" para USDT/USDC).
pending con compliance_pending: true significa que el screening técnico del beneficiario espera antes de cualquier débito o despacho al core. Después del screening, pending también puede usar compliance_dispatch_pending, compliance_dispatching o core_unreachable mientras el débito permanece retenido.
pending, processing, completed, failed Detalle del estado normalizado. compliance_pending es pre-débito; compliance_dispatch_pending, compliance_dispatching y core_unreachable son códigos durables de transición después del screening.
Falso antes de debitar un payout pendiente de screening. Verdadero después de que el screening pasa y existe el débito/hold, incluso durante las transiciones de despacho.
True cuando el screening o un control duro terminó el payout antes de cualquier débito. Es distinto de un payout fallido cuyo débito se reembolsó después.
Verdadero solo mientras el screening técnico espera antes de cualquier débito o despacho al core; pasa a falso cuando se acepta el resultado process.
Referencia de la transaccion en el banco/rail (ej. el id de transferencia del banco, con el que el beneficiario cruza el pago con su banco). En US ACH/wire/SWIFT es la referencia CBF que vuelve al crear; en el resto de corredores queda vacia hasta que el rail la reporta.
Identificador UETR/SWIFT gpi reportado por el banco después de la ejecución; vacío hasta estar disponible.
Identificador doméstico wire/ACH reportado por el banco después de la ejecución; vacío hasta estar disponible.
Presente (true) cuando la respuesta es una repetición idempotente.
Presente solo cuando existe un comprobante, normalmente después del débito y del estado final. Se omite mientras el payout espera screening técnico antes del débito.