GUÍA · TIENDAS ONLINE

Pagó con Mercado Pago y el pedido quedó pendiente en WooCommerce

Si el comprador pagó con Mercado Pago y el pedido sigue en «Pendiente de pago», es porque el aviso servidor a servidor (el webhook, antes IPN) no llegó a tu sitio o tu sitio lo rechazó. El cartel verde de «pago aprobado» que ve el comprador sale de su retorno al navegador, no de ese aviso. La plata casi siempre está acreditada igual: lo que falla es el estado del pedido, no el cobro. Después WooCommerce cancela el pedido solo, cuando vence la reserva de stock. El arreglo de fondo es activar la sincronización por cron del plugin oficial de Mercado Pago, con un intervalo bastante más corto que ese vencimiento. Guía actualizada en julio de 2026.

ACTUALIZADO EN JULIO DE 2026

¿Por qué WooCommerce deja el pedido en «pendiente» si Mercado Pago ya aprobó el pago?

Porque son dos avisos distintos y solo uno cambia el estado del pedido. El cartel verde lo dispara el navegador del comprador cuando vuelve a tu tienda. El estado del pedido lo cambia otro mensaje, que Mercado Pago le manda directo a tu servidor: el webhook.

Ese segundo mensaje es el único canal confiable, y Mercado Pago lo documenta como tal en su documentación oficial de webhooks. El comprador puede cerrar la pestaña, quedarse sin datos o nunca volver al sitio: eso no debería afectar al pedido. Si el webhook llega y tu WooCommerce lo contesta bien, el pedido pasa a «Procesando» aunque el comprador nunca vuelva.

El problema aparece cuando el webhook no llega. Para WooCommerce ese pedido nunca se pagó. Y WooCommerce tiene un reloj propio: el campo «Retener stock (minutos)» en Ajustes > Productos > Inventario. Cuando ese reloj vence, WooCommerce cancela el pedido no pagado y libera las unidades. Por eso el síntoma completo es «quedó pendiente y después se canceló solo».

«Pendiente de pago» y «Procesando» no son el mismo problema

Solo uno de los dos es un problema. «Pendiente de pago» significa que WooCommerce nunca se enteró del cobro: eso hay que arreglarlo. «Procesando» significa que el pago se acreditó y el pedido está esperando que vos lo despaches: eso es el comportamiento normal de WooCommerce y no hay nada que tocar.

La confusión es tan común que conviene aclararla antes de tocar nada. En productos físicos, «Completado» lo marcás vos cuando despachaste; WooCommerce no lo pone solo. Si tu tienda vende cosas que se envían, es esperable que los pedidos se acumulen en «Procesando» hasta que salgan del depósito. Ahí no hay bug de Mercado Pago.

¿Cómo verifico si me está pasando a mí?

Con tres chequeos y en este orden: primero Mercado Pago, después el log de WooCommerce, después el panel de webhooks. Si el pago figura acreditado en Mercado Pago y el pedido dice «Pendiente de pago» en tu tienda, ya está confirmado: el problema es el aviso, no el cobro.

Hacer los tres chequeos te lleva unos minutos y te ahorra discutir con el comprador. También te dice si el aviso ni siquiera sale de Mercado Pago o si sale y tu servidor lo rechaza, que son dos arreglos completamente distintos.

  • 1. En Mercado Pago (Actividad o Tus cobros): buscá el pago por monto y fecha. ¿Figura acreditado? Entonces cobraste. El problema es de estado, no de plata.
  • 2. En WooCommerce > Estado > Registros: abrí el archivo que empieza con «mercadopago». Ahí ves si la notificación entró y qué respondió tu sitio. Si no existe ningún archivo, revisá que el modo de depuración del plugin esté activado y volvé a probar.
  • 3. En Mercado Pago Developers > Tus integraciones > Tus aplicaciones > Webhooks: mirá los envíos recientes y sus códigos de respuesta. Un 403, un 404 o un 500 repetido significa que el aviso sale y tu sitio lo rechaza.
  • 4. Paliativo inmediato: dentro de cada pedido, el plugin oficial trae el botón «Sincronizar el estado del pedido». Sirve para destrabar de a uno, no como solución.

