Ir al contenido

Rendimiento

Códigos de rechazo en pagos: soft decline, hard decline y error técnico

Entiende los soft declines, hard declines y fallos técnicos, y clasifica los rechazos para decidir reintentos, autenticación, rutas y experiencia del cliente.

18 min de lecturaPor Gustavo Sanchez Palencia
Flujo conceptual de un intento de pago que se divide entre recuperación, rechazo definitivo y fallo técnico

Una transacción rechazada no es una categoría única. Para quienes operan pagos a escala, existe una diferencia importante entre un rechazo que puede merecer otro intento, uno que probablemente seguirá siendo negativo mientras nada cambie y un fallo técnico que no debería interpretarse como una decisión del emisor.

Esta distinción afecta a la tasa de aprobación, la experiencia del cliente, los reintentos, el Smart Routing, la prevención del fraude, 3DS, la observabilidad y el coste operativo. Cuando todos los resultados negativos se convierten simplemente en «pago rechazado», el sistema pierde información justo cuando más necesita decidir qué hacer a continuación.

Soft decline, hard decline y error técnico son etiquetas útiles para organizar este problema, pero no constituyen un estándar universal con la misma semántica en todos los adquirentes, emisores y PSP. La arquitectura debe tratar estos conceptos como una clasificación operativa construida a partir de la señal recibida, no como la verdad absoluta de un código aislado.

¿Qué es un rechazo de pago?

Un rechazo es un resultado en el que el intento no se ha aprobado para continuar como pago bajo esas condiciones concretas.

En tarjetas, la decisión final de autorización implica al emisor, pero la señal que llega al comercio puede atravesar la red, el adquirente, el gateway, el PSP y varias capas de normalización antes de aparecer en la aplicación. El código recibido puede ser muy específico, genérico, traducido o incluso sustituido por una categoría más amplia.

Por eso, el primer paso consiste en separar la decisión financiera del fallo técnico. Una respuesta explícita del emisor que indica que la transacción no se ha aprobado contiene información distinta de un timeout entre sistemas.

En el primer caso existe una decisión negativa conocida. En el segundo, puede que solo falte una respuesta suficiente.

Mezclar ambos casos suele generar reintentos peligrosos, métricas deficientes y diagnósticos imprecisos.

¿Qué es un soft decline?

Soft decline es una clasificación para rechazos potencialmente recuperables: la condición que provocó la respuesta negativa puede cambiar o existe una acción adicional que permite un nuevo intento con un contexto diferente.

Esto no significa que todo soft decline deba reintentarse inmediatamente. Tampoco significa que el segundo intento vaya a aprobarse.

Un rechazo puede clasificarse como recuperable cuando, por ejemplo, falta un paso de autenticación, existe una condición temporal del emisor, hay una limitación momentánea o la transacción debe volver a presentarse de una forma prevista por el ecosistema.

El valor de esta clasificación está en permitir que la aplicación responda de otra manera. En lugar de mostrar un error definitivo, puede solicitar una acción al cliente, ofrecer otro método de pago, ejecutar la autenticación cuando proceda o programar otro intento en un contexto controlado.

La palabra más importante en soft decline es potencialmente.

Recuperable no significa «reintenta indefinidamente».

¿Qué es un hard decline?

Hard decline es la clasificación utilizada cuando el rechazo indica una condición que no suele resolverse simplemente repitiendo la misma transacción sin ningún cambio relevante.

Algunos ejemplos conceptuales son una credencial permanentemente inválida, una tarjeta cancelada, una restricción que exige otro medio de pago o determinados rechazos asociados al riesgo y a la política del emisor.

Lo correcto suele ser detener los reintentos automáticos de ese mismo intento y pedir un cambio de contexto. Puede tratarse de otra tarjeta, otro método de pago o una intervención del cliente.

La clasificación exacta varía entre procesadores. Un mismo motivo puede llegar con códigos distintos según el adquirente, la red, el país y el nivel de detalle que exponga el PSP.

Por eso, hard decline debería ser una categoría interna fundamentada en pruebas, no una tabla copiada una vez y tratada como una regla eterna.

¿Un error técnico es un rechazo?

No necesariamente.

