30 de septiembre de 2026
¿Cómo solucionar problemas de compatibilidad con pasarelas de pago en PrestaShop? 🛒💳

Hay pocas escenas tan crueles en una tienda online como esta: el cliente ha elegido el producto, ha aceptado el precio, ha confiado en la marca, ha llegado al último clic… y la pasarela de pago decide comportarse como una puerta automática que se abre hacia la pared. El carrito lleno; la venta, vacía. Todo muy moderno, naturalmente.

Los problemas de compatibilidad con pasarelas de pago en PrestaShop no suelen aparecer con trompetas. Llegan como una humedad detrás del armario: un pedido que no se crea, un pago capturado pero sin confirmación, un botón de PayPal que desaparece, Stripe que devuelve un error indescifrable, Redsys que redirige al usuario a ninguna parte, Mercado Pago que funciona en pruebas pero se desmaya en producción. Y mientras tanto, la tienda parece estar bien. Esa es la parte divertida, si uno tiene un sentido del humor suficientemente resistente.

Esta guía está pensada para propietarios de tiendas, desarrolladores, agencias y responsables técnicos que necesitan diagnosticar y resolver incidencias reales en módulos de pago para PrestaShop. No se trata de agitar incienso sobre el Back Office, sino de seguir un método: versiones, registros, servidor, webhooks, tema, checkout, caché, SSL, monedas, estados de pedido y módulos. Un mapa completo para encontrar el fallo antes de que el fallo encuentre la facturación.

Mapa rápido de la guía 🧭

Por qué fallan las pasarelas de pago en PrestaShop ⚙️

Una pasarela de pago no es simplemente un botón bonito que dice “Pagar”. Es una conversación delicada entre muchos actores: PrestaShop, el módulo de pago, el servidor, el banco adquirente, el navegador del cliente, el certificado SSL, las reglas de seguridad del hosting, la moneda, el país, el tema, el sistema de caché y, por supuesto, las APIs externas que tienen la mala costumbre de evolucionar.

La tienda quiere vender; el sistema quiere validar; el banco quiere reducir fraude; el navegador quiere bloquear contenido inseguro; el cliente quiere terminar rápido. Una pequeña república de intereses contradictorios. Antiguamente se entregaba una moneda sobre un mostrador. Ahora intervienen tokens, firmas HMAC, endpoints, callbacks, redirecciones, SCA, 3D Secure y webhooks. Progreso, lo llaman. Y sí, lo es, aunque a veces tenga la elegancia de una mudanza bajo la lluvia.

En PrestaShop, los problemas de compatibilidad suelen concentrarse en estos frentes:

  • Versión de PrestaShop incompatible con el módulo de pago instalado.
  • Versión de PHP no soportada por la tienda o por el módulo.
  • Dependencias del servidor ausentes o antiguas: cURL, OpenSSL, extensiones PHP, TLS 1.2 o superior.
  • Credenciales mal configuradas: claves de prueba en producción, secretos de webhook incorrectos, terminal bancario equivocado.
  • Errores en webhooks o notificaciones, que impiden que PrestaShop confirme el pedido.
  • Conflictos con el tema o el checkout, especialmente en plantillas muy personalizadas.
  • Módulos de caché, optimización o seguridad que bloquean scripts, redirecciones o endpoints.
  • Problemas de moneda, país, impuestos o transportistas que hacen que la pasarela no se muestre.
  • Reglas del firewall, ModSecurity o WAF que interpretan una notificación legítima como si fuera un vikingo digital entrando por la ventana.

Idea clave: cuando una pasarela de pago no funciona en PrestaShop, rara vez hay un único culpable. El fallo suele vivir en una frontera: entre el módulo y PHP, entre la tienda y el banco, entre el tema y el checkout, entre el servidor y una API externa.

Síntomas comunes y qué significan 🔍

Antes de tocar configuraciones conviene observar. Un buen diagnóstico empieza con la paciencia del relojero: mirar qué pieza no gira, cuándo se detiene y qué ruido hace antes de fallar.

Síntoma Posibles causas Primeras acciones
La pasarela de pago no aparece en el checkout Restricciones por país, moneda, grupo de clientes, transportista, tema incompatible, módulo desactivado o hook no registrado. Revisar configuración del módulo, posiciones en hooks, restricciones en Pago > Métodos de pago y probar con el tema Classic.
El cliente paga, pero el pedido no se crea Webhook no recibido, URL de notificación bloqueada, error en validateOrder, estado de pedido mal asignado. Revisar logs de PrestaShop, logs del módulo y panel de la pasarela. Verificar que la URL de callback sea accesible.
Error 500 al volver de la pasarela Incompatibilidad PHP, excepción en módulo, override conflictivo, permisos, memoria insuficiente. Activar modo depuración en entorno de pruebas y consultar var/logs o logs del servidor.
Pago duplicado o pedido duplicado Webhook procesado más de una vez, módulo no idempotente, reintentos de la pasarela, cliente recargando la página. Actualizar módulo, revisar gestión de transacciones y comprobar si el módulo valida el ID de pago antes de crear pedido.
Redirección en bucle o pantalla en blanco Problemas de sesión, cookies, SSL, caché agresiva, reglas de seguridad o dominio canónico mal configurado. Verificar SSL, dominio principal, configuración de cookies, caché y errores del navegador.
El botón de pago se ve roto o no responde JavaScript bloqueado, conflicto con tema, minificación, módulo de optimización, Content Security Policy. Inspeccionar consola del navegador, desactivar minificación temporalmente y probar sin módulos de optimización.

Una vez, en una tienda de alimentación gourmet, el problema no era Stripe, ni el servidor, ni PrestaShop. Era un módulo de “efectos navideños” que insertaba copos de nieve por JavaScript y rompía el formulario de tarjeta. La Navidad, ese espíritu de paz capaz de tumbar una conversión del 3,8 %. Lo cuento porque en comercio electrónico lo ornamental a veces devora lo esencial.

Método profesional de diagnóstico paso a paso 🧪

La peor manera de solucionar un problema de pagos es cambiar cinco cosas a la vez. Es rápido, sí; también lo es apagar un incendio con gasolina si uno solo mide la velocidad del gesto. El objetivo es aislar variables.

1. Reproducir el problema con precisión

Documenta el fallo como si fueras a entregárselo a alguien que no conoce la tienda:

  • Versión exacta de PrestaShop.
  • Versión del módulo de pago.
  • Versión de PHP y motor del servidor web: Apache, Nginx, LiteSpeed.
  • Pasarela afectada: Stripe, PayPal, Redsys, Paycomet, Adyen, Mercado Pago, etc.
  • País, moneda, idioma, transportista y grupo de cliente usado en la prueba.
  • Dispositivo y navegador.
  • Mensaje de error visible, si existe.
  • Momento exacto del fallo: antes de pagar, durante la redirección, al volver, al confirmar pedido.

Esta información parece básica, pero evita horas de conjeturas. “No funciona” es una queja humana; “falla al recibir el webhook después de un pago autorizado con EUR y transportista X” ya es una pista técnica.

2. Crear una copia de seguridad y un entorno de pruebas

Antes de modificar módulos de pago en PrestaShop, realiza una copia completa de archivos y base de datos. Si es posible, replica la tienda en staging. El entorno de producción no es un laboratorio; es la caja registradora. Confundir ambos lugares es una forma moderna de poesía trágica.

  • Exporta la base de datos.
  • Copia archivos, especialmente /modules, /override, /themes y /app/config o configuraciones equivalentes según versión.
  • Desactiva indexación del entorno de pruebas.
  • Usa credenciales sandbox de la pasarela.
  • No reutilices webhooks de producción en pruebas.

3. Activar depuración solo donde corresponde

En PrestaShop puedes activar el modo debug desde el Back Office, si la tienda lo permite, o mediante configuración de entorno según versión. En PrestaShop 1.7 y 8, muchos registros se encuentran bajo var/logs/, además de los registros visibles en Parámetros avanzados > Registros. También debes revisar el log de PHP, el error log del servidor y el panel de la pasarela.

Precaución: no mantengas el modo debug activo en producción. Puede exponer rutas internas, datos técnicos y mensajes sensibles. La depuración ilumina, pero también desnuda.

4. Revisar los logs como quien lee huellas en barro

Los logs suelen ser menos elegantes que una interfaz gráfica, pero dicen la verdad con una brutalidad admirable. Busca errores como:

  • Fatal error, Uncaught Exception o TypeError.
  • Errores de conexión cURL.
  • Errores SSL: certificado no válido, handshake fallido, TLS incompatible.
  • Errores 403 o 406 causados por ModSecurity.
  • Errores 500 al ejecutar la URL de notificación.
  • Mensajes del módulo relacionados con firma inválida, token caducado o credenciales erróneas.

Conviene cruzar tres relojes: hora del pago en la pasarela, hora del intento en PrestaShop y hora registrada en el servidor. Si no coinciden por zona horaria o desajuste del sistema, el análisis puede parecer un crimen sin cadáver.

Compatibilidad entre PrestaShop, PHP y módulos de pago 🧩

La compatibilidad es el punto donde las buenas intenciones se encuentran con la aritmética. Una tienda puede tener un módulo reciente sobre un PrestaShop antiguo, o un PrestaShop actualizado corriendo sobre un PHP que el módulo no esperaba. Viejo motor, carrocería nueva; o al revés.

PrestaShop 1.7 introdujo cambios importantes frente a 1.6, especialmente en arquitectura y checkout. PrestaShop 8 continúa la transición hacia componentes modernos basados en Symfony, aunque mantiene capas heredadas. Eso significa que muchos módulos conviven con dos mundos: el legado y lo moderno, la carreta y el tren eléctrico compartiendo vía.

Antes de culpar al banco, revisa esta matriz técnica:

Elemento Qué comprobar Por qué importa
Versión de PrestaShop Comprueba si el módulo declara compatibilidad con tu versión exacta. Los hooks, controladores, plantillas y clases internas pueden cambiar entre versiones.
Versión de PHP Consulta la documentación oficial de PrestaShop y del módulo. No asumas que “más nuevo” siempre es “mejor”. PHP 8 introdujo cambios estrictos que pueden romper módulos antiguos con errores de tipos, parámetros nulos o funciones obsoletas.
Extensiones PHP Verifica curl, openssl, json, mbstring, intl, zip y otras requeridas por tu instalación. Muchas APIs de pago dependen de comunicación HTTPS y procesamiento JSON.
Módulo de pago Instala versiones oficiales desde PrestaShop Addons o repositorio del proveedor cuando exista. Los módulos no oficiales o abandonados suelen fallar con cambios de API y requisitos de seguridad.
Tema Prueba temporalmente con el tema Classic o uno estándar compatible. Un checkout personalizado puede ocultar métodos de pago o romper eventos JavaScript.
Overrides Revisa /override y desactiva temporalmente personalizaciones no esenciales. Un override antiguo de carrito, pedido o pago puede interferir con la validación.

Actualizaciones: ni fiebre ni abandono

Actualizar todo sin revisar compatibilidad es imprudente. No actualizar nada durante años también. La virtud está en una disciplina menos glamorosa: leer changelogs, probar en staging, hacer backup, medir y desplegar. Como podar un árbol: cortar demasiado lo mata; no cortar nunca lo vuelve ingobernable.

Cuando actualices un módulo de pasarela de pago en PrestaShop:

  1. Lee los requisitos de versión de PrestaShop y PHP.
  2. Revisa si la actualización cambia el sistema de webhooks o endpoints.
  3. Comprueba si debes regenerar claves API.
  4. Haz pruebas con pagos sandbox.
  5. Verifica estados de pedido y correos transaccionales.
  6. Revisa que no se hayan duplicado métodos de pago antiguos.

SSL, TLS, cURL y certificados: la fontanería invisible 🔐

Una pasarela de pago moderna exige HTTPS correctamente configurado. No basta con que el candado aparezca en el navegador como una medalla decorativa. El certificado debe estar vigente, la cadena intermedia debe ser válida y el servidor debe soportar protocolos seguros, normalmente TLS 1.2 o superior, según los requisitos de cada proveedor.

Problemas habituales:

  • Certificado SSL caducado o instalado de forma incompleta.
  • Contenido mixto: scripts, imágenes o recursos cargados por HTTP dentro de una página HTTPS.
  • cURL desactualizado o compilado con una versión antigua de OpenSSL.
  • Bloqueos de firewall saliente que impiden conectar con la API de la pasarela.
  • Redirecciones mal configuradas entre HTTP, HTTPS, www y sin www.

Para revisar la configuración:

  1. Comprueba el certificado con herramientas como SSL Labs o el panel del hosting.
  2. Verifica que PrestaShop tenga SSL activado en todas las páginas, especialmente checkout y cuenta de cliente.
  3. Revisa la URL de la tienda en Parámetros de la tienda > Tráfico y SEO, o sección equivalente según versión.
  4. Ejecuta una prueba de conexión cURL hacia la API del proveedor desde el servidor, no desde tu ordenador.
  5. Consulta el error log si ves mensajes como SSL certificate problem, handshake failure o Could not resolve host.

