Por qué los pedidos se quedan pendientes de pago en WooCommerce con RedSys o Ceca

Desde que empezamos a trabajar con diferentes pasarelas de pago, sobre todo con RedSys y Ceca, hemos estado lidiando con el problema de los pedidos pendientes de pago que luego se cancelan. Cuando en realidad han sido pagados. Desde el primer momento le hemos dado solución a través de nuestro soporte, el que ofrecemos con la compra de nuestros plugins para RedSys y Ceca con WooCommerce, o con cualquier otro sistema como RedSys para Contact Form 7. Pero todos os preguntaréis, ¿por qué pasa esto?

Los pedidos no reciben que se han pagado y WooCommerce los marca como cancelados

Comencemos contando el final de esta historia. En WooCommerce existen básicamente dos tipos de pasarela, dos tipos respecto al tipo de pago:

  • Pago offline: como la transferencia, el cheque o contrarrembolso
  • Pago online: PayPal, Stripe, RedSys, Ceca, etc.

Las de pago offline como podéis imaginar, no se sabe cuándo va a llegar el pago, puede ser al momento que lo marques tú manualmente o puede ser en una semana. Las de pago online es diferente, al ser un pago online, instantáneo, WooCommerce espera saber si el pago se ha efectuado o no, en pocos minutos.

Cada cierto tiempo, la tarea llamada woocommerce_cancel_unpaid_orders que es una tarea que se ejecuta cada cierto tiempo, una tarea de tipo cron, pasa buscando los pedidos que tienen una pasarela de pago tipo online y que habiéndose enviado el pago hace cierto tiempo no han recibido confirmación del mismo. WooCommerce no recibe que el pago se ha efectuado y por lo tanto, marca como que el pedido se ha cancelado.

Esto puede pasar por dos razones:

  1. La primera es que porque en efecto, el cliente llegó al banco y finalmente no pagó, de alguna manera se fue del pago cerrando la ventana, cerrando su equipo o cualquier otra alternativa
  2. La segunda es que sí pagó, pero RedSys o Ceca (o cualquier otro) al comunicarse con tu sitio para decir “en efecto ha pagado” no ha conseguido hacerlo

¿Por qué no puede el banco comunicarse con mi sitio?

En una pasarela bancaria de este tipo, se crean dos comunicaciones diferentes, las que podéis ver en la imagen al inicio del post.

Básicamente la idea es la siguiente:

  1. Cuando tu cliente va a pagar, el sevidor de tu tienda online le envía una redirección al portal del pago
  2. Allí el cliente interactúa efectuando realmente el pago (o no efectuándolo)
  3. El servidor del banco, te redirige de nuevo a la tienda online
  4. En este trascurso, en otra llamada diferente, el servidor de RedSys, Ceca, PayPal o cualquier pasarela; llamada tu servidor indicándole que el pago se ha efectuado

Si falla esta comunicación, la que vemos a la derecha de “Confirmación de la compra”, es cuando tendremos el problema.

¿Cómo arreglarlo? Hay mucha casuística y en ocasiones, hemos llegado a ver hasta 2 o 3 problemas encadenados que impiden o dificultan esta confirmación online, así que para eso estamos con nuestro soporte a través de nuestros plugins para arreglarte el problema.1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (3 votos, promedio: 2,33 de 5)

Cargando…

Almacenamos las IPs desde la que se envían las valoraciones para evitar fraudes

Carrito

loader