Un error de conexión, un timeout, una indisponibilidad, un fallo de formato, una integración rota o un error interno de un proveedor no deberían interpretarse automáticamente como una decisión negativa del emisor.

Esta diferencia es crucial.

Si hubo un rechazo explícito, el sistema sabe que ese intento terminó con un resultado negativo conocido.

Si hubo un timeout después de que la solicitud saliera de tu sistema, puede que la transacción se procesara y se perdiera la respuesta.

En esa situación, repetir inmediatamente el cobro a través de otro PSP puede crear una segunda autorización u otro efecto financiero.

La clasificación técnica debe conservar estados como resultado desconocido, en procesamiento o pendiente de conciliación cuando el sistema todavía no tiene pruebas suficientes para afirmar «ha fallado».

¿Por qué son difíciles de normalizar los códigos de rechazo?

Porque el ecosistema de pagos tiene varias capas y cada una puede representar el problema a su manera.

El emisor puede generar un motivo. La red puede transportar un código. El adquirente puede mapearlo. El PSP puede volver a traducirlo. Tu plataforma puede transformar después todo ello en una taxonomía más estable para el negocio.

En algunos flujos, el comercio recibe un código muy próximo al generado durante el procesamiento. En otros, recibe categorías como «do not honor», «insufficient funds», «authentication required», «invalid card», «suspected fraud» o simplemente «declined».

El objetivo de normalizar no es fingir que todos los códigos son iguales. Es crear una capa que permita responder a las preguntas operativas importantes.

¿Fue un rechazo explícito o un error técnico? ¿Parece recuperable la condición? ¿Hay alguna acción del cliente? ¿Hace falta autenticación? ¿Puede repetirse la transacción con seguridad? ¿Tiene sentido otra ruta? ¿Debemos ofrecer simplemente otro método?

Esta taxonomía es más útil que una lista enorme de códigos repartida por todo el producto.

¿Siempre se puede reintentar un soft decline?

No.

El reintento es una decisión de negocio e infraestructura, no una consecuencia automática de la etiqueta soft.

Un nuevo intento solo tiene sentido si hay motivos para pensar que algo ha cambiado o si el protocolo contempla una acción intermedia.

Si el problema es la falta de autenticación, repetir sin autenticar puede producir el mismo rechazo. Si existe una indisponibilidad temporal, puede tener sentido reintentar tras un intervalo. Si el emisor indica otra forma de presentar la transacción, el reintento debe respetarla.

Reintentar sin criterio aumenta el número de intentos, empeora la experiencia, puede elevar el coste e incluso parecer un comportamiento abusivo a los participantes del ecosistema.

La política de reintentos debe considerar el motivo, el tiempo, el número de intentos anteriores, el contexto de la transacción, el método de pago, el tipo de credencial y las señales del proveedor.

¿Un hard decline debe bloquear al cliente?

Tampoco.

Hard decline describe el intento o la condición asociada a ese medio de pago. No describe necesariamente al cliente como persona.

Bloquear al usuario porque una tarjeta concreta ha recibido un rechazo firme puede ser excesivo y producir un falso positivo.

La aplicación puede limitarse a impedir los reintentos automáticos con la misma credencial y ofrecer otra vía.

En algunas operaciones, un rechazo relacionado con el riesgo puede aportar señales adicionales a la prevención del fraude. Aun así, las decisiones de riesgo deberían combinar varias pruebas, no depender de un único código de autorización aislado.

Separar la identidad del cliente, la credencial de pago y el intento ayuda a evitar que un fallo en una capa contamine toda la relación.

¿Qué dice realmente «do not honor»?

Las respuestas genéricas son uno de los mayores retos operativos.

Un motivo amplio puede indicar que la transacción no se ha aprobado, sin explicar con precisión por qué. En ciertos casos, ni siquiera el PSP tiene más detalles que transmitir.

El error consiste en convertir una respuesta genérica en una explicación específica que la infraestructura desconoce.

Si la respuesta solo informa de un rechazo genérico, la aplicación debería comunicar el resultado de forma útil al cliente sin inventar la causa.

Internamente, el evento puede analizarse junto con el emisor, el BIN, el método, 3DS, el adquirente, el país, el importe, el historial y otras dimensiones. Pero el análisis estadístico no debe presentarse como el motivo individual de esa transacción si no existen pruebas directas.

