Deja tu email para unirte a la lista de espera de WP Insider

WP Insider

Solicita tu revisión gratuita

LM: Revisión

Solicita tu diagnóstico gratuito

LM: Análisis

Portada » Blog » Problemas WordPress » WooCommerce no procesa pagos: qué revisar

WooCommerce no procesa pagos: qué revisar

Un cliente llega al checkout, introduce su tarjeta y pulsa pagar. La página muestra un error, se queda cargando o devuelve al carrito. Para el cliente, la compra ha fallado. Para tu negocio, puede significar una venta perdida, dinero desperdiciado en Google Ads y una duda que reduce la probabilidad de que vuelva.

Cuando WooCommerce no procesa pagos, no conviene tratarlo como un simple fallo técnico. Es una incidencia de facturación y conversión. La prioridad es saber si el problema afecta a todos los métodos de pago, a todos los productos o solo a ciertos clientes, contener el impacto y recuperar la operación sin crear nuevos errores en la tienda.

¿Necesitas reparar tu WordPress? Descubre nuestro servicio de reparación WordPress y recupera el funcionamiento de tu web lo antes posible.

Primero: mide el alcance antes de cambiar nada

La tentación habitual es actualizar plugins, borrar caché o cambiar configuraciones hasta que algo funcione. Ese método puede empeorar el problema, especialmente si una actualización reciente provocó una incompatibilidad o si se modifican ajustes de producción sin respaldo.

Empieza por reproducir una compra con un producto de prueba y una cantidad mínima. Hazlo desde una ventana de incógnito y, si puedes, con un método de pago distinto. Revisa después si WooCommerce crea el pedido y qué estado recibe: pendiente de pago, fallido, cancelado, en espera o procesando. Esta diferencia orienta el diagnóstico.

Si el pedido se crea como fallido, WooCommerce está recibiendo una respuesta de rechazo o error desde la pasarela. Si no se crea ningún pedido, el bloqueo puede estar antes: un conflicto de JavaScript en el checkout, una regla de seguridad, una sesión rota, caché aplicada donde no corresponde o un error fatal del servidor.

También hay que determinar cuándo comenzó. Si el fallo apareció justo después de actualizar WordPress, WooCommerce, PHP, el tema o una extensión de pagos, esa cronología vale más que una lista larga de cambios aleatorios. Si coincide con una campaña, un pico de tráfico o una migración, la capacidad del servidor y las reglas de seguridad pasan a ser sospechosas relevantes.

Por qué WooCommerce no procesa pagos

No existe una única causa. WooCommerce coordina el checkout, la sesión del cliente, la base de datos, la pasarela de pago, el navegador y el servidor. Basta con que una de esas piezas responda mal para detener el cobro.

La pasarela de pago rechaza o no autentica la operación

Stripe, PayPal, Authorize.net y otras pasarelas tienen sus propias credenciales, claves de API, webhooks, requisitos de seguridad y políticas antifraude. Unas claves de prueba activadas por error, una cuenta pendiente de verificación, una firma de webhook incorrecta o una restricción regional pueden hacer que los pagos fallen aunque el checkout parezca normal.

No todos los rechazos son errores técnicos. La tarjeta puede no tener fondos, el banco emisor puede bloquear el cargo o el filtro antifraude puede detectar una operación de riesgo. El patrón importa: si falla una tarjeta aislada, probablemente no necesitas tocar la tienda. Si fallan todas las tarjetas y todos los clientes, la investigación debe centrarse en la integración, las credenciales y la comunicación entre el sitio y la pasarela.

Un plugin, el tema o una actualización rompe el checkout

Un checkout depende de scripts que validan campos, calculan envíos, aplican cupones y envían la solicitud de pago. Un plugin de optimización que retrasa JavaScript, un campo personalizado mal programado, una extensión de suscripciones desactualizada o un tema con plantillas antiguas puede impedir que el botón funcione correctamente.

Aquí hay un equilibrio delicado. Desactivar extensiones en una tienda activa puede restaurar pagos, pero también puede eliminar impuestos, métodos de envío o funcionalidades necesarias. La forma profesional de comprobarlo es usar un entorno de pruebas o aislar el conflicto con respaldo, registros y un plan de reversión. No se trata de apagar plugins a ciegas, sino de encontrar el componente exacto que rompe el flujo.

Caché, CDN y seguridad interfieren con datos dinámicos

Las páginas de carrito, checkout y cuenta no deben comportarse como una página informativa. Necesitan datos por sesión, nonces válidos y respuestas dinámicas. Si una capa de caché sirve una versión antigua del checkout, o una CDN almacena una respuesta que debería ser privada, el cliente puede recibir errores extraños, importes incorrectos o una sesión inválida.

Las herramientas de seguridad también pueden bloquear peticiones legítimas. Un firewall, una regla de protección contra bots o un sistema anti-fraude del hosting puede interpretar la solicitud a la pasarela como actividad sospechosa. Es una protección valiosa, pero necesita una configuración específica para no bloquear ventas reales.

