Skip to content
FINORA Academy
SistemaFINORA Checkout

FINORA Checkout · Reference

Códigos de error y de resultado

ImplementedDocumented

This content is not available in your language yet.

Toda respuesta de error de la API es un Problem Details (RFC 9457) con una propiedad adicional, codigo, que no cambia entre versiones. Decide siempre por codigo, nunca por el texto: detail es para ti, no para mostrarlo al cliente.

{
"type": "urn:finora:pos:checkout:sesion-vencida",
"title": "Sesión vencida",
"status": 410,
"detail": "La sesión venció al intentar usarla",
"codigo": "SESION_VENCIDA"
}
codigoHTTPCuándoQué hacer
CLAVE_INVALIDA401La clave falta, es incorrecta o fue revocadaRevisa la configuración; pide una clave nueva si la revocaron
CLAVE_SIN_ACCESO_AL_COMERCIO403La clave no alcanza el comercio indicadoUsa la clave de ese comercio o de su principal
CLAVE_COMERCIO_SUSPENDIDO403El comercio está suspendido o cerrado: no se abren sesionesContacta a tu adquirente
TERMINAL_AJENO403El terminal no es de tu comercioCorrige el terminalId
PETICION_INVALIDA400Monto cero o negativo, moneda inválida, tiempo de vida fuera de 60 a 3600, URL que no es http(s), JSON ilegibleCorrige lo que indica detail
SESION_NO_ENCONTRADA404La sesión no existe o no es de tu comercioRevisa el sesionId guardado
TERMINAL_NO_ENCONTRADO, COMERCIO_NO_ENCONTRADO, ENTREGA_NO_ENCONTRADA404El recurso no existeRevisa el identificador
COBRO_EN_CURSO409Cancelas con una autorización en vuelo o con el terminal ya leyendo la tarjetaEspera el veredicto

El componente ya maneja estos casos. La columna de la derecha dice qué hace, por si construyes tu propia interfaz.

codigoHTTPCuándoQué hace el componente
TOKEN_INVALIDO401Token ausente, inválido, de otra sesión, o sesión inexistentePantalla de error final y evento finora-error
SESION_VENCIDA410La sesión venció al usarlaResultado EXPIRADA
SESION_CERRADA409La sesión ya tiene veredicto, se canceló o vencióConsulta el estado y muestra lo que diga el servidor
COBRO_EN_CURSO409Ya hay un cobro en vueloPasa a esperar el veredicto
MEDIO_NO_DISPONIBLE400Medio inactivo, fuera de los límites, efectivo, o tarjeta sin terminalVuelve a los medios con el aviso
DATOS_INCOMPLETOS400Faltan campos o no tienen el formato. detail nombra cada campo entre comillas simplesMarca cada campo citado y enfoca el primero
PETICION_INVALIDA400JSON ilegible o medio ausenteAviso y vuelve atrás
TERMINAL_OCUPADO409El terminal tiene otra orden en cursoVuelve a los medios: «El terminal está ocupado»
TERMINAL_NO_ENCONTRADO, TERMINAL_AJENO404, 403El terminal no existe o no es del comercioVuelve a los medios y sugiere pedir ayuda al personal
COMERCIO_SUSPENDIDO403El comercio se suspendió después de abrir la sesiónMuestra «comercio suspendido» y no ofrece medios
DEMASIADAS_PETICIONES429Más de 60 peticiones por minuto sobre la sesión (Retry-After: 60)Aviso; la consulta de estado sigue a su ritmo
RED—El navegador no pudo conectarAl cargar, ofrece reintentar; durante la espera, sigue intentando

No son errores HTTP: vienen en codigo dentro del resultado.

codigoCon estadoSignifica
TERMINAL_SIN_RESPUESTACREADAEl terminal no tomó la orden a tiempo. El cliente puede elegir otro medio
CANCELADA_EN_TERMINALCREADAEl cajero canceló la orden en el terminal. El cliente puede elegir otro medio
CANCELADA_POR_CLIENTE, CANCELADA_POR_COMERCIOCANCELADAQuién retiró la sesión

Son los códigos de respuesta ISO 8583 que devuelve el autorizador. Estos son los que verás en sandbox:

CódigoSignificadoEfecto en la sesión
00AprobadaAPROBADA
51Fondos insuficientesIntento rechazado; el cliente puede reintentar
05No honrarIntento rechazado
61Excede el límiteIntento rechazado
14Teléfono, cuenta o billetera inválidosIntento rechazado
57Teléfono no afiliado a pago móvilIntento rechazado
62Cuenta o referencia no encontradaIntento rechazado
43, 54, 41Tarjeta retenida, vencida o extraviada (en el terminal)Intento rechazado
96El banco respondió tardeEN_DUDA; en sandbox se resuelve aprobada
91El banco no registró la operaciónEN_DUDA; en sandbox se resuelve rechazada

Un intento rechazado deja la sesión abierta. La sesión termina RECHAZADA solo si el cliente o el comercio la cancelan después de uno o más rechazos, con el código del último.