Buena práctica: evita redirecciones encadenadas durante el pago. Cada salto adicional es una cuerda más sobre un puente ya cargado.

Webhooks, notificaciones y estados de pedido 📬

Muchos problemas de compatibilidad no ocurren cuando el cliente paga, sino después, en ese momento silencioso en que la pasarela debe avisar a PrestaShop: “el pago se ha autorizado”, “el pago ha sido capturado”, “la operación ha fallado” o “hay una devolución”. Ese aviso suele llamarse webhook, IPN, callback o notificación, dependiendo del proveedor.

Si el webhook falla, la pasarela puede haber cobrado correctamente, pero PrestaShop no crea el pedido o lo deja en estado incorrecto. Es una fractura incómoda: el dinero en un lado, el pedido en otro, como dos náufragos viéndose desde islas cercanas.

Qué revisar en los webhooks

  • URL pública accesible: la pasarela debe poder llegar a la URL de notificación sin autenticación, bloqueo geográfico ni mantenimiento activo.
  • HTTPS válido: algunos proveedores rechazan endpoints con certificados no confiables.
  • Secreto de firma correcto: Stripe, por ejemplo, valida firmas de webhook; si el secreto no coincide, la notificación se rechaza.
  • Respuesta HTTP 200: si PrestaShop devuelve 500, 403 o 404, la pasarela puede reintentar o marcar el evento como fallido.
  • Idempotencia: el módulo debe evitar crear pedidos duplicados cuando recibe la misma notificación más de una vez.
  • Estados de pedido: confirma que “Pago aceptado”, “Pendiente de pago”, “Error de pago” o estados personalizados estén correctamente asignados.

Errores típicos de notificación

Error Interpretación Solución recomendada
Webhook con 404 La URL no existe, el módulo cambió la ruta o hay reglas de reescritura incorrectas. Reinstalar o reconfigurar el webhook según la documentación del módulo. Regenerar URLs amigables si procede.
Webhook con 403 Firewall, ModSecurity, bloqueo por IP, protección anti-bots o mantenimiento. Crear reglas de exclusión para el endpoint legítimo. Consultar al hosting.
Firma inválida Secreto incorrecto, payload modificado o endpoint equivocado. Copiar de nuevo el secreto desde el panel de la pasarela y evitar que plugins intermedios alteren el cuerpo de la petición.
Pedido no encontrado La notificación llega antes de que PrestaShop complete el flujo, o hay referencia de carrito incorrecta. Actualizar módulo, revisar logs y confirmar que no haya caché o redirecciones alterando la sesión.

Tema, checkout y conflictos visuales 🎨

El tema de PrestaShop no es un simple vestido. En checkout, el tema puede tocar formularios, hooks, scripts, botones, validaciones y pasos de compra. Un tema elegante puede ser técnicamente torpe; uno sobrio puede ser fiable como una llave vieja. La belleza y la estabilidad no siempre desayunan juntas.

Las pasarelas de pago se integran normalmente mediante hooks como los relacionados con opciones de pago, confirmación, cabecera o visualización en checkout. Si el tema sobrescribe plantillas críticas o elimina llamadas a hooks, el método puede no aparecer.

Pruebas recomendadas

  1. Activa temporalmente el tema Classic en staging.
  2. Desactiva módulos de checkout en un paso si no son imprescindibles.
  3. Revisa la consola del navegador en busca de errores JavaScript.
  4. Desactiva minificación y combinación de CSS/JS durante la prueba.
  5. Comprueba que el botón de pago no esté oculto por CSS.
  6. Verifica compatibilidad del módulo con checkout estándar y checkout personalizado.

Si con el tema Classic la pasarela funciona, el problema no está en el banco. Está en la capa de presentación o en un módulo que modifica el flujo. Esa diferencia es valiosa: separa el bosque del humo.

Caché, overrides y módulos incompatibles 🧯

La optimización de rendimiento es necesaria, pero en checkout debe manejarse con guantes. La caché que acelera una ficha de producto puede arruinar una sesión de pago. El mismo cuchillo que corta pan puede cortar el cable del datáfono.

Módulos de caché y optimización