El servidor no responde como debe

Un límite bajo de memoria PHP, procesos saturados, tiempos de espera, errores de DNS o una versión de PHP incompatible pueden interrumpir una transacción. A veces el cliente ve un mensaje genérico, mientras que el registro del servidor revela un error fatal preciso.

Este tipo de problema suele hacerse visible en momentos de mayor tráfico. Por eso una tienda que cobra correctamente en una prueba manual puede fallar durante una promoción. La estabilidad de WooCommerce no depende solo de que el sitio cargue rápido: depende de que el servidor pueda completar procesos críticos bajo demanda.

Los webhooks no actualizan el estado del pedido

En muchas pasarelas, el pago se confirma fuera de la web y luego la pasarela notifica a WooCommerce mediante un webhook. Si ese aviso no llega por un bloqueo, una URL mal configurada, un certificado SSL defectuoso o una autenticación incorrecta, el dinero puede cobrarse pero el pedido queda pendiente o cancelado.

Este escenario requiere especial cuidado. No conviene pedir al cliente que pague otra vez sin verificar el panel de la pasarela. Podrías generar un cobro duplicado y un problema de confianza mayor que la incidencia original.

Diagnóstico seguro para recuperar ventas

Antes de tocar la configuración, guarda una copia de seguridad verificable de archivos y base de datos. Después, revisa los registros de WooCommerce y de la pasarela en el momento exacto de una prueba. Busca códigos de respuesta, errores de API, problemas de autenticación, fallos de webhook y mensajes de PHP. Un texto como “payment failed” no basta: el detalle técnico es el que permite decidir.

Comprueba además que el sitio usa HTTPS en todo el checkout, que la URL de WordPress y la URL del sitio coinciden, y que no existen redirecciones inesperadas entre www y no-www. Una redirección mal planteada puede romper la sesión o impedir el retorno desde una pasarela externa.

Si utilizas caché o CDN, excluye correctamente carrito, checkout, mi cuenta y las solicitudes dinámicas de WooCommerce. Si hay optimización de JavaScript, prueba a excluir los scripts del checkout antes de desactivar toda la optimización. La velocidad sigue siendo necesaria para convertir, pero una mejora de rendimiento no puede comprometer el proceso de pago.

Por último, compara versiones y compatibilidades. WordPress, WooCommerce, PHP, el tema y las extensiones de pago deben funcionar como un conjunto. Actualizar todo de golpe en una tienda que factura puede resolver vulnerabilidades, pero también dificulta identificar qué cambió. Las actualizaciones deben pasar por pruebas, especialmente antes de fechas comerciales importantes.

Qué hacer mientras se corrige el problema

Si el impacto afecta a todos los clientes, comunica una alternativa temporal. Puede ser otro método de pago que sí funcione, un enlace de pago seguro emitido desde la pasarela o atención directa para pedidos de alto valor. La solución depende de tu operación y de los requisitos de cumplimiento de pagos, pero el objetivo es no dejar al cliente sin salida.

No ocultes el problema detrás de mensajes ambiguos. Un aviso breve y honesto, junto con una opción clara, protege más la confianza que un checkout que falla repetidamente. Al mismo tiempo, pausa campañas de pago que envían tráfico a un checkout roto. Seguir invirtiendo mientras no puedes cobrar eleva el costo de adquisición sin posibilidad de retorno.

Revisa los carritos abandonados y los pedidos fallidos del periodo afectado. En algunos casos, una comunicación de recuperación bien planteada permite rescatar ventas, pero nunca debes solicitar por correo datos de tarjeta ni improvisar procesos inseguros. La confianza se recupera con claridad y con un flujo de pago funcional.

Prevenir que el problema vuelva en la próxima campaña

Una tienda WooCommerce necesita mantenimiento preventivo, no solo soporte cuando deja de cobrar. Esto incluye monitorear disponibilidad y errores, mantener respaldos restaurables, revisar vulnerabilidades, probar actualizaciones en un entorno controlado y comprobar periódicamente pagos, correos transaccionales y webhooks.

También conviene tener alertas para errores críticos y una prueba de compra documentada antes de Black Friday, lanzamientos, campañas de influencers o promociones locales. El mejor momento para detectar que un webhook está fallando no es cuando hay cientos de clientes intentando pagar.

WPOptimizers aborda estas incidencias con una prioridad clara: recuperar la capacidad de vender, identificar la causa raíz y dejar controles para que el fallo no vuelva a sorprenderte. La solución correcta puede ser un ajuste de pasarela, un conflicto entre plugins, una regla de caché o una intervención en el servidor. Depende de las evidencias, no de suposiciones.

Tu checkout es el punto donde el interés se convierte en ingreso. Si notas pedidos fallidos, pagos pendientes que no se actualizan o clientes que no pueden completar la compra, actúa pronto: cada intento fallido es una oportunidad para proteger una venta antes de que se pierda.

Scroll al inicio