Las 6 razones más comunes por las que el aviso no llega

Estas son seis causas que nos encontramos una y otra vez en tiendas WooCommerce argentinas en producción. No las ordenamos por frecuencia porque no llevamos esa estadística. Lo que sí se repite es que casi ninguna tiene que ver con el plugin en sí: son configuración del sitio y del hosting.

  • 1. La URL de notificación mal cargada o apuntando a un dominio viejo. El endpoint del plugin oficial es https://TUSITIO/wc-api/WC_WooMercadoPago_Basic_Gateway/, con https y con la barra final. Ojo: en las versiones actuales el plugin genera esa URL solo y la manda dentro de la preferencia de pago, así que el campo «URL personalizada para notificaciones» de la configuración avanzada puede estar vacío sin que eso sea un error (ese campo es para dominio propio o migración).
  • 2. SSL vencido o mal instalado. El plugin oficial exige certificado válido; si venció, el aviso ni siquiera completa la conexión. Ojo con los certificados que se renuevan solos y un día dejan de hacerlo.
  • 3. Firewall del hosting, ModSecurity o reglas en el .htaccess bloqueando la petición entrante. Lo vemos seguido en hosting compartido, y el sitio se ve perfecto desde afuera.
  • 4. Plugin de caché u optimizador interceptando la URL de notificación. Una respuesta cacheada no procesa nada.
  • 5. Credenciales de prueba corriendo en producción. Los pagos reales nunca van a matchear con un access token de test.
  • 6. Protección anti-bot o captcha del hosting delante del sitio. El servidor de Mercado Pago no resuelve un desafío de navegador.

La solución de fondo: activar la sincronización por cron del plugin

El plugin oficial de Mercado Pago trae un modo de sincronización automática por cron: cada tanto le pregunta a Mercado Pago el estado real de los pedidos pendientes y los actualiza, sin depender de que el webhook llegue. En las tiendas donde lo activamos, fue lo que dejó de colgar pedidos mientras resolvíamos la causa de fondo.

La clave está en el intervalo. Tiene que ser bastante más corto que el valor de «Retener stock (minutos)» que tenés en Ajustes > Productos > Inventario. Si el cron corre después de que venció esa reserva, llega tarde: el pedido ya se canceló solo y el stock ya volvió. Fijate qué número tenés ahí antes de elegir el intervalo, no al revés.

Hay un segundo detalle que casi nadie menciona: el cron de WordPress se dispara con las visitas al sitio. En una tienda con poco tráfico puede correr mucho después de lo que creés. Si tu tienda tiene poco movimiento, conviene desactivar el WP-Cron interno y disparar un cron real desde el panel del hosting, para que la sincronización corra sí o sí.

Y ahora la parte honesta: el cron no arregla la causa. El webhook sigue fallando y vos seguís sin recibir el aviso en el momento. Lo correcto es hacer las dos cosas: el cron como red de seguridad y el webhook arreglado como canal principal. Si solo activás el cron, cualquier cambio futuro de intervalo o de reserva de stock te devuelve el problema.

¿Qué hago con los pedidos que ya quedaron colgados?

Primero confirmá en Mercado Pago que el pago está acreditado y recién ahí tocá el pedido. Nunca cambies el estado a mano sin ese chequeo: si marcás como pagado algo que no se cobró, estás regalando mercadería. Este orden no es negociable, sobre todo si vas a corregir varios pedidos viejos de una.

  • Usá primero el botón «Sincronizar el estado del pedido» dentro del pedido. Es lo más limpio: lo mueve el propio plugin y deja su nota.
  • Si el botón no lo mueve, cambiá el estado a mano y dejá una nota interna con el número de operación de Mercado Pago. Esa nota es tu respaldo si después hay un reclamo.
  • Si el pedido ya se canceló, reabrí ese mismo pedido en vez de crear uno nuevo. Así no duplicás numeración ni le mandás dos confirmaciones al comprador.
  • Revisá el stock antes de despachar: cuando WooCommerce cancela, devuelve las unidades al inventario. Al reactivar el pedido puede quedar descuadrado.
  • Cuidado con los mails automáticos: cada cambio de estado puede disparar una notificación. Si vas a corregir muchos pedidos viejos, avisale al comprador o desactivá temporalmente ese mail.
  • Escribile al comprador por WhatsApp. Alguien que pagó y vio «pendiente» ya está desconfiando, y un mensaje corto lo resuelve mejor que cualquier mail automático.

