Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Sesiones Cache Estado Cliente

El cupón se aplica en el carrito pero desaparece en el checkout

Diagnostica sesiones, recálculo, restricciones, dirección, moneda, caché y código que elimina el cupón durante checkout.

Un cupón aceptado puede desaparecer cuando checkout recalcula precios con dirección, envío, impuestos, usuario y productos finales. También puede perderse con la sesión o eliminarse mediante código en una actualización AJAX.

Registra el cupón y las condiciones exactas. Crear códigos nuevos oculta el conflicto y puede ofrecer descuentos involuntarios.

Confirma si se elimina o solo se oculta

Compara total, línea de descuento y total del checkout. Inspecciona la respuesta y avisos después de cargar la dirección.

Si el total conserva el descuento pero falta la línea, revisa tema o bloque. Si el total aumenta y el cupón desaparece del objeto, investiga validación o sesión.

Usa un código controlado y no publiques cupones activos.

Reproduce el disparador

Aplica el cupón y cambia un factor: país, código postal, transporte, login o pago. Anota el momento exacto.

Compara:
- código y tipo
- ID y cantidades
- invitado o cliente
- región
- transporte
- subtotal antes de impuestos

Así separas un cambio real de elegibilidad de un fallo general.

Revisa las restricciones

Comprueba gasto mínimo/máximo, uso individual, artículos rebajados, productos, categorías, email, límite y caducidad.

Variaciones y producto padre pueden comportarse distinto. Confirma el ID real del carrito.

Con restricción por email, un invitado quizá no sea elegible hasta rellenarlo. El checkout debe explicar el motivo, no quitarlo en silencio.

Revisa cómo se calcula el gasto mínimo: subtotal con o sin impuestos, antes o después de descuentos, y moneda base o convertida. Un redondeo de céntimos puede cruzar el umbral al recalcular la dirección. Documenta la cifra que WooCommerce evalúa, no solo la mostrada.

Comprueba límites por cupón y por usuario. Un intento fallido, un pedido borrador o una automatización pueden reservar o consumir un uso antes de terminar el pago. No aumentes el límite hasta confirmar qué pedidos lo contabilizan.

Sigue la sesión

Comprueba que la cookie WooCommerce persiste de carrito a checkout. Un cambio de host, HTTPS o consentimiento puede crear otra sesión sin cupones.

Verifica que los productos siguen idénticos. Si también desaparecen, repara la continuidad antes de tocar el cupón.

No borres todas las sesiones para probar un código.

Compara también login y logout. WooCommerce puede fusionar el carrito invitado con el de la cuenta y volver a validar el cupón contra el email, rol o historial de compras. La desaparición en ese punto puede ser una regla legítima o un dato de sesión mal migrado.

Excluye checkout de caché

Los totales son específicos del cliente. Carrito, checkout y AJAX deben evitar caché compartida.

Un checkout cacheado puede mostrar otro total aunque la sesión actual conserve el cupón. Prueba con caché ya poblada, no solo tras purgar.

Idioma y moneda deben variar correctamente si el mínimo depende del total convertido.

Revisa Checkout Blocks y checkout clásico por separado. Pueden mostrar avisos y actualizar totales mediante APIs diferentes. Si el pedido del servidor conserva el cupón pero el bloque lo oculta, corrige la interfaz sin volver a aplicarlo y duplicar el descuento.

Inspecciona hooks de eliminación

Plugins de descuentos, membresía y código propio pueden retirar cupones en cada recálculo. Busca filtros y:

WC()->cart->remove_coupon( $coupon_code );

Localiza la condición ejecutada en update_order_review. Evita efectos laterales en filtros que WooCommerce llama varias veces.

Registra solo identificador y resultado de la regla, no email ni carrito completo.

Busca también llamadas a remove_coupons() y código que limpia promociones al cambiar el método de pago. Asegura que el callback sea idempotente y que no elimine el cupón durante una actualización intermedia para volver a añadirlo después; esa carrera deja estados distintos en el navegador y el servidor.

Repara la regla y el mensaje

Corrige sesión, caché, restricción o condición demostrada. Si el cupón deja de ser válido tras cambiar dirección o producto, conserva la regla y muestra una explicación clara.

No debilites límites o exclusiones globalmente por un problema visual.

Muestra el motivo una sola vez y conserva los demás campos para que el cliente pueda corregir. Un bucle de avisos o recálculos puede disparar repetidamente update_order_review, ocultar métodos de pago y convertir un problema de promoción en un checkout inutilizable.

Completa una compra elegible y confirma descuento en pedido y total del proveedor. Prueba también un caso no elegible, reembolso y redondeo fiscal.

Comprueba el uso del cupón después de cancelar y reembolsar según la política comercial. La reparación debe mantener coherentes el contador, el total del pedido, impuestos, informe de ventas y reembolso; no solo la línea visual del carrito.

El mantenimiento recurrente debe comprobar promociones después de cambios de precios, impuestos, moneda, checkout o plugins. El resultado definitivo es el total guardado en el pedido.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia