Consultar Disponibilidad
Devuelve qué puede cobrar este comercio antes de que construyas el checkout: qué países puedes pintar, qué métodos tiene habilitados cada uno, y qué rails están abiertos.
A diferencia de Obtener Métodos de Pago, que es un catálogo de plataforma igual para todos, esta respuesta aplica la configuración del comercio: sus billeteras, sus reglas de métodos, su alta en el rail USD y en pagos con tarjeta.
Endpoint
Sección titulada «Endpoint»GET /v1/availabilityAutenticación
Sección titulada «Autenticación»Requiere API Key con header X-API-KEY. No hace falta ningún permiso concreto.
Parámetros de Consulta
Sección titulada «Parámetros de Consulta»| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
amount | number | No | Lo que el comercio quiere recibir, en la moneda de su billetera. Es la misma lectura que hace POST /v1/payment-links con su amount_type por defecto (receive). |
Sin amount la respuesta es estructural —billeteras, rails y qué métodos están habilitados— y puedes cachearla para una landing. Con amount se aplica además el mínimo de la plataforma y la respuesta es específica para ese cobro. El campo applies_amount te dice cuál de las dos recibiste.
Ejemplo de Solicitud
Sección titulada «Ejemplo de Solicitud»curl -X GET "https://api.aloha.co/api/external/v1/availability?amount=400000" \ -H "X-API-KEY: tu_api_key_aqui"const response = await fetch( 'https://api.aloha.co/api/external/v1/availability?amount=400000', { headers: { 'X-API-KEY': 'tu_api_key_aqui' } });const { data } = await response.json();
const paises = data.countries.filter((pais) => pais.available);
console.log('Países que puedo ofrecer:', paises.map((p) => p.country_code));import requests
headers = { 'X-API-KEY': 'tu_api_key_aqui'}
response = requests.get( 'https://api.aloha.co/api/external/v1/availability', params={'amount': 400000}, headers=headers)data = response.json()['data']
paises = [p['country_code'] for p in data['countries'] if p['available']]
print('Países que puedo ofrecer:', paises)<?php$ch = curl_init();
curl_setopt_array($ch, [ CURLOPT_URL => 'https://api.aloha.co/api/external/v1/availability?amount=400000', CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'X-API-KEY: tu_api_key_aqui' ]]);
$response = curl_exec($ch);$data = json_decode($response, true)['data'];
$paises = array_column( array_filter($data['countries'], fn ($pais) => $pais['available']), 'country_code');
print_r($paises);Respuesta Exitosa (200 OK)
Sección titulada «Respuesta Exitosa (200 OK)»{ "success": true, "message": "Availability retrieved successfully", "data": { "applies_amount": true, "merchant": { "verified": true, "status": "active" }, "rails": { "local": { "available": true, "reason": null }, "card": { "available": false, "reason": "card_payments_not_enabled" } }, "countries": [ { "country_code": "AR", "country_name": "Argentina", "currency": "ARS", "available": false, "reason": "no_payment_methods_enabled", "payment_methods": [] }, { "country_code": "BR", "country_name": "Brazil", "currency": "BRL", "available": true, "reason": null, "payment_methods": [ { "name": "Pago con PIX", "description": "Pago con QR o Copia e Cola." } ] }, { "country_code": "CL", "country_name": "Chile", "currency": "CLP", "available": true, "reason": null, "payment_methods": [ { "name": "Webpay", "description": "Tarjeta de Crédito, Débito o Prepaga." } ] }, { "country_code": "CO", "country_name": "Colombia", "currency": "COP", "available": true, "reason": null, "payment_methods": [ { "name": "PSE", "description": "Transferencia Bancaria." }, { "name": "Nequi", "description": "Transferencia Bancaria." } ] }, { "country_code": "MX", "country_name": "Mexico", "currency": "MXN", "available": true, "reason": null, "payment_methods": [ { "name": "Transferencia Bancaria", "description": "Pago a Clabe de un solo uso." } ] }, { "country_code": "BO", "country_name": "Bolivia", "currency": "BOB", "available": true, "reason": null, "payment_methods": [ { "name": "Pago con QR", "description": "Pago por QR." } ] }, { "country_code": "US", "country_name": "United States", "currency": "USD", "available": false, "reason": "usd_account_not_enabled", "payment_methods": [] } ] }}Campos de Respuesta
Sección titulada «Campos de Respuesta»| Campo | Tipo | Descripción |
|---|---|---|
applies_amount | boolean | true si enviaste amount y la respuesta lo tiene en cuenta |
merchant.verified | boolean | Si el comercio completó su verificación (KYB) |
merchant.status | string | Estado del comercio, por ejemplo active o paused |
rails.local | object | Si el comercio puede cobrar en monedas locales |
rails.card | object | Si el comercio puede emitir pagos con tarjeta |
countries | array | Una fila por cada moneda que acepta la creación de solicitudes de pago |
countries[].country_code | string | Código ISO del país (2 letras) |
countries[].country_name | string | Nombre del país |
countries[].currency | string | Código de moneda ISO 4217 |
countries[].available | boolean | Si puedes ofrecerle este país a un pagador |
countries[].reason | string | null | Por qué no está disponible. null cuando sí lo está |
countries[].payment_methods | array | Métodos habilitados para ese país. Vacío si no está disponible |
Tanto rails.local como rails.card llevan la misma pareja available / reason que una fila de país.
Motivos
Sección titulada «Motivos»| Motivo | Significado | Quién lo resuelve |
|---|---|---|
merchant_not_verified | El comercio no ha completado su verificación. Hasta que lo haga, toda creación responde 400. Cierra todo. | El comercio |
merchant_paused | La cuenta está pausada. Se pueden crear solicitudes, pero el pagador no puede completarlas. Cierra todo. | Aloha |
wallet_not_configured | El comercio no tiene billetera para el rail local. Cierra todos los países locales. | Aloha |
usd_account_not_enabled | El comercio no está dado de alta para cobrar en USD. Cierra US. | El comercio / Aloha |
card_payments_not_enabled | El comercio no tiene cuenta de pagos con tarjeta conectada. Cierra rails.card. | El comercio |
no_payment_methods_enabled | Todos los métodos de ese país están deshabilitados para este comercio. | Aloha |
below_minimum_amount | El amount está por debajo del mínimo: 2 USD equivalentes para cobros locales y USD, 0,50 USD para tarjeta. | Tú |
provider_unreachable | No pudimos consultar los métodos de ese país. No es un problema de configuración del comercio: reintenta en lugar de ocultar el país. | Aloha |