# Referencia de códigos de error

Esta página cataloga los códigos de resultado que devuelve el SDK White Label. Úsala para relacionar un código con su causa y decidir cómo reaccionar. Para un recorrido orientado a tareas, consulta [Solución de problemas](https://docs.globalgetnet.com/es/products/in-store-payments/getnet-toolbox?doc=sdk-wl-troubleshooting).

## Esquema de códigos de resultado

Cada resultado incluye un código de resultado. El prefijo identifica la clase de falla.

| Prefijo | Tipo | Significado |
| :--- | :--- | :--- |
| `00` | SUCCESS | Transacción aprobada o pagada. |
| `1-` | POS_ERROR | Error local, del terminal, de lectura de tarjeta o del operador (familia ADQ). |
| `3-` | Criptográfico | Reservado para errores criptográficos. Está definido, pero hoy no se emite. |
| `33-` | HOST_ERROR | Error del servicio de pagos (SEP): un error HTTP o un rechazo del host. |

### Ejemplos

| Código | Significado |
| :--- | :--- |
| `00` | Aprobada. |
| `1-02` | Cancelada por el usuario o el operador (o un `TIMEOUT` / `CANCELED` del kernel). |
| `1-21` | Rechazo offline o error genérico del terminal. |
| `33-<reason>` | Rechazo del host. `<reason>` es el `reason_code` de la respuesta de SEP (HTTP 200, `DENIED`). |
| `33-<httpCode>` | Error HTTP devuelto por SEP, por ejemplo `33-400`, `33-401`, `33-500`. |
| `33-99` | Error genérico del host, sin un código utilizable. |

<Callout type="note">

Los errores del host están migrando del prefijo antiguo `4-xx` a `33-xx`: los dígitos se mantienen (`4-503` pasa a ser `33-503`). Los terminales que aún no se actualizaron pueden seguir devolviendo `4-xxx`. Trata `4-xxx` y `33-xxx` como equivalentes.

</Callout>

## Categorías de causa

Cada no aprobación pertenece a una categoría, que te indica cómo reaccionar. Cada código de host que aparece más abajo indica su categoría.

| Categoría | Significado |
| :--- | :--- |
| Tarjetahabiente / tarjeta | El emisor o la tarjeta rechazó la operación. Pide otra tarjeta o indica al cliente que contacte a su banco. |
| Transitorio — reintentar | Una condición temporal. Reintenta después de una espera corta; si hubo un timeout, consulta primero la transacción. |
| Duplicado / en curso | La transacción puede estar ya concluida o cancelada. Verifica antes de reintentar. |
| Referencia no encontrada | El `paymentId` o la referencia no corresponde a una transacción. Confírmalo junto con el entorno. |
| Configuración de comercio / producto | El comercio, el producto, la marca o el terminal no está habilitado. Contacta a Getnet. |
| Autenticación | El terminal no pudo autenticarse con el gateway. Revisa las credenciales y el entorno. |
| Integración / solicitud | La solicitud estaba mal formada o fue rechazada por la validación. Corrige la integración. |
| Plataforma / sistema | Una falla del lado del servidor. Reintenta una vez; si persiste, trátalo como incidente. |

## Estructura del error del host

Los errores del host (`33-`) se originan en el gateway de SEP. El campo sobre el que ramificas es `error_code`; `reason_code` lleva el motivo del emisor cuando hay un rechazo.

| Campo | Descripción |
| :--- | :--- |
| `message` | Mensaje de error legible. |
| `name` | Tipo de error, por ejemplo `GetnetTransactionError`. |
| `status_code` | Estado HTTP de la respuesta, por ejemplo `400`. |
| `details[].status` | Estado de la transacción, por ejemplo `DENIED`. |
| `details[].error_code` | El código de error sobre el que ramificas, por ejemplo `PAYMENTS-999`. |
| `details[].reason_code` | Motivo del emisor en un rechazo, por ejemplo `503`. |

## Errores del host (`33-`) por estado HTTP

### HTTP 400 — `33-400`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `PAYMENTS-012` | Integración / solicitud | El monto informado es mayor o igual que el monto de la transacción. |
| `PAYMENTS-013` | Integración / solicitud | Monto de cuota no válido. |
| `PAYMENTS-015` | Tarjetahabiente / tarjeta | Contacta al emisor. |
| `PAYMENTS-016` | Integración / solicitud | NSU no válido. |
| `PAYMENTS-019` | Tarjetahabiente / tarjeta | Fecha de emisión de la tarjeta no válida. |
| `PAYMENTS-020` | Tarjetahabiente / tarjeta | Fecha de vencimiento no válida. |
| `PAYMENTS-024` | Transitorio — reintentar | Transacción revertida. |
| `PAYMENTS-025` | Tarjetahabiente / tarjeta | Autenticación no válida. |
| `PAYMENTS-026` | Tarjetahabiente / tarjeta | Autorización no válida. |
| `PAYMENTS-029` | Integración / solicitud | Preautorización no válida. |
| `PAYMENTS-044` | Integración / solicitud | Error de formato. |
| `PAYMENTS-050` | Tarjetahabiente / tarjeta | Contacta a la institución. |
| `PAYMENTS-051` | Tarjetahabiente / tarjeta | Rechazada por una regla configurada. |
| `PAYMENTS-054` | Duplicado / en curso | Confirmación pendiente. |
| `PAYMENTS-055` | Transitorio — reintentar | Transacción cancelada. |
| `PAYMENTS-056` | Tarjetahabiente / tarjeta | Transacción no permitida en este ciclo. |
| `PAYMENTS-058` | Transitorio — reintentar | Revierte la transacción. |
| `PAYMENTS-060` | Integración / solicitud | Se requiere tarjeta para la transacción. |
| `PAYMENTS-061` | Tarjetahabiente / tarjeta | Rechazo genérico. |
| `PAYMENTS-066` | Configuración de comercio / producto | Medio de pago no válido. |
| `PAYMENTS-068` | Tarjetahabiente / tarjeta | Dígito de la tarjeta no válido. |
| `PAYMENTS-069` | Duplicado / en curso | Transacción repetida. |
| `PAYMENTS-070` | Tarjetahabiente / tarjeta | El número de tarjeta no coincide. |
| `PAYMENTS-072` | Integración / solicitud | La transacción no se puede cancelar. |
| `PAYMENTS-073` | Duplicado / en curso | Transacción ya cancelada. |
| `PAYMENTS-078` | Integración / solicitud | Datos no válidos en la cancelación. |
| `PAYMENTS-079` | Integración / solicitud | Monto de cancelación no válido. |
| `PAYMENTS-080` | Tarjetahabiente / tarjeta | Tarjeta no válida. |
| `PAYMENTS-081` | Integración / solicitud | Fuera de la fecha permitida. |
| `PAYMENTS-082` | Integración / solicitud | Cancelación no válida. |
| `PAYMENTS-083` | Tarjetahabiente / tarjeta | Usa la función débito. |
| `PAYMENTS-084` | Tarjetahabiente / tarjeta | Usa la función crédito. |
| `PAYMENTS-085` | Duplicado / en curso | Transacción ya realizada. |
| `PAYMENTS-090` | Tarjetahabiente / tarjeta | Transacción no autorizada por la tarjeta. |
| `PAYMENTS-091` | Integración / solicitud | Fuera del período permitido. |
| `PAYMENTS-093` | Duplicado / en curso | Autorización ya en procesamiento. |
| `PAYMENTS-094` | Transitorio — reintentar | Autorización a la espera de la confirmación del recibo. |
| `PAYMENTS-098` | Configuración de comercio / producto | Cliente no registrado. |
| `PAYMENTS-117` | Tarjetahabiente / tarjeta | Pide al tarjetahabiente que llame al emisor. |
| `PAYMENTS-118` | Configuración de comercio / producto | Tarjeta no válida o producto no habilitado. |
| `PAYMENTS-999` | Transitorio — reintentar | Transacción no procesada. |
| `GENERIC-400` | Tarjetahabiente / tarjeta | Tarjeta de crédito no válida. |
| `GENERIC-400` | Integración / solicitud | Error de validación. |
| `GENERIC-400` | Integración / solicitud | Validación de encabezado. |
| `GENERIC-400` | Integración / solicitud | Error al solicitar la cancelación. |
| `GENERIC-400` | Plataforma / sistema | Error del servicio. |
| `GENERIC-400` | Integración / solicitud | Parámetro no válido. |
| `GENERIC-400` | Integración / solicitud | Argumento no válido. |
| `GENERIC-400` | Configuración de comercio / producto | Código de marca de tarjeta no habilitado. |
| `GENERIC-400` | Integración / solicitud | Error de validación de la consulta. |

### HTTP 401 — `33-401`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `GENERIC-401` | Autenticación | No autorizado. |

### HTTP 402 — `33-402`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `PAYMENTS-001` | Integración / solicitud | Monto no informado. |
| `PAYMENTS-002` | Tarjetahabiente / tarjeta | Tarjeta no válida. |
| `PAYMENTS-003` | Tarjetahabiente / tarjeta | Tarjeta vencida. |
| `PAYMENTS-004` | Integración / solicitud | Parámetro no válido. |
| `PAYMENTS-005` | Tarjetahabiente / tarjeta | Código de seguridad no válido. |
| `PAYMENTS-006` | Configuración de comercio / producto | Marca no válida. |
| `PAYMENTS-007` | Configuración de comercio / producto | Operación no permitida. |
| `PAYMENTS-008` | Integración / solicitud | Datos no válidos. |
| `PAYMENTS-009` | Integración / solicitud | Monto mínimo de cuota no válido. |
| `PAYMENTS-010` | Integración / solicitud | Cantidad de cuotas no válida. |
| `PAYMENTS-011` | Integración / solicitud | La cantidad de cuotas supera el límite. |
| `PAYMENTS-014` | Configuración de comercio / producto | Pago en cuotas no permitido. |
| `PAYMENTS-022` | Configuración de comercio / producto | Código de moneda no válido. |
| `PAYMENTS-023` | Configuración de comercio / producto | La marca no pertenece a la red. |
| `PAYMENTS-030` | Tarjetahabiente / tarjeta | Error en la autenticación del usuario. |
| `PAYMENTS-032` | Tarjetahabiente / tarjeta | Denegada por el emisor. |
| `PAYMENTS-033` | Configuración de comercio / producto | Establecimiento no válido. |
| `PAYMENTS-034` | Configuración de comercio / producto | Solicitud no autorizada. |
| `PAYMENTS-036` | Integración / solicitud | Identificador de solicitud no válido. |
| `PAYMENTS-037` | Duplicado / en curso | Transacción en curso. |
| `PAYMENTS-038` | Integración / solicitud | Transacción no válida. |
| `PAYMENTS-039` | Integración / solicitud | Monto de la transacción no válido. |
| `PAYMENTS-041` | Transitorio — reintentar | Vuelve a realizar la transacción. |
| `PAYMENTS-045` | Tarjetahabiente / tarjeta | Tarjeta restringida. |
| `PAYMENTS-046` | Tarjetahabiente / tarjeta | Tarjeta perdida. |
| `PAYMENTS-047` | Tarjetahabiente / tarjeta | Tarjeta robada. |
| `PAYMENTS-048` | Tarjetahabiente / tarjeta | Tarjeta no registrada. |
| `PAYMENTS-049` | Tarjetahabiente / tarjeta | Transacción no permitida para este cliente. |
| `PAYMENTS-052` | Duplicado / en curso | Transacción duplicada. |
| `PAYMENTS-053` | Tarjetahabiente / tarjeta | Tarjeta bloqueada. |
| `PAYMENTS-067` | Tarjetahabiente / tarjeta | Monto límite excedido. |
| `PAYMENTS-077` | Tarjetahabiente / tarjeta | Número de tarjeta no válido. |
| `PAYMENTS-096` | Tarjetahabiente / tarjeta | Crédito excedido. |
| `PAYMENTS-101` | Plataforma / sistema | Autorizador fuera de línea. |
| `PAYMENTS-102` | Tarjetahabiente / tarjeta | Cliente sin límite de crédito. |
| `PAYMENTS-103` | Tarjetahabiente / tarjeta | Transacción no autorizada por la red autorizadora. |
| `PAYMENTS-104` | Integración / solicitud | Error de integración. |
| `PAYMENTS-105` | Tarjetahabiente / tarjeta | Transacción no autorizada. |
| `PAYMENTS-109` | Duplicado / en curso | Hay una transacción por confirmar. |
| `PAYMENTS-112` | Referencia no encontrada | No hay un documento correspondiente para cancelar. |
| `PAYMENTS-113` | Tarjetahabiente / tarjeta | Saldo insuficiente. |
| `PAYMENTS-114` | Tarjetahabiente / tarjeta | Supera el límite de monto de aprobación. |
| `PAYMENTS-115` | Tarjetahabiente / tarjeta | Supera el límite de frecuencia de retiros. |
| `PAYMENTS-116` | Tarjetahabiente / tarjeta | Autorización rechazada. |
| `SERVICE-402` | Plataforma / sistema | Error al capturar la transacción de crédito. |
| `SERVICE-402` | Plataforma / sistema | Error al ajustar la transacción de preautorización de crédito. |
| `GENERIC-402` | Plataforma / sistema | Error al crear la transacción diferida. |
| `GENERIC-402` | Integración / solicitud | Pago diferido vencido. |
| `GENERIC-402` | Tarjetahabiente / tarjeta | Rechazada por el análisis antifraude. |
| `GENERIC-402` | Integración / solicitud | Documento no válido. |
| `GENERIC-402` | Plataforma / sistema | Error al cancelar la transacción de crédito. |
| `GENERIC-402` | Integración / solicitud | Error al validar las reglas de negocio. |

### HTTP 403 — `33-403`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `GENERIC-403` | Configuración de comercio / producto | Medio de pago no permitido. |
| `GENERIC-403` | Configuración de comercio / producto | Tipo de marca de tarjeta no permitido. |
| `GENERIC-403` | Configuración de comercio / producto | Servicio no habilitado. |
| `GENERIC-403` | Autenticación | Token no válido o ya usado. |
| `GENERIC-403` | Autenticación | Error de no autorizado. |
| `GENERIC-403` | Configuración de comercio / producto | Producto Pix no habilitado. |

### HTTP 404 — `33-404`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `PAYMENTS-043` | Referencia no encontrada | Registro no encontrado. |
| `PAYMENTS-057` | Referencia no encontrada | La transacción no existe. |
| `PAYMENTS-076` | Referencia no encontrada | Transacción no disponible. |
| `PAYMENTS-095` | Referencia no encontrada | Autorización no encontrada. |
| `GENERIC-404` | Referencia no encontrada | Error al crear la transacción diferida. |
| `GENERIC-404` | Referencia no encontrada | Transacción no encontrada. |
| `GENERIC-404` | Referencia no encontrada | Registro no encontrado. |

### HTTP 409 — `33-409`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `GENERIC-409` | Integración / solicitud | La solicitud no se pudo procesar por parámetros en conflicto. |

### HTTP 412 — `33-412`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `GENERIC-412` | Integración / solicitud | Parámetro no encontrado. |
| `GENERIC-412` | Integración / solicitud | Parámetro no definido. |

### HTTP 422 — `33-422`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `GENERIC-422` | Integración / solicitud | Entidad no procesable. |

### HTTP 500 — `33-500`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `PAYMENTS-042` | Plataforma / sistema | Respuesta no válida. |
| `PAYMENTS-059` | Transitorio — reintentar | Problema de red local. |
| `PAYMENTS-062` | Plataforma / sistema | Institución temporalmente fuera de operación. |
| `PAYMENTS-063` | Plataforma / sistema | Falla del sistema. |
| `PAYMENTS-064` | Plataforma / sistema | Error de base de datos. |
| `PAYMENTS-071` | Plataforma / sistema | Autorizador bloqueado temporalmente. |
| `PAYMENTS-086` | Plataforma / sistema | Error de transacción. |
| `PAYMENTS-099` | Plataforma / sistema | Autorizador no inicializado. |
| `PAYMENTS-100` | Plataforma / sistema | Canal desconectado. |
| `PAYMENTS-107` | Transitorio — reintentar | Error de comunicación. |
| `PAYMENTS-500` | Plataforma / sistema | Error interno del servidor. |
| `GENERIC-500` | Plataforma / sistema | El servidor encontró un error inesperado. |

### HTTP 501 — `33-501`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `GENERIC-501` | Plataforma / sistema | Respuesta no válida del servidor upstream. |

### HTTP 503 — `33-503`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `PAYMENTS-021` | Transitorio — reintentar | Sistema del emisor no disponible: vuelve a intentar. |
| `GENERIC-503` | Transitorio — reintentar | El servidor no puede atender la solicitud en este momento: intenta más tarde. |

### HTTP 504 — `33-504`

| `error_code` | Categoría | Descripción |
| :--- | :--- | :--- |
| `PAYMENTS-031` | Transitorio — reintentar | Tiempo excedido (timeout). |
| `PAYMENTS-089` | Transitorio — reintentar | Timeout interno. |
| `GENERIC-504` | Transitorio — reintentar | Timeout de conexión. |

## Errores de tarjeta / EMV (`1-`)

Origen: el kernel EMV y el hardware del terminal. La columna `Tipo de lectura` agrupa los códigos según cómo se presentó la tarjeta; `Reintento` marca los códigos que el SDK puede reintentar y `Fallback` indica el método de lectura al que recurrir. Los códigos marcados como **Interno** no se muestran al tarjetahabiente y en general requieren soporte de Getnet.

| Constante | Código de resultado | Tipo de lectura | Reintento | Fallback | Descripción |
| :--- | :--- | :--- | :---: | :--- | :--- |
| `CTLSFALLBACK` | `1-53` | Contactless (NFC) | Sí | Contactless | No se pudo leer por contactless. Inserta el chip o pasa la banda. Fallback normal. |
| `ERRCTLSS` | `1-33` (banda `1-08`) | Contactless (NFC) | Sí | — | Error al leer por contactless. Prueba el chip o la banda. |
| `CTLSSPROBLEMS` | `1-33` (banda `1-08`) | Contactless (NFC) | Sí | Contactless | Problema en la lectura contactless. Vuelve a intentar o inserta la tarjeta. |
| `CTLSSMULTIPLE` | `1-21` | Contactless (NFC) | — | — | Se detectaron varias tarjetas. Presenta una sola tarjeta al lector. |
| `CTLSSAPPNAV` | `1-50` | Contactless (NFC) | Sí | — | La tarjeta no admite contactless. Inserta el chip. |
| `CTLSSAPPNAUT` | `1-50` | Contactless (NFC) | Sí | — | Contactless no autorizado para esta tarjeta. Inserta el chip. |
| `CTLSSINVALIDAT` | `1-34` | Contactless (NFC) | Sí | Contactless | Tarjeta contactless no válida (vencida o inactiva). Contacta al banco. |
| `CTLSSEXTCVM` | `1-21` | Contactless (NFC) | Sí | — | La tarjeta requiere PIN. Inserta el chip. |
| `CARDBLOCKED` | `1-34` | Tarjeta con chip | — | — | La tarjeta está bloqueada. Contacta al banco. |
| `CARDINV` | `1-21` | Tarjeta con chip | — | — | La tarjeta no es válida. Prueba otra tarjeta. |
| `CARDINVALIDAT` | `1-34` | Tarjeta con chip | Sí | Chip | Tarjeta vencida o aún no activa. Contacta al banco. |
| `CARDNOTEFFECT` | `1-21` | Tarjeta con chip | — | — | La tarjeta aún no es válida. Contacta al banco. |
| `CARDINVDATA` | `1-21` | Tarjeta con chip | — | — | No se pudieron leer los datos del chip. Vuelve a intentar o usa otro método. |
| `CARDAPPNAV` | `1-50` | Tarjeta con chip | Sí | — | Tarjeta no compatible con esta terminal. Prueba otra tarjeta. |
| `CARDAPPNAUT` | `1-21` | Tarjeta con chip | — | — | La tarjeta no autorizó la transacción. Contacta al banco. |
| `CARDPROBLEMS` | `1-21` | Tarjeta con chip | Sí | Chip | Problema al leer el chip. Limpia la tarjeta y vuelve a intentar. |
| `DUMBCARD` | `1-36` | Tarjeta con chip | Sí | Chip | La tarjeta no tiene chip. Pasa la banda magnética. |
| `ERRFALBACK` | `1-36` | Fallback | Sí | Chip | No se pudo leer el chip. Pasa la banda magnética. |
| `NOCARD` | `1-36` | Lectura | Sí | Contactless | No se detectó ninguna tarjeta. Acerca, inserta o pasa la tarjeta. |
| `TIMEOUT` | `1-02` | Lectura | — | — | Se agotó el tiempo de espera. Vuelve a intentar. Se trata como una cancelación. |
| `CANCELED` | `1-02` | Operación | — | — | El operador o el cliente canceló la transacción. |
| `ERRPIN` | `1-21` | PIN | — | — | Error al ingresar el PIN. Verifica y vuelve a intentar. |
| `NOBALANCE` | `1-21` | Autorización | — | — | Saldo insuficiente. Prueba otra tarjeta. |
| `LIMITEXC` | `1-21` | Autorización | — | — | El monto supera el límite de la tarjeta. Contacta al banco. |
| `LOCKED` | `1-21` | Terminal | — | — | El terminal está bloqueado. Registra el número de serie y contacta a Getnet. |
| `TABLE_ERROR` | `1-21` | Interno | — | — | Error en las tablas de configuración EMV (AID/terminal) cargadas en el kernel. |
| `NO_MATCH` | `1-21` | Interno | Sí | — | Ningún AID de la tarjeta coincide con los AID configurados en el terminal. |
| `INVPARM` | `1-21` | Interno | — | — | Parámetro no válido enviado al kernel EMV (error de programación). |
| `EXECERR` | `1-21` | Interno | — | — | Error interno de ejecución en el kernel EMV. |
| `TABERR` | `1-21` | Interno | — | — | Error al acceder a una tabla interna de EMV. |
| `UNKNOWNSTAT` | `1-21` | Interno | — | — | El kernel devolvió un estado desconocido. |
| `RSPERR` | `1-21` | Interno | — | — | Error en la respuesta recibida del host o del autorizador. |
| `COMMTOUT` | `1-21` | Interno | — | — | Timeout de comunicación con el host. Consulta la transacción antes de reintentar un cobro. |
| `INTERR` | `1-21` | Interno | Sí | — | Error interno del kernel. Se emite en cada `onPanic` y en el `onError(INTERR)` del kernel. |
| `MCDATAERR` | `1-33` (banda `1-08`) | Interno | Sí | — | Error en los datos leídos de la banda magnética. |
| `PINBUSY` | `1-21` | Interno | — | — | El módulo de PIN está ocupado procesando otra solicitud. |
| `ERRCARD` | `1-36` | Interno | Sí | Chip | Error genérico de tarjeta sin clasificación específica. |
| `CARDERRSTRUCT` | `1-21` | Interno | Sí | Chip | Error en la estructura del chip (TLV mal formado). |

## Errores de warm-up

El SDK informa estos errores antes de una venta, a través de `setOnWarmUpStatus`.

| Código | Constante | Categoría | Qué significa | Acción |
| :--- | :--- | :--- | :--- | :--- |
| `-1` | `ERROR_NO_CONNECTION` | Transitorio — reintentar | Sin conexión de red. | Revisa el Wi-Fi o los datos móviles y reintenta en la pantalla de warm-up. |
| `-2` | `ERROR_TIMEOUT` | Transitorio — reintentar | Timeout de red durante el warm-up. | Revisa la conexión y reintenta. Si persiste en varios terminales, escala el caso. |
| `-3` | `ERROR_SSL` | Plataforma / sistema | Falla en el handshake SSL/TLS. | Revisa la fecha y la hora del dispositivo; si son correctas, contacta a Getnet. |
| `-4` | `ERROR_CONNECT` | Transitorio — reintentar | No se pudo conectar con el host. | Revisa la conexión y el entorno; reintenta. |
| `-5` | `ERROR_SOCKET` | Transitorio — reintentar | Error de socket durante la transferencia. | Reintenta; si persiste, escala el caso (conexión inestable). |
| `400` | `HTTP_BAD_REQUEST` | Integración / solicitud | La solicitud de warm-up o de configuración fue rechazada por estar mal formada. | Contacta a Getnet: credenciales o configuración de `terminalCode`. |
| `401` | `HTTP_UNAUTHORIZED` | Autenticación | `client_id` / `client_secret` no válidos (falló OAuth2). | Contacta a Getnet: credenciales o entorno incorrectos. |
| `404` | `HTTP_NOT_FOUND` | Referencia no encontrada | No se encontró el terminal o el recurso de configuración. | Registra el código del terminal y contacta a Getnet: el terminal puede no estar registrado. |
| `422` | `HTTP_UNPROCESSABLE` | Integración / solicitud | La solicitud de configuración fue rechazada semánticamente. | Contacta a Getnet: valores de configuración del sub-merchant o del terminal. |

## Entornos

| Entorno | Build | URL base |
| :--- | :--- | :--- |
| Preproducción / Desarrollo | `debug` | `https://api.pre.globalgetnet.com/` |
| Homologación (HML) | `hml` | `https://api.sbx.globalgetnet.com/` |
| Producción | `release` | `https://api.globalgetnet.com/` |

## Mapeo de medios de pago

Cómo se mapea cada medio de pago desde la configuración en el SDK hasta el valor enviado a SEP y el tipo de aplicación.

| Medio | Configuración en el SDK | Valor en SEP | Tipo de app |
| :--- | :--- | :--- | :--- |
| Crédito | `BrSaleSetup.Credit` / `IBrSaleMethod.CreditCard` | `DIRECT_CREDIT` | `01` |
| Débito | `BrSaleSetup.Debit` / `IBrSaleMethod.DebitCard` | `DIRECT_DEBIT` | `02` |
| Voucher | `BrSaleSetup.Voucher` / `IBrSaleMethod.Voucher` | `DIRECT_VOUCHER` | `12` |
| Pix | `BrSaleSetup.Pix` / `IBrSaleMethod.Pix` | Flujo de QR Code (no el cuerpo de tarjeta) | `30` |

## Servicios que llama el SDK

Tú no llamas a estos servicios directamente: lo hace el SDK. Se listan para explicar de dónde provienen los errores del host (`33-`) y los de warm-up.

| Método | Ruta | Propósito |
| :--- | :--- | :--- |
| POST | `dpm/payments-gwproxy/v2/payments` | Crea un pago (venta / paso único). Es la transacción presencial principal. |
| POST | `dpm/payments-gwproxy/v2/payments/cancel` | Cancela o reembolsa un pago. |
| POST | `dpm/payments-gwproxy/v2/payments/qrcode/pix` | Genera un QR Code de Pix. |
| GET | `dpm/hub-payment-info/v1/payments/info/{payment_id}` | Consulta el estado de una transacción o de un Pix. Úsalo después de un timeout. |
| POST | `authentication/oauth2/access_token` | Token OAuth2 (`client_credentials`), inyectado como Bearer en cada llamada a SEP. |
| POST | `tms/terminal-management-adp/v1/configuration` | Obtiene la configuración del terminal durante el warm-up. |
| PATCH | `tms/terminal-management-adp/v1/configuration/confirmation` | Confirma la configuración del terminal. |

## Recursos relacionados

* [Solución de problemas](https://docs.globalgetnet.com/es/products/in-store-payments/getnet-toolbox?doc=sdk-wl-troubleshooting) — diagnostica una falla y decide qué hacer al respecto.
* [Referencia del resultado de la transacción](/es/getnet-toolbox/sdk-white-label/reference-sdk/transaction-result) — los campos de resultado y los payloads que se devuelven a tu app.
* [Referencia de inicialización](/es/getnet-toolbox/sdk-white-label/reference-sdk/initialization) — los estados de warm-up y cómo recuperarte de `Failure`.