Si usas sistemas como caché de página completa, módulos de minificación, CDN, optimizadores JavaScript o herramientas de lazy loading, revisa que excluyan:

  • Carrito.
  • Checkout.
  • Cuenta de cliente.
  • Confirmación de pedido.
  • URLs de notificación de pasarelas.
  • Scripts externos necesarios para botones de pago.

En PrestaShop, el checkout depende de sesión, tokens y datos dinámicos. Cachearlo como si fuera una página estática es invitar al caos con una tarjeta perfumada.

Overrides y personalizaciones

Los overrides pueden modificar clases centrales como carrito, pedido, cliente o validación. También pueden quedarse obsoletos tras una actualización. Revisa especialmente:

  • /override/classes/PaymentModule.php
  • /override/classes/Cart.php
  • /override/classes/order/Order.php
  • /override/controllers/front/OrderController.php
  • Plantillas sobrescritas en el tema relacionadas con checkout y payment options.

Para probar, no borres a ciegas. Desactiva temporalmente overrides en staging, limpia caché y recompila si es necesario. En PrestaShop, después de tocar overrides, conviene borrar caché manualmente cuando el Back Office no basta.

Casos habituales por pasarela de pago 🌍

Cada proveedor tiene su carácter. Algunas pasarelas son meticulosas como notarios; otras, veloces como mensajeros en moto. Todas, sin excepción, castigan la configuración aproximada.

Stripe en PrestaShop

Stripe suele ser robusto, pero exige precisión en claves, webhooks y versiones de API. Problemas frecuentes:

  • Uso de claves de prueba en modo producción o viceversa.
  • Webhook endpoint no configurado o secreto incorrecto.
  • Errores con 3D Secure o Strong Customer Authentication en Europa.
  • JavaScript bloqueado por CSP, minificación o tema.
  • Versión antigua del módulo incompatible con la versión actual de PHP.

Revisa en el panel de Stripe los eventos fallidos. Stripe ofrece un historial muy útil de cada webhook, con código HTTP y respuesta del servidor. Es casi una radiografía; no cura, pero muestra dónde duele.

PayPal en PrestaShop

PayPal combina redirecciones, botones dinámicos, API y validación de cuenta. Sus problemas suelen estar vinculados a:

  • Credenciales API incorrectas.
  • Cuenta PayPal no verificada o con restricciones.
  • Conflictos de JavaScript en botones inteligentes.
  • Monedas no soportadas o configuración regional incorrecta.
  • URLs de retorno y cancelación afectadas por redirecciones.

Si el botón de PayPal no aparece, no mires solo el módulo. Revisa país, moneda, total del carrito, consola del navegador y posibles bloqueadores de scripts.

Redsys en PrestaShop

Redsys, muy usado en España, requiere especial atención a firma, número de comercio, terminal, clave secreta SHA-256, entorno de pruebas y parámetros del banco. Un carácter de más o de menos en la clave secreta puede convertir una integración seria en una tragicomedia administrativa.

Problemas habituales:

  • Clave de firma incorrecta o copiada con espacios.
  • Modo pruebas activado en producción.
  • Terminal o número de comercio equivocado.
  • Tipo de moneda mal configurado.
  • Notificación online no activada en el panel bancario.
  • ModSecurity bloqueando la respuesta POST de Redsys.

Comprueba que la URL de notificación sea accesible y que el banco tenga habilitada la comunicación online. En Redsys, el pago puede estar autorizado y aun así no actualizar el pedido si la notificación no llega bien a PrestaShop.

Mercado Pago en PrestaShop

Mercado Pago es común en Latinoamérica y puede depender mucho de país, moneda, cuenta, credenciales y tipo de integración. Revisa:

  • Credenciales públicas y privadas del entorno correcto.
  • País configurado en la cuenta y moneda de la tienda.
  • URL de notificaciones IPN o webhooks.
  • Compatibilidad del módulo con tu versión de PrestaShop.
  • Restricciones del método de pago seleccionado.

En tiendas multimoneda o multitienda, presta atención doble. Lo que funciona para una tienda puede fallar en otra si el contexto cambia. PrestaShop multitienda es poderoso, sí, pero también tiene esa cualidad de los castillos antiguos: muchas habitaciones, muchas llaves, algún pasillo que nadie recuerda.

Configuraciones que suelen pasar desapercibidas 👀

Restricciones por moneda, país y transportista

En PrestaShop, los métodos de pago pueden estar limitados por moneda, país, grupo de clientes o transportista. Si una pasarela no aparece, no siempre está rota; quizá está obedeciendo una regla olvidada.

