Getnet DocsGetnet Docs

Códigos de respuesta y errores

El Get Mini Android SDK utiliza un sistema de errores estructurado para distinguir entre operaciones exitosas, cancelaciones de usuario, fallos técnicos y denegaciones financieras. Comprender estos códigos de respuesta y categorías de error te ayudará a implementar una gestión de errores adecuada y a proporcionar información clara a los usuarios.

Tipos de respuesta RepositoryResult

Todas las operaciones del SDK devuelven resultados envueltos en la clase sellada RepositoryResult. El tipo de resultado indica el desenlace de alto nivel de la operativa.

Tipo de ResultadoDescripciónCuándo ocurre
RepositoryResult.SuccessLa operación se completó con éxito con datos de resultadoTransacción aprobada, inicialización exitosa, dispositivo conectado
RepositoryResult.ErrorLa operación falló debido a un error técnico o fallo de validaciónError de red, PIN pad desconectado, parámetros inválidos, tiempo de espera agotado
RepositoryResult.CancelledEl usuario canceló la operaciónEl cliente pulsó cancelar en el PIN pad, el usuario salió de la pantalla de pago

Verifica primero el tipo de resultado antes de acceder a los datos o mensajes de error para garantizar la seguridad de tipos en tu implementación.

Tipos de PaymentResult

Específicamente para las operaciones de pago, los resultados exitosos (RepositoryResult.Success) contienen un PaymentResult que indica el resultado de la transacción.

Resultado de PagoDescripciónPróximos pasos
PaymentResult.AcceptedTransacción autorizada y aprobada por el host de pagosGuarda el código de autorización y el ID de operación, proporciona el recibo
PaymentResult.DeniedTransacción denegada por el host de pagos o el emisorMuestra el motivo de la denegación al cliente, ofrece otro método de pago

Las denegaciones de pago se consideran operaciones del SDK “exitosas” (la comunicación se realizó correctamente) pero representan rechazos a nivel de negocio por parte del host de pagos.

Códigos de respuesta de autorización

Cuando una transacción es denegada (PaymentResult.Denied), el campo responseCode contiene un código del host de autorización de pagos que indica el motivo específico de la denegación.

Códigos de éxito

Rango de CódigoSignificadoDescripción
0000-0099AprobadaTransacción autorizada con éxito. Proceder con el pedido.

Problemas con la tarjeta

CódigoSignificadoAcción recomendada
0101Tarjeta CaducadaSolicita otro método de pago. La fecha de caducidad ha pasado.
0102Tarjeta BloqueadaIndica al cliente que contacte con su banco. La tarjeta está bloqueada.
0106Intentos de PIN excedidosTarjeta bloqueada por PIN incorrecto. El cliente debe contactar con su banco.
0202Tarjeta RestringidaLa tarjeta tiene restricciones para este tipo de pago. Solicita otra tarjeta.

Fondos insuficientes

CódigoSignificadoAcción recomendada
0180Fondos InsuficientesNo hay suficiente saldo o crédito. Solicita otro método de pago.
0184Límite de Tarjeta ExcedidoEl importe excede el límite de la tarjeta. Prueba con un importe menor.

Problemas de transacción

CódigoSignificadoAcción recomendada
0190Denegación GeneralEl emisor denegó sin motivo específico. Solicita otro método de pago.
0912Emisor no DisponibleNo se puede contactar con el banco emisor. Reintenta más tarde.
9102Transacción InválidaParámetros inválidos o no soportados. Verifica importe y configuración.

Errores de autenticación

CódigoSignificadoAcción recomendada
0184Error de PINPIN introducido incorrecto. Permite al cliente reintentar.
0191Autenticación FallidaFallo en la autenticación de la transacción. Solicita otro método.

Los códigos de respuesta pueden variar según el procesador de pagos y la configuración del adquiriente. Consulta con el soporte de Get Mini para mapeos específicos.

Mensajes de error técnicos del SDK

