Errores y problemas

Redsys cobra, pero WooCommerce no marca el pedido

Redsys puede confirmar el cobro en pantalla y el cliente recibir el cargo, pero WooCommerce puede mantener el pedido «pendiente de pago» si la confirmación técnica no llega o no se valida correctamente.

Los errores al integrar pasarelas de pago locales en WooCommerce suelen estar en las credenciales, la firma, la URL de notificación, el entorno sandbox o la compatibilidad con caché y SSL.

Índice

Anuncio

Separa el cobro bancario del pedido WooCommerce

Distingue el pago aprobado del pedido pagado para evitar entregar una venta sin confirmación técnica.

Un pago aprobado en Redsys significa que el banco ha autorizado o cobrado la operación, pero WooCommerce solo cambia el pedido cuando recibe una notificación servidor a servidor, también llamada callback, IPN o webhook, y valida sus datos.

Distingue retorno y notificación

La URL de retorno lleva al comprador a la página de gracias, mientras que la notificación comunica el pago a WordPress sin depender del móvil, navegador o conexión del cliente; si el pedido queda pendiente tras un cobro aprobado, revisa el callback y no la página de gracias.

Sigue el recorrido real del pago

Comprueba el checkout, la redirección al banco, la autenticación 3D Secure, la respuesta de la tarjeta o de Bizum, el callback HTTP, la validación de firma SHA-256 y el cambio de estado; el pedido solo debe pasar a pagado cuando coinciden resultado bancario, identificador de operación y registros de la tienda.

Redsys cobra, pero WooCommerce no marca el pedido

Relaciona cada síntoma con su prueba

Localiza el síntoma y consulta el registro adecuado antes de cambiar ajustes.

Consulta la matriz antes de actuar

SíntomaCausa probableDónde comprobarAcción inicial
Cobrado y pendienteCallback bloqueado o firma inválidaPanel TPV y logs WooCommerceComparar operación y HTTP
Vuelta al checkoutCancelación SCA o URL de retornoPanel TPV y pedidoVer código de respuesta
Firma inválidaClave, terminal o importe distintoLog del pluginNo cambiar estados
Pedido duplicadoReintento, doble clic o conflictoPedidos y operacionesBloquear el envío
Error 401, 403 o 500Acceso denegado o error PHPLog servidor y WAFCorregir respuesta HTTP

Diferencia rechazo de fallo técnico

Abre el pedido afectado, anota número, importe, moneda y hora, y busca la operación en el panel de Redsys u otro proveedor; un rechazo puede deberse a saldo, límites o SCA, mientras que un fallo técnico existe cuando hay autorización bancaria pero no actualización del pedido o aparecen errores HTTP 401, 403 o 500.

Redsys cobra, pero WooCommerce no marca el pedido

Guarda pruebas antes de cambiar pedidos

Recoge identificadores y revisa los logs sin exponer información sensible.

Reúne pedido, operación y autorización

Copia en una nota privada el ID de pedido WooCommerce, el número enviado al TPV, la autorización bancaria, importe en EUR, fecha, método y estado actual; verifica que impuestos, descuentos y gastos de envío coinciden al céntimo con el total enviado al banco.

Abre los registros adecuados

Ve a WooCommerce > Estado > Registros, selecciona el archivo del plugin por fecha y busca callback, webhook, signature, SHA-256, response, 401, 403 o 500; consulta también el registro de errores del alojamiento, porque un error PHP puede impedir que WordPress responda al banco.

Orden seguro de comprobación:
1. Confirma el cargo en el TPV.
2. Relaciónalo con el pedido y el importe.
3. Lee el log del plugin.
4. Comprueba el código HTTP del callback.
5. Corrige una sola causa y repite una prueba controlada.

Aísla conflictos sin cerrar ventas

Crea una copia de staging antes de probar cambios de tema, PHP o plugins, y desactiva allí caché, seguridad y minificación uno por uno; revisa también WP-Cron si la extensión depende de tareas posteriores al cobro.

Además de consultar los logs de WooCommerce después de un problema, configura una revisión preventiva de los pagos. Registra la hora, el ID de pedido, el ID de transacción, el estado recibido y el código HTTP devuelto por cada webhook de pago; una respuesta 200 no confirma por sí sola que la firma se haya validado ni que el pedido haya cambiado de estado. Crea una alerta en el servicio de monitorización, en el alojamiento o en el sistema de registros cuando aumenten los errores HTTP 401, 403 o 500, cuando falle repetidamente una IPN WooCommerce o cuando existan pagos aprobados en el panel del proveedor sin pedido pagado durante un plazo definido.

Este control permite intervenir antes de acumular pedidos pendientes de pago.

Haz accesible el callback de Redsys

Permite que la pasarela alcance la URL de notificación y reciba una respuesta válida.

Prueba la URL sin ser cliente

Abre la URL de notificación en una ventana privada: puede no mostrar una página legible porque espera datos firmados, pero no debe redirigir a mantenimiento, inicio de sesión o error 403; comprueba además que usa HTTPS válido y el dominio configurado en WordPress.

Quita barreras al servidor bancario

Revisa plugin de seguridad, CDN, WAF, modo mantenimiento y reglas del alojamiento, porque pueden bloquear una petición POST firmada; excluye solo el endpoint de la pasarela y recuerda que Basic Auth en staging impedirá la llamada del banco.

Valida firma, importe y terminal