Revisa:

  • Pago por moneda: algunos módulos solo admiten EUR, USD u otras monedas específicas.
  • Pago por país: puede estar habilitado para España pero no para México, Chile o Colombia.
  • Pago por grupo de clientes: clientes invitados, minoristas, profesionales o grupos B2B.
  • Pago por transportista: determinados métodos de envío pueden excluir pagos concretos.

Redondeos, impuestos y totales inconsistentes

Algunas pasarelas rechazan pagos si el importe enviado no coincide exactamente con el total esperado. Diferencias de céntimos por redondeo, impuestos incluidos/excluidos o descuentos mal calculados pueden provocar errores difíciles de ver.

Comprueba:

  • Configuración de redondeo en PrestaShop.
  • Reglas de impuestos por país y provincia.
  • Descuentos aplicados antes o después de impuestos.
  • Gastos de envío con IVA.
  • Decimales de la moneda.

Un céntimo parece poca cosa. En una pasarela de pago, puede ser una frontera infranqueable, como una grieta mínima en un cristal templado.

Sesiones, cookies y dominio canónico

Si el usuario entra por www.tienda.com pero vuelve desde la pasarela a tienda.com, o si hay cambios entre HTTP y HTTPS, la sesión puede perderse. Resultado: carrito vacío, pedido no asociado o error al validar.

Verifica:

  • Dominio principal configurado correctamente.
  • Redirección única y consistente a HTTPS.
  • Cookies válidas para el dominio adecuado.
  • No mezclar subdominios durante checkout.
  • No usar reglas agresivas de limpieza de sesión.

Seguridad: resolver sin abrir una grieta 🛡️

Cuando un pago falla, existe la tentación de desactivar protecciones “temporalmente”. Temporalmente, esa palabra que en algunos servidores significa desde 2019. Hay que resolver, sí, pero sin dejar la tienda desnuda frente al tráfico.

Buenas prácticas de seguridad al trabajar con pasarelas de pago en PrestaShop:

  • No compartas claves API por correo sin cifrado ni en tickets públicos.
  • Regenera claves si han sido expuestas.
  • Usa cuentas con permisos mínimos cuando la pasarela lo permita.
  • Verifica que las URLs de webhook no revelen información sensible.
  • No desactives SSL ni validación de certificados para “probar”.
  • Mantén actualizado el módulo oficial de pago.
  • Revisa usuarios administradores y accesos al Back Office.
  • Registra cambios técnicos: quién tocó qué, cuándo y por qué.

También conviene recordar que aceptar pagos implica responsabilidades legales y de seguridad. La mayoría de tiendas no procesa directamente datos completos de tarjeta si usa pasarelas externas, lo cual reduce la carga PCI DSS, pero no elimina la necesidad de una tienda segura, HTTPS correcto y módulos confiables.

Rendimiento y experiencia de pago: la velocidad también cobra 💨

Un checkout lento no siempre rompe la pasarela, pero sí rompe la paciencia. Y la paciencia del comprador online es fina como papel de arroz. Si el módulo tarda en cargar scripts externos, si el servidor responde lento o si el carrito recalcula eternamente transportistas e impuestos, el usuario abandona.

Mejoras recomendadas:

  • Optimiza TTFB del servidor.
  • Evita módulos innecesarios en checkout.
  • Excluye páginas de pago de cachés peligrosas, pero no descuides rendimiento global.
  • Usa CDN con cuidado, sin romper scripts de pasarelas.
  • Controla llamadas externas excesivas.
  • Revisa consultas lentas en base de datos.
  • Mantén limpia la tabla de logs si ha crecido de forma desmesurada.

La paradoja es clara: queremos máxima seguridad, mínima fricción; controles estrictos, experiencia ligera. Un checkout ideal debe ser como un buen camarero: presente cuando hace falta, invisible cuando no.

Procedimiento de emergencia cuando los pagos están caídos 🚨

Si la tienda está en producción y los clientes no pueden pagar, actúa con orden. La prisa desordenada multiplica daños.

  1. Confirma el alcance: ¿fallan todas las pasarelas o solo una?
  2. Activa un método alternativo: transferencia bancaria, pago contra reembolso o una segunda pasarela si está disponible.
  3. Revisa estado del proveedor: Stripe, PayPal, Redsys o Mercado Pago pueden tener incidencias externas.
  4. Consulta logs recientes: busca cambios desde la última venta correcta.
  5. Desactiva temporalmente módulos añadidos recientemente: caché, optimización, seguridad, checkout, remarketing.
  6. Prueba con un carrito mínimo: producto simple, sin cupón, transportista estándar.
  7. No actualices todo en caliente: salvo que identifiques una causa clara y tengas backup.
  8. Comunica internamente: soporte, ventas y administración deben saber si puede haber pagos cobrados sin pedido.