¿Qué relación hay entre 3DS y soft decline?

La autenticación y la autorización son etapas diferentes, pero pueden influirse mutuamente.

En determinados escenarios, una respuesta de autorización puede indicar que hace falta autenticación adicional. Esto cambia el siguiente paso: en lugar de repetir el cobro, la aplicación debe ejecutar o completar el flujo de autenticación adecuado y después continuar el procesamiento conforme al contrato del proveedor.

Este es un ejemplo de por qué «rechazado» no basta como estado de producto.

La misma pantalla de error no debería representar un rechazo definitivo, una autenticación pendiente y un timeout técnico.

Cuando se separan los estados, el checkout puede orientar al usuario con mucha más precisión.

¿Cómo afectan los códigos de rechazo a la tasa de aprobación?

La tasa de aprobación por sí sola muestra el resultado agregado. Los motivos de rechazo ayudan a explicar qué hay detrás.

Dos operaciones pueden tener exactamente la misma tasa de aprobación y problemas completamente distintos.

Una puede concentrar rechazos por fondos insuficientes. Otra puede sufrir fallos técnicos de integración. Una tercera puede perder conversión por una autenticación mal orquestada. Una cuarta puede estar dirigiendo un perfil de transacciones a un adquirente con peor rendimiento en ese contexto.

Sin segmentación por motivo, cualquier iniciativa de optimización se convierte en ensayo y error.

La primera ventaja de una taxonomía de rechazos no es aumentar automáticamente la aprobación. Es hacer observable el problema.

Después, el equipo puede decidir dónde actuar.

¿Cuándo puede ayudar el Smart Routing?

El enrutamiento puede ayudar cuando la causa del fallo está relacionada con la ruta y un nuevo intento es seguro y está permitido.

No debe utilizarse como una máquina de insistencia contra decisiones explícitas del emisor.

Si una autorización ha recibido un rechazo firme, enviar el mismo cobro por varios adquirentes sin justificación no convierte una decisión negativa en una estrategia inteligente.

En cambio, los fallos de conectividad, la indisponibilidad de un proveedor concreto o determinados resultados técnicos pueden permitir el fallback a otra ruta, siempre que el sistema controle la idempotencia y el estado del intento anterior.

La regla central es sencilla: el enrutamiento debe entender el motivo del fallo antes de decidir la siguiente vía.

¿Qué cambia en los pagos recurrentes?

La recurrencia añade el tiempo a la ecuación.

Un intento de cobro de una suscripción puede fallar hoy y aprobarse unos días después porque ha cambiado la situación financiera del cliente. Esto hace relevantes la gestión de cobros fallidos y los reintentos programados.

Pero, de nuevo, no todo rechazo merece otro intento.

Una estrategia madura separa los motivos recuperables, los que requieren actualizar la credencial y los fallos técnicos. También considera cuántas veces se ha intentado, con qué intervalo y qué coste tiene seguir insistiendo.

El objetivo no es maximizar el número de reintentos. Es recuperar ingresos cuando hay una probabilidad razonable de éxito sin empeorar la experiencia ni el riesgo.

¿Cómo modelar internamente los motivos de rechazo?

Una estrategia útil consiste en guardar la señal original recibida del proveedor y, al mismo tiempo, mapearla a una categoría interna estable.

La señal original facilita el soporte y la investigación. La categoría normalizada alimenta el producto, las métricas y las automatizaciones.

La clasificación puede distinguir, como mínimo, el resultado del emisor, el error técnico, la autenticación necesaria, la credencial inválida, la condición financiera temporal, la sospecha de riesgo y el motivo desconocido.

No hace falta convertir cada variación externa en un nuevo estado de negocio.

El modelo interno debe responder a las acciones que la plataforma necesita ejecutar.

Si dos códigos distintos conducen exactamente al mismo comportamiento operativo, pueden compartir una categoría. Si un mismo código exige un tratamiento diferente según el contexto, la normalización debe tenerlo en cuenta.

¿Por qué conservar el código original?

Porque, por definición, la normalización pierde detalles.

Guardar solo la categoría interna puede bastar para el checkout, pero resultar insuficiente para depurar, analizar la adquirencia o hablar con un PSP.

