Técnico investigando errores intermitentes en WooCommerce y pedidos cancelados.
,

Que un error desaparezca no significa que esté solucionado

Hay magia, brujería y rituales satánicos.

Bueno, tampoco me voy a venir arriba.

Pero estoy convencido de que más de un propietario de una web ha pensado alguna vez que alguien le había echado mal de ojo.

Y no le culpo.

Hoy funciona. Mañana no. Pasado mañana vuelve a funcionar. Llamas al técnico, viene el técnico, prueba el técnico y funciona todo perfectamente.

Por supuesto.

Porque hay errores informáticos que tienen una habilidad extraordinaria para desaparecer en cuanto alguien intenta investigarlos.

En WooCommerce, estos errores intermitentes tienen especial talento para tocar las narices. Sobre todo cuando afectan a los pagos y los pedidos.

Haberlas, haylas, como dicen en Galicia.

Aunque antes de llamar a un exorcista, yo probaría a revisar los registros del servidor. Más que nada porque encontrar un exorcista especializado en WooCommerce debe de estar complicado.

Esto no es un reloj suizo. Es bastante peor.

Una web no es un montón de líneas de código que alguien escribe, publica y se queda tan tranquilo.

Ojalá.

Es una combinación de servidores, bases de datos, conexiones, plugins, servicios externos y un montón de piezas que tienen que entenderse entre ellas.

Y cada una tiene sus propias ideas sobre cómo deben funcionar las cosas.

Si hablamos de WooCommerce, añade pasarelas de pago, bancos, transportistas, sistemas de correo y alguna que otra actualización que llega cuando menos te apetece.

Y todas esas piezas tienen que funcionar juntas. No basta con que cada una funcione bien por separado.

Porque de eso depende —léase con acentillo gallego— que todo funcione como debería.

Tengo una tienda supercool. ¿Por qué no vendo?

Volvamos a WooCommerce, que es lo mío.

Tienes una tienda preciosa. Rápida. Moderna. Con unas fotografías espectaculares.

Apareces en Google, te mencionan las inteligencias artificiales y tu cuñado, que hizo un curso de marketing digital, dice que la web está fenomenal.

Pero no vendes.

O no vendes todo lo que crees que deberías vender.

Y empiezas a buscar culpables.

El SEO. Los precios. La competencia. El algoritmo.

Lo que quizá no te has planteado es que la tienda puede estar funcionando perfectamente… excepto cuando no funciona.

Un día dejan de llegar los correos.

Qué casualidad. Justo se había actualizado un plugin que ahora no se lleva demasiado bien con otro.

Otro día aparece un cliente bastante enfadado.

—Oye, ¿dónde están mis cinco euros? Hice un pedido, me cobraron y no he recibido nada.

Buscas el pedido en WooCommerce.

Cancelado.

¿Cómo que cancelado?

Pues, alma de cántaro, porque WooCommerce tiene un sistema para cancelar determinados pedidos pendientes de pago. No va a dejar las existencias reservadas pa siempre.

Hasta ahí, todo normal.

El pequeño inconveniente es que el cliente asegura que le han cobrado.

Y el banco parece darle la razón.

Tenemos a WooCommerce diciendo una cosa, al banco diciendo otra y al cliente preguntando por sus cinco euros.

Esto empieza a parecer una reunión de comunidad de vecinos.

Total, por cinco euros…

Compruebas el pedido, revisas el pago y consigues aclarar qué ha ocurrido con el dinero.

Pero queda una pregunta: ¿por qué se canceló el pedido?

Puede que nadie le dé demasiada importancia.

Un problema puntual. Cinco euros.

Next. A otra cosa.

Peeero…

¿Y si no es puntual?

¿Y si hay clientes que intentan pagar, reciben un error y se marchan sin avisar?

¿Y si pasa los martes? ¿O los jueves? ¿O solamente los meses impares, cuando Mercurio se alinea con Saturno?

Y resulta que, entre unas cosas y otras, podrías estar dejando de ingresar 100 o 200 euros al mes.

Aaaaaah.

Eso ya pica.

Ahora sí.