Compara FUC o código de comercio, terminal, clave secreta, algoritmo, número de pedido e importe con los valores del banco; una firma SHA-256 inválida suele indicar clave incorrecta, formato de pedido distinto o datos modificados antes de validar la respuesta.

No todas las pasarelas locales notifican el pago del mismo modo. En una integración de Mercado Pago es habitual revisar las credenciales de vendedor, la URL configurada para las notificaciones y el identificador externo que vincula el pago con el pedido; en PayU, además, conviene contrastar la respuesta de confirmación con la de retorno y los estados intermedios que puede comunicar el proveedor. En un TPV virtual como Redsys suelen ser decisivos el FUC, el terminal y la firma SHA-256.

Antes de aplicar una solución, identifica el proveedor, el país de la cuenta comercial y el método usado —tarjeta, transferencia, billetera o pago en efectivo—, porque un mismo estado de WooCommerce puede corresponder a flujos de confirmación distintos.

Separa sandbox y producción por completo

Revisa los datos de producción como si se tratara de una integración nueva.

Comprueba los datos que no se migran

Verifica FUC, terminal, credenciales API, clave secreta, algoritmo, URL de notificación y modo activo para cada pasarela; comprueba también moneda, métodos permitidos y que no haya un terminal de pruebas en producción.

Elige integración por mantenimiento real

OpciónCoste habitualTiempo de revisiónCuándo encaja
Plugin del bancoCuota o soporte según entidad10 a 30 minutosTPV local sencillo
Proveedor especializadoEntre 0,3% y 1,2% por operación, según contrato20 a 45 minutosVarios métodos y mejores logs
Desarrollo a medidaPresupuesto técnico propioHoras o díasFlujos muy particulares

Prueba cinco resultados antes de publicar

Haz una compra real de importe bajo en producción si el banco lo permite y prueba pago aprobado, rechazo, cancelación, devolución y cierre del navegador; probar solo una tarjeta aprobada deja sin revisar los fallos que más dañan la conciliación.

La conciliación también depende de las reglas locales de cobro. Verifica que WooCommerce envía la moneda admitida por la cuenta, el importe en la unidad requerida por la API y el redondeo correcto de descuentos, impuestos y envío; una diferencia de un céntimo o una conversión automática puede invalidar una firma o causar un rechazo. Si vendes en mercados con impuestos incluidos, retenciones o documentos fiscales obligatorios, comprueba que la factura se emite solo tras el estado de pago adecuado.

Asimismo, habilita únicamente los métodos regionales realmente contratados y revisa sus requisitos: 3D Secure para tarjetas, datos de identificación para algunas billeteras o plazos de confirmación más largos para pagos diferidos.

Anuncio

Concilia cobros antes de tocar estados

Confirma cada cobro con el pedido, el TPV y el registro técnico antes de cambiar estados.

Comprueba el pago en tres lugares

Confirma en el banco si la operación está autorizada, cobrada, anulada, pendiente o devuelta; compara número de pedido, importe, EUR, fecha, autorización y operación con WooCommerce, y revisa el log para saber si llegó el callback. Si todo coincide, cambia un pedido físico a procesando.

Deja una nota y evita automatismos

Añade una nota privada con fecha, operación, comprobación y motivo del cambio manual, y pausa envío, facturación o acceso hasta terminar la comparación; realiza devoluciones desde el proveedor cuando sea posible y distingue la anulación previa a la liquidación del reembolso de un cargo ya cobrado.

⚠️ Este diagnóstico no basta si el comercio está bloqueado, el contrato TPV no está activado, el banco emisor rechaza por fraude o el proveedor confirma una incidencia. Tampoco sustituye una auditoría de código cuando la pasarela se ha personalizado.

Preguntas comunes

¿Por qué Redsys cobra y WooCommerce deja el pedido pendiente de pago?

Redsys puede cobrar aunque WooCommerce no reciba o no valide el callback. Revisa URL de notificación, firma SHA-256, HTTP e identificador de operación.

¿Dónde veo los logs de pagos en WooCommerce?

Están en WooCommerce, Estado y Registros. Busca callback, webhook, errores HTTP y mensajes de firma sin compartir claves secretas.

¿Puedo usar la URL de gracias como notificación?

No, porque depende del navegador del cliente y no sustituye una notificación servidor a servidor.

¿Qué debo probar antes de activar el TPV?

Prueba pago aprobado, rechazo, cancelación, devolución y cierre del navegador, con una compra real de bajo importe si la entidad lo permite.

¿Qué hago si hay un pago duplicado?

Confirma si hay dos cargos reales o un solo cargo con dos pedidos, bloquea el envío y devuelve únicamente la operación duplicada confirmada.

Lo esencial:

Lecturas adicionales

Si quieres ampliar información sobre este tema, estas fuentes pueden interesarte:

RESUMIR CON IA: Extrae lo importante

Comparte este artículo:

Josu Barrios

Josu Barrios

Somos especialistas en mantenimiento WordPress para empresas, profesionales y tiendas online. Contamos con experiencia en seguridad web, optimización de rendimiento, actualizaciones, copias de seguridad y resolución de incidencias técnicas, ayudando a que cada sitio funcione de forma rápida, estable y protegida. Nuestro enfoque combina soporte técnico profesional, buenas prácticas de seguridad y seguimiento continuo para ofrecer un servicio fiable, transparente y orientado a resultados reales.