CódigoIdentificadorCausaDescripción / Resolución
1004noInternetConnectionSin conectividad a internetVerifica que el dispositivo tenga una conexión a internet activa.
1005unrealizedOperationOperación no realizadaFallo general indicando que la operativa no se completó.
1006transactionDeniedInPinPadDenegación offline EMVLa transacción fue denegada localmente por el chip de la tarjeta.
1007signatureTooBigFirma demasiado grandeLa imagen de la firma capturada excede el límite de 4999 bytes.
1008genericErrorError genéricoFallo general; revisa los datos de la petición y los logs.
1009communicationWithPinPadFailedConexión con PIN pad perdidaSe perdió la conexión Bluetooth con el PIN pad Get Mini.
1010communicationWithWebServiceFailedConectividad Web ServiceFallo al comunicar con el host de pagos o servidores de proceso.
1011malformedPinPadResponseRespuesta PIN pad malformadaLa respuesta recibida del PIN pad es técnicamente incorrecta.
1012malformedPinPadConfirmationConfirmación malformadaEl mensaje de confirmación del PIN pad es incorrecto.
1013unInitializedPinPadPIN pad no inicializadoLlama a inicializarPinpad() antes de procesar cualquier pago.
1014incorrectSignatureValidationFallo de integridadFalló la validación de integridad de la respuesta del host.
1015invalidSelectionDccCurrencyError de moneda DCCLa selección de moneda para la conversión DCC no es válida.
1016unInitializedPinpadByFailedUpdateFallo de carga parámetrosNo se pudieron cargar parámetros durante la inicialización.
1017unInitializedPinpadByFailedTDESFallo de carga TDESNo se pudieron cargar las claves de seguridad durante la inicialización.
1018pinpadInitializationNotFinishedInicialización parcialEl proceso de inicialización del PIN pad no se completó.
1019pinpadWithOutKeysFaltan claves simétricasEl terminal no está operativo porque faltan sus claves internas.
1020invalidPUPVersionVersión protocolo erróneaVersión de protocolo del PIN pad incompatible con esta versión del SDK.
1021serverResponseWithErrorRespuesta error servidorEl servidor de pagos devolvió un error estructurado; revisa los datos.
1022invalidTerminalForOperationEstado terminal inválidoEl terminal seleccionado no es válido para la operativa solicitada.
1023terminalWithoutPermissionForOperationPermiso denegadoLa cuenta/terminal no tiene permiso para esta funcionalidad.
1024creditCardNotValidLectura tarjeta inválidaLa tarjeta presentada no es válida o no puede ser procesada.
1025misApplicationError de aplicaciónAplicación incorrecta seleccionada durante la lectura de la tarjeta.
1026misCodeDeferPaymentCódigo de aplazamiento inválidoEl código de aplazamiento de la operación no es válido.
1027rejectedSWAutoDownloadTelecarga rechazadaSolicitud de telecarga rechazada.
1028rejectedSWAutoDownloadByTimeoutTimeout en telecargaSe recibe un timeout o un error de transmisión al enviar un bloque de software.
117pinIncorrectoPIN incorrectoEl cliente introdujo un PIN incorrecto durante la autorización online.
195repetirLecturaRepetir lectura tarjetaIndica al usuario que repita la lectura (Chip o doble Tap).
196pinTitularPIN requeridoSolicita el PIN al titular de la tarjeta.
1055noManualEntryEnabledEntrada manual deshabilitadaEl comercio no está configurado para permitir entrada manual de tarjeta.
1057operationNotFoundOperación no encontradaNo se puede realizar una acción sobre una transacción inexistente.

Registra siempre los mensajes de error para depuración y soporte, mostrando alternativas amigables a los clientes.

Errores específicos del PIN pad

Errores adicionales específicos de la operativa con el PIN pad Bluetooth y gestión de periféricos.

