Códigos de resultado y errores
Esta referencia enumera todos los códigos de resultado y error devueltos por el TPVPC Get Central. TpvpcImplantado usa los mismos códigos.
Esta guía se aplica a Slim Pack.
La integración de Get Central expone dos capas distintas de información de resultados, que nunca deben confundirse:
- Códigos de retorno de la biblioteca – devueltos directamente por la llamada a la función (
int) - Códigos de respuesta financiera – devueltos dentro de la respuesta XML
Ambas capas son obligatorias para el correcto manejo de errores.
Códigos de retorno del sistema
Cada función del TPVPC devuelve un código numérico de inmediato, antes de cualquier respuesta XML. Un 0 significa que la llamada terminó; no dice nada sobre si el pago fue autorizado.
El mismo número significa cosas distintas según la función que lo devuelve. Lee el código contra la función que llamaste, no contra una lista global.
Inicialización — fnDllIniTpvpcLatente y fnDllIniTpvpcLatenteExt
| Código | Descripción |
|---|---|
-1 | Error interno del sistema. Hay que reiniciar la carga de la biblioteca dinámica; si persiste, notificar a la entidad. |
-2 | Error al cargar el XML con los datos de configuración. |
-3 | Falta el valor de datosConf/datosComercio/comercio. |
-4 | Falta el valor de datosConf/datosComercio/terminal. |
-5 | Falta el valor de datosConf/datosComercio/clave. |
-6 | Falta el valor de datosConf/accesoUsuario/usuario. |
-7 | Falta el valor de datosConf/accesoUsuario/clave. |
-8 | Falta el valor de datosConf/modo. |
-9 | No se ha especificado ni acceso con datos de comercio ni de usuario. Es obligatorio especificar uno de los dos. |
-10 | Falta el valor de datosConf/confDispositivo/puerto. Si no vas a usar un PIN pad, omite el elemento confDispositivo por completo; si lo incluyes, debes configurar todos sus elementos. |
-11 | Falta el valor de datosConf/confDispositivo/version. |
-12 | Error interno del sistema. |
-13 | Error al descubrir el PIN pad. Se superó el TimeOut máximo de espera. |
-14 | No se pudo iniciar la interfaz gráfica del TPVPC Latente. |
-16 | Problema en la comunicación con el Servicio Web del TPVPC. Revisa la conexión a Internet e intenta una nueva inicialización cuando el servicio esté restablecido. |
-18 | La petición llega al TPVPC, pero alguno de los datos no es correcto. Revisa el código de comercio, el terminal y la clave de firma. |
-19 | El PIN pad no está configurado correctamente. Contacta con la entidad. |
-20 | El puerto de comunicación especificado no es correcto. |
-21 | La versión especificada es incompatible con el PIN pad instalado. Consulta el valor correcto con la entidad. |
-40 | La versión de la biblioteca ha caducado y debe actualizarse. |
Operaciones de transacción — fnDllOperPinPad, fnDllOperManualExt, fnDllOperPinPadDCC
| Código | Descripción |
|---|---|
-1 | No se han establecido correctamente los datos de configuración. Vuelve a llamar a fnDllIniTpvpcLatente; si persiste, contacta con la entidad. |
-2 | Se ha sobrepasado el TimeOut especificado por la aplicación. |
-3 | Error del sistema. Es necesario reiniciar la aplicación. |
-4 | Los datos de entrada no tienen un formato correcto. Revisa la lista de parámetros. |
-13 | Alguno de los parámetros no es válido. Revisa la lista de parámetros. (Solo fnDllOperPinPad.) |
-17 | El tamaño del buffer de respuesta no es suficiente. Usa el valor indicado en la documentación. |
-18 | El formato de algún parámetro es incorrecto. Por ejemplo, cImporte debe tener formato #000.00: 3000 euros son 3000.00. |
Regla crítica: si una función de transacción devuelve
-2, se agotó el TimeOut y el resultado final de la operación es desconocido. Ejecuta una consulta antes de reintentar, para no cobrar dos veces. Esta regla vale solo aquí: en la inicialización-2significa que no se pudo cargar el XML de configuración.
Operaciones de consulta y cierre — fnDllOperConsulta, fnDllOperTotales, fnDllOperComContable
| Código | Descripción |
|---|---|
-1 | No se han establecido correctamente los datos de configuración. Vuelve a llamar a fnDllIniTpvpcLatente. |
-2 | Se produjo un error interno del sistema al realizar la operación. Si persiste, contacta con la entidad. |
-3 | Error en los parámetros de entrada. |
-12 | Error interno del sistema. |
-15 | Operación no soportada. (fnDllOperConsulta y fnDllOperTotales.) |
Códigos de respuesta financiera (XML)
Los códigos de respuesta financiera se devuelven dentro de la respuesta XML y representan la decisión de autorización real tomada por la red del emisor.
El elemento <estado> indica el estado de procesamiento de la operación: F (finalizada), P (en proceso), T (fallo técnico) o G (denegada).
Una transacción está AUTORIZADA solo si:
<estado>F</estado>
<resultado>Autorizada</resultado>Los códigos numéricos deben interpretarse solo después de esta validación.
Códigos de aprobación
| Rango de Código | Significado | Descripción |
|---|---|---|
0000–0099 | Aprobada | Transacción autorizada. |
0900 | Aprobación parcial | Aprobada por un importe inferior al solicitado. |
Códigos de denegación
| Código | Descripción |
|---|---|
0101 | Tarjeta caducada. |
0102 | Sospecha de fraude. |
0104 | Tarjeta restringida. |
0116 | Fondos insuficientes. |
0118 | Tarjeta no permitida para esta operación. |
0129 | Error de CVV. |
0180 | Se requiere introducción del PIN. |
0181 | PIN incorrecto. |
0184 | Intentos de PIN excedidos. |
0190 | El emisor denegó la transacción sin detalles. |
0191 | Emisor no disponible. |
0200 | No honrar. |
0202 | Tarjeta reportada como robada. |
0204 | Tarjeta reportada como perdida. |
0208 | Transacción no permitida. |
0211 | Número de tarjeta no válido. |
0212 | Transacción no válida. |
0222 | Violación de seguridad. |
0907 | Error de comunicación con el emisor. |
0912 | El emisor no responde. |
0960 | Fallo del sistema. |
Reglas de manejo de errores
- Evalúa siempre primero el código de retorno de la biblioteca.
- Si el código de retorno no es
0, no asumas ningún resultado financiero. - Si el código de retorno es
0, analiza la respuesta XML y valida<estado>y<resultado>. - Si el código de retorno es
-2, realiza una consulta de estado antes de volver a intentarlo. - Nunca reintentes una operación financiera a ciegas.
Mejores prácticas
- No asocies los códigos de respuesta numéricos directamente al éxito o al fracaso.
- Confía siempre en los campos de autorización XML como única fuente de verdad.
- Conserva los códigos de respuesta para fines de conciliación y auditoría.
- Maneja explícitamente los tiempos de espera (timeouts) y los errores de comunicación.
Esta página define el conjunto completo y oficial de códigos de resultado necesarios para una integración segura y conforme con Get Central.