Lo ideal es conservar el código y el mensaje originales en una capa operativa adecuada, junto con la clasificación normalizada, los identificadores de intento, la ruta y las marcas de tiempo.

Esto no significa mostrar directamente los mensajes técnicos al consumidor.

La experiencia del cliente debe recibir información clara y útil. La operación necesita conservar suficientes detalles técnicos para investigar.

Son objetivos diferentes.

¿Cómo evitar los reintentos duplicados?

El sistema debe combinar la clasificación de errores, la idempotencia y una máquina de estados.

Una regla de reintentos sin idempotencia puede ejecutar dos veces la misma operación. Una clave de idempotencia sin conocimiento del estado puede impedir la duplicidad, pero seguir repitiendo un intento inútil. Una máquina de estados sin clasificar el motivo puede bloquear o permitir operaciones en el momento equivocado.

Los tres mecanismos se complementan.

Primero, averigua qué ha ocurrido. Después, determina si una nueva acción es válida. Por último, garantiza que esa acción no se ejecute más de una vez por accidente.

Esta secuencia es más segura que configurar simplemente «tres intentos con espera exponencial» para cualquier error.

¿Qué debe ver el cliente?

El cliente no necesita conocer la taxonomía interna.

Necesita saber qué puede hacer.

Si tiene sentido intentarlo de nuevo más tarde, el mensaje puede indicarlo. Si hace falta otro método, la interfaz debe facilitar el cambio. Si hay autenticación adicional, el flujo debe llevar al paso correcto. Si el resultado sigue confirmándose, el sistema no debería declarar prematuramente un fallo definitivo.

Un buen mensaje de pago traduce el estado operativo en la siguiente acción, sin inventar motivos sensibles o técnicos.

Esto reduce tanto el abandono como las consultas al soporte.

¿Cómo observar los rechazos en producción?

Mirar únicamente el número total de rechazos es insuficiente.

Resulta más útil seguir su distribución por categoría normalizada, adquirente, PSP, emisor cuando esté disponible, BIN, país, método, 3DS, tipo de credencial, importe, hora, versión de integración y perfil de transacción.

También es importante separar los rechazos de autorización de los errores técnicos.

Si una indisponibilidad del PSP entra en el mismo denominador que los rechazos del emisor, el equipo puede interpretar un incidente de infraestructura como un empeoramiento del riesgo o de la calidad de la base de clientes.

Una buena observabilidad evita este tipo de diagnóstico falso.

¿Cuándo merece un rechazo una investigación inmediata?

Los cambios bruscos de patrón importan más que un código aislado.

Si una categoría aumenta de repente en un PSP, país, método o versión de integración concretos, puede haber un incidente, una regla nueva, un problema de datos, un cambio en el tráfico o una degradación externa.

Si solo un cliente ha recibido un rechazo conocido, probablemente exista un flujo normal para tratarlo.

La operación de pagos debe diferenciar una excepción individual de una anomalía sistémica.

Esa diferencia permite automatizar las alertas sin convertir cada pago rechazado en un incidente.

¿Cuál es la diferencia entre soft decline, hard decline y error técnico?

Soft decline es un rechazo potencialmente recuperable, siempre que cambie la condición o se realice una acción adecuada antes del nuevo intento.

Hard decline es un rechazo que no debería generar una repetición automática de la misma transacción sin un cambio relevante de contexto.

Un error técnico es un fallo de procesamiento o comunicación que puede no representar una decisión del emisor y, en algunos casos, dejar temporalmente desconocido el resultado financiero.

La terminología exacta varía entre proveedores, pero esta separación operativa ayuda a decidir los reintentos, la autenticación, el fallback, el cambio de método y la investigación.

Los códigos de rechazo forman parte de la infraestructura de decisión

Un código de rechazo no debería terminar su vida en una columna de logs.

Es una señal para que el sistema decida el siguiente paso.

Cuando la plataforma conserva la respuesta original, normaliza el significado, entiende el estado del intento y controla los reintentos, el rechazo deja de ser solo un mensaje de error.

Pasa a orientar el checkout, el Smart Routing, la recurrencia, la prevención del fraude, la observabilidad y el soporte.

Este es el punto en el que la tasa de aprobación deja de ser una métrica abstracta y empieza a descomponerse en causas operativas sobre las que realmente se puede actuar.