Ahora queremos saber qué demonios está pasando.

Errores intermitentes en WooCommerce: venga, Sherlock, ¿por dónde empezamos?

Lo primero es dejar de adivinar.

Tenemos un pedido cancelado, un cliente que asegura haber pagado y una pasarela de pago que debería poder decirnos qué ocurrió con esa operación.

Empezamos por ahí.

Después revisamos las notas del pedido, los registros de WooCommerce y, si hace falta, los del servidor.

Buscamos fechas, horas, respuestas de la pasarela, bloqueos de seguridad y cualquier pista que nos permita reconstruir lo ocurrido.

Porque una cosa es que el cliente vea un error y otra muy distinta es saber dónde se produjo.

Y entonces llega mi parte favorita.

Haces una compra de prueba.

Funciona.

Otra.

Funciona.

Una tercera, por aquello de no quedarnos con la duda.

Perfecta.

¡Aleluya!

El problema ha desaparecido.

Ya podemos guardar el agua bendita.

Pues va a ser que no.

Lo único que hemos demostrado es que esas tres compras han funcionado.

Del error original seguimos sin saber demasiado.

Y aquí es donde las incidencias intermitentes se ponen interesantes. Porque a veces no basta con mirar lo que funciona. Hay que encontrar qué diferencia a una operación correcta de otra que falla.

Puede ser una respuesta del servidor, una comunicación bloqueada, un tiempo de espera o una incompatibilidad que solo aparece en determinadas circunstancias.

Y otras veces, después de revisar todo lo que tenemos a nuestro alcance, todavía no hay una explicación concluyente.

Sí, también pasa.

¿Entonces está solucionado o no?

Esa es la pregunta del millón.

Porque hay algo que conviene tener claro: encontrar la causa de un problema no significa que podamos solucionarlo directamente.

Imagina que, después de revisar registros, comparar operaciones y hacer unas cuantas pruebas, descubrimos que el servidor está bloqueando determinadas comunicaciones con la pasarela de pago.

Ya sabemos por dónde vienen los tiros.

Hablamos con el proveedor del alojamiento, le facilitamos la información y solicitamos que revise qué está ocurriendo.

¿Y si no consigue solucionarlo? ¿Y si el problema sigue apareciendo?

Pues quizá haya llegado el momento de plantearse cambiar de hosting.

Lo mismo puede ocurrir con un plugin que provoca conflictos. Podemos identificarlo, comprobar si existe una actualización que corrija el fallo o buscar una alternativa.

Pero no siempre hay una solución inmediata. Y a veces ni siquiera existe una solución viable con la configuración o los servicios que estamos utilizando.

También puede ocurrir que consigamos aislar el problema, pero no determinar su causa exacta porque nos faltan registros o información de sistemas externos.

Y hay que saber decirlo.

Porque una cosa es identificar dónde se produce un fallo, otra conseguir corregirlo y otra muy distinta comprobar que no vuelve a ocurrir.

No es lo mismo, aunque a veces nos gustaría que lo fuera.

Al final, el trabajo no consiste en hacer tres pruebas, comprobar que todo funciona y dar el asunto por cerrado.

Consiste en investigar, separar lo que sabemos de lo que sospechamos y decidir qué podemos hacer con esa información.

A veces será corregir una configuración. Otras, actualizar un plugin. Y otras, recomendar cambiar de proveedor porque seguir peleando con el mismo problema no tiene demasiado sentido.

Y también habrá ocasiones en las que tendremos que reconocer que no hemos conseguido resolverlo.

Porque no todo tiene solución. Pero saber qué está fallando, hasta dónde podemos intervenir y qué alternativas tenemos ya es bastante más útil que esperar a que el problema desaparezca por arte de magia.

Pedro, de 112tecnológico

PEDRO AL TECLADO_

Soy Pedro. Me ocupo de la parte técnica.

Ayudo a negocios y agencias cuando WordPress, WooCommerce o una academia online se complican. Aquí cuento lo que aprendo trabajando con problemas reales.

¿Tienes un marrón técnico? Hablemos ↗

SI SIGUES POR AQUÍ_

No dejes de leer