Tipo de ErrorDescripciónResolución
Fallo de EmparejamientoNo se puede conectar por BluetoothVerifica el modo emparejamiento y que el Bluetooth esté activo.
Batería CríticaBatería del PIN pad muy bajaCarga el dispositivo PIN pad antes de intentar transacciones.
Firmware IncompatibleVersión de firmware no soportadaActualiza el firmware a través de las herramientas de soporte.
Dispositivo OcupadoPIN pad procesando otra acciónEspera a que la operativa actual termine antes de iniciar otra.

Códigos de denegación offline (EMV)

Cuando una transacción es denegada localmente por el chip de la tarjeta sin consultar online, se pueden devolver los siguientes códigos:

CódigoIdentificador TécnicoDescripción
0DENEGADA_OFF_IMPORTE_OImporte menor o igual a cero.
-1DENEGADA_OFF_PAIS_O_MONEDA_EXTRANJEROMoneda/país extranjero no permitido offline.
-2DENEGADA_OFF_BLOQUE_PINTarjeta bloqueada por intentos de PIN.
-3DENEGADA_OFF_LIMITE_IMPORTE_SUPERADOImporte excede el límite offline permitido.
-4DENEGADA_OFF_LIMITE_OPERACIONES_SUPERADONúmero de transacciones offline excedido.
-5DENEGADA_OFF_OPERACION_BANDA_NO_PERMITIDABanda magnética no permitida offline.
-6DENEGADA_OFF_OPERACION_ENTRADA_MANUAL_NO_PERMITIDAEntrada manual no permitida offline.
-7DENEGADA_OFF_TARJETA_CADUCADATarjeta caducada.
-8DENEGADA_APLICACION_NO_PERMITIDAAplicación (AID) no permitida.
-9DENEGADA_OPERACION_NO_PERMITIDATipo de lectura no reconocido.
-10DENEGADA_9F27Tipo de transacción 9F27 denegado por la tarjeta.
-11DENEGADA_TARJETA_PRIVADATarjeta privada/no financiera no permitida.
-12DENEGADA_OPERACION_MOVIL_NO_AUTENTICADAPago móvil sin autenticación.
-13DENEGADA_OPERACION_CONTACTLESS_NO_AUTENTICADAAutenticación de operativa contactless no realizada.
-14DENEGADA_OFF_LIMITE_IMPORTE_ACUMULADO_SUPERADOLímite de importe acumulado offline excedido.
-15DENEGADA_OFF_LIMITE_OPERACIONES_ACUMULADAS_SUPERADOLímite de operaciones offline acumuladas superado.
-16DENEGADA_PIN_OFF_EXCEDIDOIntentos de PIN offline excedidos.
-17DENEGADA_BYPASS_PINPIN requerido pero no hay PIN pad disponible.
-18DENEGADA_SDA_FALLIDAValidación SDA (Static Data Authentication) fallida.
-19DENEGADA_DDA_FALLIDA—
-20DENEGADA_APP_CADUCADA—
-21DENEGADA_APP_NO_EFECTIVA—
-22DENEGADA_SERV_NO_PERMITIDO—
-23DENEGADA_VERIF_ERR_TITULAR—
-24DENEGADA_PIN_NO_PINPAD—
-25DENEGADA_FALLBACKFallback no soportado.

Buenas prácticas en gestión de errores

Al procesar errores, considera la categoría para proporcionar la mejor experiencia al usuario:

Errores Técnicos (RepositoryResult.Error): Registra información detallada para depuración. Muestra mensajes genéricos y amigables a los clientes sin exponer detalles técnicos. Ofrece reintento para fallos transitorios como problemas de red.

Denegaciones de Pago (PaymentResult.Denied): Muestra el motivo de la denegación de la respuesta de autorización. Guía a los clientes hacia métodos de pago alternativos. Nunca reintentes automáticamente sin acción del cliente.

Cancelaciones de Usuario (RepositoryResult.Cancelled): Gestiona de forma fluida sin mensajes de error. Permite a los clientes reintentar o elegir otras acciones. Registra las cancelaciones para análisis de negocio.