¿Se puede garantizar que no vuelva a pasar nunca?

No al 100%, y quien te diga lo contrario te está vendiendo humo. El webhook depende de la infraestructura de Mercado Pago, de tu hosting y de tu certificado SSL: tres cosas que pueden fallar por separado y que no controla una sola persona. Lo que sí se puede sostener es que el pedido se corrija solo aunque el aviso falle.

Sobre los tiempos: los tres chequeos de diagnóstico se hacen en minutos y activar la sincronización por cron es un cambio de configuración. Lo que puede estirarse es destrabar el firewall del hosting o renovar un certificado vencido, porque ahí dependés del proveedor y de sus tiempos de soporte.

Sobre el precio: no publicamos una tarifa fija para esto porque el alcance cambia demasiado. No es lo mismo activar el cron en una tienda sana que destrabar ModSecurity en un hosting compartido y además ordenar cien pedidos colgados sin romper el stock. Preferimos mirarlo y decirte qué hay que hacer antes de poner un número.

Si estás armando o rehaciendo tu tienda, este chequeo entra en el checklist desde el día uno: lo tratamos en nuestra guía de qué necesitás para vender online en Argentina y es parte de cómo montamos las tiendas online en WooCommerce que operamos todos los días, como la de Mundo Steam.

PREGUNTAS FRECUENTES

Preguntas frecuentes

¿Por qué el pedido queda «pendiente de pago» si el cliente ya pagó?

Porque WooCommerce no se enteró. El estado del pedido lo cambia el aviso servidor a servidor (webhook) que Mercado Pago le manda a tu sitio, no el cartel verde que ve el comprador en pantalla. Ese cartel sale del retorno del navegador. Si el webhook no llega —o tu sitio lo rechaza con un 403 o un 500— el pedido se queda quieto y después se cancela solo cuando vence la reserva de stock de WooCommerce.

¿Cobré igual o perdí la venta?

Cobraste. Si en Mercado Pago el pago figura acreditado, la plata está en tu cuenta más allá de lo que muestre WooCommerce. El problema es de sincronización de estado, no de cobro. Lo que sí podés perder es la venta operativa: si el pedido se cancela solo y nadie lo revisa, el comprador pagó y nunca recibe nada. Por eso conviene revisar los pedidos pendientes contra la actividad de Mercado Pago todos los días hasta arreglarlo.

¿Se descuenta el stock cuando el pedido queda pendiente?

No se descuenta, se reserva. Un pedido en «Pendiente de pago» mantiene las unidades bloqueadas mientras corre el reloj del campo «Retener stock (minutos)» de WooCommerce, en Ajustes > Productos > Inventario. Cuando ese reloj vence, WooCommerce cancela el pedido y libera las unidades. El descuento real de inventario recién ocurre cuando el pedido pasa a «Procesando». Por eso un pedido colgado puede estar bloqueando stock que otro comprador podría estar llevándose.

¿Le llega el mail al cliente si el pedido queda pendiente?

No le llega ninguno. WooCommerce dispara sus notificaciones según el estado, y «Pendiente de pago» no dispara mail al comprador ni el aviso de venta nueva para vos. Lo único que vio el comprador es la pantalla de gracias en el navegador. Ese desfasaje es lo que suele generar el mensaje de WhatsApp del cliente preguntando si su compra entró. Cuando corrijas los pedidos, tené en cuenta que el cambio de estado puede disparar esos mails de golpe.

¿Está bien que el pedido quede en «Procesando» y no pase a «Completado»?

Sí, es el comportamiento normal de WooCommerce y no hay que tocar nada. «Procesando» significa que el pago se acreditó y el pedido está esperando que vos lo despaches. En productos físicos, «Completado» lo marcás vos cuando el paquete salió. Esto se confunde muchísimo con el problema del webhook, pero es otra cosa: si tus pedidos llegan a «Procesando», la integración con Mercado Pago está funcionando bien.

