Getnet DocsGetnet Docs

Códigos de resultado y errores

El framework Get Mini reporta el estado de las transacciones y errores a través de objetos NSError estándar en los callbacks del delegado y propiedades de estado específicas dentro del resultado RespuestaTransaccionDTO.

Códigos de error del SDK

Los errores se devuelven mediante el parámetro NSError en métodos como onPaymentFinished o onInitFinished. La propiedad code corresponde a la tabla de errores interna de la biblioteca.

Errores comunes de biblioteca (NSError.code)

CódigoConstante de EstadoDescripción
0STATUS_OKOperación completada exitosamente.
1STATUS_KO_ACCESO_DATOSError accediendo a la base de datos local (SQLite).
11STATUS_KO_DATOS_MAL_FIRMADOSLa firma del mensaje es incorrecta.
28STATUS_KO_USER_BLOQUEADOLa cuenta de usuario está bloqueada.
78STATUS_KO_OPERACION_FALLIDALa operación de Servicio Web falló.
117—Denegada por pin online incorrecto (PIN online incorrecto).
999—Error indeterminado.
1040—PIN pad no operativo.

Errores específicos TPV-PC

Estos códigos aparecen a menudo al procesar devoluciones u operaciones específicas del terminal.

CódigoCódigo TPV-PCDescripción
200TPV-PC0009El monto de la devolución excede el monto de la transacción original.
232TPV-PC0058La moneda especificada no coincide con la moneda del terminal.
241TPV-PC0071El comercio no tiene habilitadas las Preautorizaciones.
250TPV-PC0084Error de lectura de tarjeta (Verifique lector o estado de la tarjeta).
252TPV-PC0087Sistema ocupado. Reintente después de unos momentos.
258TPV-PC0094No se permiten más confirmaciones para esta preautorización.

Valores de resultado de transacción

Para pagos finalizados, el resultado se entrega en un RespuestaTransaccionDTO. Debe evaluar los campos estado y resultado para determinar el desenlace.

Estado (estado de transacción)

ValorDescripción
“F”Finalizada (El proceso alcanzó el servidor y finalizó).
“P”En proceso (Aún siendo procesado).
“G”Denegada (La transacción fue rechazada).
“A”Anulada (La transacción fue cancelada/anulada).
“T”Fallo técnico (Ocurrió un error técnico durante el procesamiento).

Estado == "F" NO significa que el pago fue aprobado. Solo significa que la pasarela respondió. Siempre verifique el campo resultado.

Resultado (decisión)

ValorDescripción
“Autorizada”La transacción fue aprobada por el emisor.
“Denegada”La transacción fue rechazada por el emisor o la pasarela.

Códigos de respuesta de autorización

La propiedad codigoRespuesta en RespuestaTransaccionDTO (o RespuestaBoletaDTO) contiene el código de autorización del host (para ventas aprobadas) o el código de denegación específico.

Ramifica por resultado, que devuelve "Autorizada" o "Denegada", en lugar de por el valor del código. Registra codigoRespuesta junto con la transacción para que soporte pueda rastrear una denegación.

Monitoreo de progreso

El SDK proporciona actualizaciones en tiempo real a través de dos callbacks principales. Úselos para actualizar su UI durante la interacción con el hardware.

onInitProcess (inicialización)

Reporta progreso durante connectAndConfigureDevice. Los mensajes son típicamente cadenas como:

  • “Cargando claves…”
  • “Configurando terminal…”

onPaymentProcess (pago)

Reporta progreso durante payWithPinpadBluetooth. Notifica a la UI de cambios de estado tales como:

  • Esperando inserción de tarjeta.
  • Entrada de PIN solicitada.
  • Conectando con el host para autorización.

Mejores prácticas para el manejo de errores

  1. Evaluar NSError primero: Si el parámetro NSError no es nil, la transacción falló antes de alcanzar la pasarela (ej., pérdida de Bluetooth o tiempo de espera de biblioteca).
  2. Manejar Código 117: Siempre proporcione un mensaje específico para el código 117 (“PIN Incorrecto”) ya que este es el error corregible por el usuario más común.
  3. Verificar Perfil del Comercio: Si recibe errores 241 o 273 consistentemente, use PerfilComercioManager para verificar las características habilitadas de su terminal (Preautorizaciones, Entrada Manual).
  4. Registrar IdentificadorRTS: Para cualquier error que ocurra después de la fase de “Autorización”, registre el identificadorRTS para facilitar la solución de problemas de soporte con Get Mini.