Un error de Webpay en tu checkout es una venta detenida en la puerta. Esta guía lista todos los códigos oficiales publicados por Transbank, con lo que necesitas para actuar: qué significa cada uno, de quién es la responsabilidad y qué hacer a continuación. Todo sale de las fuentes oficiales de Transbank Developers y el Centro de Ayuda de Transbank.
Antes de leer cualquier código, la regla de oro: una transacción solo está aprobada cuando response_code es 0 y status es AUTHORIZED. Todo código distinto de 0 es un rechazo o un fallo, y tu sistema debe tratarlo como venta no realizada. Si recién estás integrando, parte por la guía para integrar Webpay en tu sitio.
Los códigos de nivel 1 son los que toda integración de Webpay recibe por defecto. Son cinco, todos negativos, y dan un diagnóstico grueso: error de datos, fallo de procesamiento, error de transacción, rechazo del emisor o riesgo de fraude. Sirven para saber si el problema es del cliente, del banco o tuyo.
| Código | Significado oficial | Responsable probable | Qué hacer |
|---|---|---|---|
| -1 | Rechazo · posible error en el ingreso de datos de la transacción | Datos del cliente | Pedir al cliente que revise número, fecha y código de su tarjeta y reintente |
| -2 | Fallo al procesar (parámetros de tarjeta o cuenta) | Datos del cliente o su banco | Reintentar; si persiste, el cliente debe consultar a su banco |
| -3 | Error en transacción | Proceso de la transacción | Reintentar la compra desde cero |
| -4 | Rechazada por parte del emisor | Banco emisor del cliente | El cliente debe contactar a su banco; tu comercio no puede destrabarlo |
| -5 | Transacción con riesgo de posible fraude | Motor de riesgo | El cliente debe validar con su banco; evita los reintentos automáticos |
Los códigos de nivel 2 existen desde el 1 de marzo de 2021 y entregan el motivo específico del rechazo: tarjeta inválida, vencida o bloqueada, monto excedido, fallo de autenticación y más. Llegan solo si los pides: requieren activación a través del soporte de Transbank. Si tu comercio vive de diagnosticar rechazos, actívalos.
| Código | Significado | Responsable probable | Qué hacer |
|---|---|---|---|
| -1 | Tarjeta inválida | Datos del cliente | Revisar los datos e intentar con otra tarjeta |
| -2 | Error de conexión | Infraestructura | Reintentar en unos minutos |
| -3 | Excede monto máximo | Límites de la tarjeta | El cliente consulta límites con su banco o paga con otra tarjeta |
| -4 | Fecha de expiración inválida | Datos del cliente | Corregir la fecha o usar una tarjeta vigente |
| -5 | Problema de autenticación | Cliente y su banco | Completar la autenticación del banco (claves, app) y reintentar |
| -6 | Rechazo general | Banco emisor | El cliente consulta a su banco |
| -7 | Tarjeta bloqueada | Banco emisor | El cliente desbloquea con su banco |
| -8 | Tarjeta vencida | Datos del cliente | Pagar con una tarjeta vigente |
| -9 | Transacción no soportada | Configuración o producto | Verificar con Transbank qué operaciones tiene habilitadas tu comercio |
| -10 | Problema en la transacción | Proceso de la transacción | Reintentar la compra desde cero |
| -11 | Excede límite de reintentos de rechazo | Reintentos acumulados | Esperar antes de reintentar; evita automatizar reintentos en bucle |
Fuente: Transbank Developers. Vigentes desde el 01-03-2021, con activación vía soporte de Transbank.
Los códigos -97, -98 y -99 son exclusivos de Oneclick y significan lo mismo en tres variantes: la operación superó un límite configurado para tu comercio. El -97 es el monto máximo acumulado diario, el -98 el monto máximo por transacción y el -99 la cantidad de transacciones diarias. La solución oficial es revisar esos límites con el área comercial de Transbank.
| Código | Límite excedido |
|---|---|
| -97 (CONSTRAINT_VIOLATED) | Monto máximo acumulado diario |
| -98 | Monto máximo por transacción |
| -99 | Cantidad de transacciones diarias |
Fuente: Centro de Ayuda de Transbank. Aquí la culpa no es del cliente ni de su banco: es configuración de tu comercio. Si estos códigos te aparecen seguido, tu negocio creció más que sus límites; el trámite es comercial, no técnico.
Si tu integración recibe errores HTTP (400, 401, 404, 405, 406, 415, 422, 500), el problema no es la tarjeta del cliente: es tu integración hablando mal con la API de Transbank. Son errores de desarrollador y se corrigen en tu código o tu configuración, no pidiéndole al cliente que reintente.
| Código HTTP | Significado | Qué revisar en tu integración |
|---|---|---|
| 400 | JSON inválido | El cuerpo de la petición que envía tu sitio |
| 401 | API Key o Secret incorrectos | Tus credenciales y el ambiente (integración vs producción) |
| 404 | Transacción no encontrada | El token o identificador que estás consultando |
| 405 | Método no permitido | El verbo HTTP de la petición |
| 406 | Formato de respuesta | Las cabeceras de aceptación de tu petición |
| 415 | Content-type | La cabecera de tipo de contenido |
| 422 | Validación de datos o lógica de negocio | Los datos enviados y el estado de la transacción |
| 500 | Error inesperado | Reintentar y registrar; si persiste, contactar a Transbank |
Fuente: Centro de Ayuda de Transbank. Un caso frecuente en WooCommerce: errores 401 tras migrar de plugin o de ambiente. Si usas el plugin antiguo, revisa qué hacer con el plugin obsoleto de Webpay en WooCommerce.
Porque el rechazo no espera. Según el Baymard Institute (2025, promedio sobre 50 estudios), entre quienes abandonan el checkout, el 17 % lo hace porque el sitio tuvo errores o se cayó y el 10 % porque su tarjeta fue rechazada. Cada código de esta página es un cliente decidido a pagar que no pudo.
Nuestra postura honesta: buena parte de estos códigos requiere cero contratación. Si el código es -4 o -7, el problema vive en el banco del cliente y ningún proveedor te lo arregla. Contrata ingeniería cuando el patrón se repite sin explicación, cuando recibes errores HTTP de integración o cuando tus pedidos y tus abonos no calzan. Ese diagnóstico es parte de lo que hacemos en pagos en línea.
Esos códigos de tres cifras no aparecen en la documentación pública de Transbank para comercios: lo verificamos el 04-08-2026 contra las dos páginas oficiales (Transbank Developers y el Centro de Ayuda). Los muestra la banca del comprador: la app o página de su banco. Si eres comprador, la respuesta la tiene tu banco. Si eres comercio, tu código es el response_code de esta guía.
Solo cuando response_code es 0 y status es AUTHORIZED, según Transbank Developers. Un pedido marcado como pagado sin verificar ambos campos puede ser un despacho sin cobro.
Regla rápida: los códigos negativos de rechazo apuntan al cliente o a su banco en la mayoría de los casos (-1, -4, -5, -7, -8); los errores HTTP (400 a 500) apuntan a tu integración; y -97, -98, -99 apuntan a los límites configurados de tu comercio con Transbank.
Porque requieren activación a través del soporte de Transbank; están vigentes desde el 1 de marzo de 2021 pero llegan solo si los pides. Sin ellos recibes únicamente el diagnóstico grueso del nivel 1.
Si un código de esta lista se repite en tu checkout y no sabes por qué, cada día de espera son ventas que no entran. Escríbenos con el código que estás viendo y en 30 minutos te decimos si el arreglo es tuyo, del banco o de la integración, y si de verdad necesitas contratar a alguien.
Agendar 30 minutos