¿Cuándo se cancela solo el pedido y se pierde?

Cuando vence el valor que tengas cargado en «Retener stock (minutos)» dentro de Ajustes > Productos > Inventario de WooCommerce. Ese es el reloj que decide. Si el aviso de Mercado Pago no llegó antes de ese vencimiento, WooCommerce da el pedido por no pagado, lo cancela y devuelve las unidades al inventario. Por eso la sincronización por cron del plugin tiene que correr con un intervalo bastante más corto que ese número.

¿Es culpa del hosting? ¿El SSL vencido rompe el webhook?

Sí, las dos cosas pasan y las vemos seguido. El plugin oficial de Mercado Pago exige certificado SSL válido: si el certificado venció o quedó mal instalado, el aviso no completa la conexión. Y en hosting compartido pasa que el firewall, ModSecurity o una regla del .htaccess bloqueen la petición entrante. El sitio se ve perfecto desde afuera y el webhook igual rebota. Se detecta mirando los códigos de respuesta en el panel de webhooks de Mercado Pago.

¿Qué URL de notificación tengo que poner?

La del endpoint de WooCommerce para el plugin oficial: https://TUSITIO/wc-api/WC_WooMercadoPago_Basic_Gateway/, reemplazando TUSITIO por tu dominio real, siempre con https y con la barra final. Aclaración importante: en las versiones actuales el plugin genera esa URL solo y la manda dentro de la preferencia de pago, así que el campo «URL personalizada para notificaciones» de la configuración avanzada sirve para dominio propio o migración y encontrarlo vacío no es en sí un error. Lo que sí rompe el aviso es un dominio viejo tras una migración, un http sin ese o un error de tipeo. Después de tocarla, hacé una compra de prueba de bajo monto y verificá en el log del plugin que la notificación entró y que tu sitio respondió correctamente.

¿El plugin de caché o el firewall pueden bloquear la notificación?

Sí, y es de los casos más difíciles de detectar porque el sitio funciona normal para las personas. Un plugin de caché u optimizador puede servir una respuesta cacheada en la URL de notificación, y esa respuesta no procesa nada. Un firewall o una protección anti-bot puede devolver un 403 a la petición de Mercado Pago porque no parece un visitante humano. La solución pasa por excluir esa URL de la caché y pedirle al hosting que la habilite en el firewall.

¿Me conviene cambiar de pasarela de pago?

Casi nunca, al menos no por esto. Según el Estudio Anual de CACE 2025, la tarjeta de crédito concentra el 67% de las transacciones del e-commerce argentino y 8 de cada 10 consumidores considera clave poder pagar en cuotas. Sacar Mercado Pago para evitar un problema de configuración te saca del medio de pago que usa la mayoría del mercado. Primero arreglá el webhook y activá la sincronización por cron; recién después evaluá alternativas.

Resumiendo: si en Mercado Pago ves el pago acreditado y en WooCommerce el pedido dice «Pendiente de pago», ya sabés dónde está el problema y no es tu cobro. Revisá que la URL de notificación apunte a tu dominio actual con https (https://TUSITIO/wc-api/WC_WooMercadoPago_Basic_Gateway/), el certificado SSL y el firewall del hosting, y activá la sincronización por cron del plugin con un intervalo más corto que tu «Retener stock (minutos)». Si preferís que lo miremos nosotros, escribinos por WhatsApp al 11 6792-8752 y lo miramos: revisamos el log del plugin, los webhooks del panel de Mercado Pago y el estado del certificado, y te decimos qué está fallando y qué hay que tocar. Trabajamos con WordPress y WooCommerce todos los días desde 2021: más de 700 proyectos entregados, más de 350 clientes activos y equipo propio de web, pauta y redes. Oficina en Nicaragua 5812, Palermo, CABA. También podés escribirnos desde contacto. Última revisión de esta guía: julio de 2026.

Point Web — Nicaragua 5812, Palermo, CABA · WhatsApp 11 6792-8752 · proyectos@pointwebglobal.com