Importante: si hay pagos cobrados sin pedido, no pierdas tiempo discutiendo con la interfaz. Cruza datos entre la pasarela, los carritos de PrestaShop, clientes y logs. Atiende al cliente antes de terminar la autopsia técnica.

Checklist final para solucionar incompatibilidades con pasarelas de pago en PrestaShop ✅

Guarda esta lista. No sustituye el criterio técnico, pero evita olvidar lo obvio, que suele ser el lugar favorito de los problemas.

  • ☑️ Confirmar versión de PrestaShop y compatibilidad declarada del módulo.
  • ☑️ Verificar versión de PHP recomendada por PrestaShop y por la pasarela.
  • ☑️ Actualizar el módulo de pago desde una fuente oficial.
  • ☑️ Revisar credenciales: claves públicas, privadas, sandbox, producción, terminal, comercio.
  • ☑️ Comprobar SSL, TLS, cURL y OpenSSL en el servidor.
  • ☑️ Revisar logs de PrestaShop, servidor, PHP y panel de la pasarela.
  • ☑️ Probar webhooks y confirmar respuestas HTTP 200.
  • ☑️ Revisar firma de notificaciones y secreto de webhook.
  • ☑️ Validar estados de pedido asociados al módulo.
  • ☑️ Comprobar restricciones por país, moneda, grupo de cliente y transportista.
  • ☑️ Probar con tema Classic o tema estándar en staging.
  • ☑️ Desactivar temporalmente módulos de caché, optimización y checkout personalizado.
  • ☑️ Revisar overrides y plantillas modificadas.
  • ☑️ Confirmar que no haya redirecciones extrañas entre HTTP/HTTPS, www/sin www.
  • ☑️ Comprobar consola del navegador y errores JavaScript.
  • ☑️ Realizar prueba con carrito simple, cliente nuevo y moneda principal.
  • ☑️ Documentar cambios y resultados.

Cuándo pedir ayuda especializada 🧑‍💻

Hay un punto en el que seguir probando sin método sale más caro que contratar a alguien que ya ha visto ese incendio antes. Conviene escalar el caso cuando:

  • Hay pagos capturados sin pedidos creados.
  • El error aparece solo en producción y no en pruebas.
  • Existen múltiples módulos modificando checkout.
  • La tienda usa multitienda, multimoneda o reglas fiscales complejas.
  • El módulo no tiene soporte activo.
  • Hay errores 500 sin trazas claras.
  • El hosting bloquea notificaciones y no sabes cómo crear exclusiones seguras.
  • La tienda factura lo suficiente como para que cada hora de caída duela.

Un especialista en PrestaShop no debería limitarse a “reinstalar el módulo”. Debería revisar arquitectura, logs, servidor, flujo de checkout, seguridad y compatibilidad. La diferencia entre parchear y resolver es la misma que entre tapar una gotera con cinta adhesiva y reparar el tejado.

Una forma sensata de mirar el problema

Solucionar problemas de compatibilidad con pasarelas de pago en PrestaShop exige una mezcla curiosa de técnica y paciencia. Hay que leer documentación, mirar logs, sospechar del tema, desconfiar de la caché, respetar el SSL, entender los webhooks y recordar que el cliente no está allí para admirar nuestra arquitectura: está para comprar.

La tienda online vive de una promesa sencilla: elegir, pagar, recibir. Todo lo demás es maquinaria bajo el suelo. Cuando esa maquinaria falla, conviene actuar sin superstición y sin furia. Revisar versiones. Probar en staging. Confirmar credenciales. Seguir el rastro de la notificación. Escuchar al servidor cuando habla en errores secos.

Porque al final, una pasarela compatible no es solo una integración técnica. Es confianza convertida en proceso. Es el instante en que una intención se vuelve pedido. Y en comercio electrónico, ese instante vale demasiado como para dejarlo en manos del azar, de un módulo abandonado o de un copo de nieve navideño que decidió aprender JavaScript. 💳✨

Deja una respuesta