Endpoints de cuenta
Estado de cuenta
Consulta el estado operacional de una cuenta creada por Transferfix. Este es el endpoint que tu backend usa para confirmar el pago hasta llegar a PAID.
GET/api/v2/accounts/statusEndpoint de polling
Endpoint
Podés consultar por account_id o account_number. En integraciones nuevas se recomienda persistir y usar account_id.
GET
/api/v2/accounts/statusLa cuenta se busca dentro de PaymentAccounts y siempre queda limitada a la empresa asociada a la API key.
Parámetros
Debés enviar uno de estos dos parámetros de query.
| Parámetro | Requerido | Notas |
|---|---|---|
| account_id | Sí* | Identificador interno de Transferfix. Es la opción recomendada. |
| account_number | Sí* | Número de cuenta (CVU). Útil si no guardaste el account_id. |
Importante
Tenés que enviar
account_id o account_number. Si no mandás ninguno, la API devuelve validación 400.Ejemplos
Consultas típicas por id interno o por número de cuenta.
Consulta por account_id
curl -G "https://transferfix.com.ar/api/v2/accounts/status" \
-H "X-API-Key: ck_live_12345678_abcd" \
--data-urlencode "account_id=42"Consulta por account_number
curl -G "https://transferfix.com.ar/api/v2/accounts/status" \
-H "X-API-Key: ck_live_12345678_abcd" \
--data-urlencode "account_number=0000277800000000560490"Estados
Estados relevantes para el flujo moderno con API key.
CREATED
{
"success": true,
"data": {
"id": 42,
"cucuru_customer_id": "pianta.entrada-0014",
"cucuru_account_number": "0000277800000000560490",
"cucuru_alias": "pianta.entrada-0014",
"customer_email": "comprador@ejemplo.com",
"currency": "ARS",
"total_amount": 12500,
"amount_paid": 0,
"status": "CREATED",
"created_at": "2026-03-09 18:40:01",
"updated_at": "2026-03-09 18:40:01"
}
}PARTIALLY_PAID
{
"success": true,
"data": {
"id": 42,
"cucuru_customer_id": "pianta.entrada-0014",
"cucuru_account_number": "0000277800000000560490",
"cucuru_alias": "pianta.entrada-0014",
"customer_email": "comprador@ejemplo.com",
"currency": "ARS",
"total_amount": 12500,
"amount_paid": 5000,
"status": "PARTIALLY_PAID",
"created_at": "2026-03-09 18:40:01",
"updated_at": "2026-03-09 18:44:22"
}
}PAID
{
"success": true,
"data": {
"id": 42,
"cucuru_customer_id": "pianta.entrada-0014",
"cucuru_account_number": "0000277800000000560490",
"cucuru_alias": "pianta.entrada-0014",
"customer_email": "comprador@ejemplo.com",
"currency": "ARS",
"total_amount": 12500,
"amount_paid": 12500,
"status": "PAID",
"created_at": "2026-03-09 18:40:01",
"updated_at": "2026-03-09 18:48:10"
}
}Estado terminal
En el flujo actual basado en API key,
PAID es el estado terminal esperado para confirmar la orden.Sobre COMPLETED
COMPLETED no es el estado principal de este flujo. Solo aparece en la rama legacy de WooCommerce cuando una actualización downstream también termina bien.Polling
La confirmación de negocio se resuelve con polling desde tu backend.
Ejemplo de polling
async function waitUntilPaid(accountId) {
const startedAt = Date.now()
while (Date.now() - startedAt < 15 * 60 * 1000) {
const response = await fetch(
"https://transferfix.com.ar/api/v2/accounts/status?account_id=" + accountId,
{
headers: {
"X-API-Key": process.env.TRANSFERFIX_API_KEY
}
}
)
const payload = await response.json()
if (!response.ok) throw new Error(payload.error || "Status error")
const account = payload.data
if (account.status === "PAID") {
return account
}
await new Promise((resolve) => setTimeout(resolve, 5000))
}
throw new Error("Timeout waiting for payment")
}Política recomendada
Empezá a consultar apenas recibís
account_id. Un intervalo de 5 segundos es razonable mientras el usuario sigue activo en checkout. Si no hay cambios por varios minutos, podés bajar la frecuencia.