Cumplimiento del derecho de desistimiento de la UE
Desde el 19 de junio de 2026, la Directiva de la UE 2023/2673 obliga a todos los comerciantes online de la Unión Europea a ofrecer una función de desistimiento digital que sea, como mínimo, tan fácil de usar como el propio proceso de compra. La mayoría de los plugins del directorio se limitan a «un botón». Este incluye el conjunto de herramientas completo que toda tienda de la UE necesita para cumplir con la normativa, además de algunas cosas que otros plugins no ofrecen ni siquiera pagando.
El plugin te ayuda a cumplir los requisitos relativos al derecho de desistimiento establecidos en la Directiva 2011/83/UE sobre los derechos de los consumidores, modificada por la Directiva (UE) 2019/2161 (la Directiva Ómnibus).
Solo este plugin del directorio ofrece, completamente y de forma gratuita
- Función de confirmación en dos pasos (art. 11 bis, apartado 3) (la norma básica a escala de la UE en materia del derecho de desistimiento en línea). El formulario público lleva a una pantalla de revisión con un resumen de solo lectura y un botón específico «Confirmar desistimiento» La solicitud solo se registra cuando se pulsa ese botón, lo que evita el ejercicio involuntario del derecho. Se almacena en el servidor entre los dos pasos en un token de un solo uso, por lo que funciona incluso sin JavaScript.
- Acuse de recibo en soporte duradero (art. 11 bis, apartado 4): El correo electrónico de confirmación reproduce el contenido completo de la declaración (nombre, pedido, fecha del pedido, alcance, productos afectados) y la fecha y hora exactas de envío, y lleva un hash de recibo SHA-256 verificable como prueba a prueba de manipulaciones, que puede volver a calcularse a partir de los campos almacenados si surge una disputa.
- Formulario modelo de desistimiento del anexo I.B (Directiva 2011/83/UE) generado automáticamente a partir de los datos de tu tienda, que se muestra como un bloque plegable debajo del formulario público, con una vista imprimible en la misma URL. Cumple con la obligación de información precontractual del artículo 6, apartado 1, letra h).
- Casillas de verificación de doble consentimiento en la página de finalización de compra de WooCommerce para los dos consentimientos, la directiva prevé aplicar excepciones específicas:
- Consentimiento obligatorio para los contenidos digitales (art. 16, letra m)) — Bloquea el paso de realizar el pedido hasta que se acepte.
- Consentimiento opcional para los servicios iniciados dentro del plazo de 14 días (art. 14, apartado 4, letra a) — Permite la facturación prorrateada si el cliente desiste posteriormente. Cada consentimiento queda registrado en el pedido con el texto exacto mostrado, el estado de aceptación o rechazo, la marca temporal, la dirección IP y el agente de usuario como prueba duradera en caso de disputa.
- Un único menú desplegable «Estado de desistimiento» por producto y por categoría con cuatro opciones específicas (estándar, contenidos digitales, servicio iniciado anticipadamente, otras excepciones del artículo 16). Gestiona tanto el indicador de exclusión del artículo 16 como el consentimiento correspondiente al finalizar la compra en un único lugar, con herencia completa de las subcategorías.
- Aviso público configurable sobre productos excluidos, que aparece entre el precio y el botón «Añadir al carrito», con título y cuerpo independientes para los contenidos digitales y otras excepciones del artículo 16.
- Exclusiones del artículo 16 con herencia de categorías — Otros plugins similares lo ofrecen solo en su versión Pro de pago, pero aquí es gratis.
- Integración nativa RGPD: texto de política de privacidad sugerido + exportador de datos personales + herramienta de borrado, todo ello vinculado al correo electrónico del cliente. No es necesario instalar ningún otro plugin RGPD.
- Modo independiente: El formulario, el shortcode, el registro de solicitudes, los avisos por correo electrónico, el hash SHA-256 del recibo, el modelo del anexo I.B y la integración con el RGPD funcionan sin WooCommerce. El plugin siempre está en su propio menú de primer nivel «Desistimientos» (con un submenú «Ajustes»), con o sin WooCommerce. La ruta es la misma en todas las instalaciones.
Elementos de cara al público
- Página de desistimiento pública creada automáticamente al activarlo, con una plantilla neutra y preparada para traducir, y el formulario incrustado mediante un shortcode (con un aviso legal que indica «consultar con un asesor jurídico»).
- Shortcode
[ayudawp_withdrawal_form]para incrustar el formulario en cualquier parte del sitio. - Shortcode
[ayudawp_withdrawal_link]para crear un enlace permanente a la página de desistimiento desde cualquier área de widgets, pie de página o sección de la plantilla. Ayuda a cumplir el requisito de «Identificación clara» del artículo 11 bis de la Directiva 2023/2673 sin imponer un diseño específico para el pie de página. - El shortcode
[ayudawp_withdrawal_excluded_notice]sirve para insertar el aviso de productos excluidos en los maquetadores de páginas (Divi, Elementor, Bricks, ShopLentor) que generan su propia plantilla de producto y omiten los ganchos estándar de WooCommerce. - Formulario semántico HTML5 con validación HTML5, señuelo antispam, salida con caracteres de escape, entradas sanitizadas y nonces CSRF.
- Casilla de verificación para aceptar la política de privacidad antes de enviar el formulario, con enlace a la página de política de privacidad configurada en WordPress.
- Los enlaces en portada y administración generados por el plugin incluyen
rel=«noopener nofollow»para mantener la autoridad de los enlaces del sitio.
Elementos específicos de WooCommerce (se activan automáticamente al detectar WooCommerce)
- Enlace «Mi cuenta → Derecho de desistimiento», con un botón «Desistir» específico para cada pedido que se muestra siempre que el pedido se encuentre en un estado que permita el desistimiento, y que enlaza directamente con el formulario con los datos del pedido precargados.
- Inserción de un aviso de desistimiento en los correos electrónicos transaccionales (procesando, completado, factura del cliente) con un enlace directo al formulario, que ya contiene el número de pedido. Se pueden configurar los estados de pedido elegibles; los correos electrónicos del administrador nunca reciben el aviso.
- Verificación automática de la relación pedido/correo electrónico cuando WooCommerce está activo: la solicitud se compara con un pedido real y se filtra según los estados elegibles configurados. El plazo de 14 días se muestra como una indicación para el administrador, no como un rechazo automático (el plazo comienza legalmente a partir de la entrega, que es lo que verifica la tienda).
- Fecha límite de aviso configurable: elige entre la fecha del pedido o la fecha de completado de WooCommerce como referencia, además de días de gracia opcionales, para el indicador de fecha límite que se muestra al administrador; todo ello desde la interfaz de ajustes, sin necesidad de código.
- Compatibilidad con números de pedido para Sequential Order Numbers (versiones gratuita y Pro) y Custom Order Numbers for WooCommerce (tanto Tyche como WPFactory) de serie, además de un filtro para añadir cualquier otro plugin de numeración o sistema de resolución.
- Columna «Desistir» en la pantalla de pedidos de WooCommerce (versión clásica y HPOS) mostrando el estado de cualquier solicitud asociada, que se puede activar o desactivar desde «Opciones de pantalla».
- Notas privadas del pedido añadidas en cada fase del ciclo de vida (solicitud recibida, aceptada, rechazada, completada), incluyendo cualquier comentario del administrador.
- Compatible con HPOS desde el primer día, declarado mediante
FeaturesUtil::declare_compatibility().
Herramientas de administración
- Registro completo de solicitudes como tipo de contenido personalizado privado, con ciclo de vida de estado (pendiente → aceptada → rechazada → completada), datos del cliente, alcance (total / parcial), IP, agente de usuario y marca temporal UTC del envío para garantizar la trazabilidad legal.
- Exportación a CSV del registro de solicitudes para auditorías contables y de protección del consumidor: una acción por lotes «Exportar a CSV» en el listado, además de una exportación filtrada por estado y rango de fechas en Desistimientos → Exportar desistimientos. Las columnas incluyen marcas temporales de envío y resolución, alcance, estado, indicador de acuse de recibo, hash del recibo y elementos excluidos, con celdas protegidas contra la inyección de CSV o fórmulas.
- Trazabilidad de auditoría por cada solicitud:: marca temporal de la resolución registrada en cada cambio de estado y un indicador que señala si el correo electrónico de confirmación se ha entregado correctamente (con su marca temporal), y ambos datos se muestran en los detalles de la solicitud y en el archivo CSV como prueba fehaciente.
- Acciones por lotes para marcar varias solicitudes como aceptadas, rechazadas o completadas a la vez, con aviso por correo electrónico al producirse el cambio.
- Caja meta de estado con comentario obligatorio al rechazar, y comentario opcional al completar. El comentario se reenvía al correo electrónico del cliente.
- Correo electrónico de acuse de recibo al cliente tras la confirmación: el recibo en soporte duradero previsto en el artículo 11 bis, apartado 4, con el contenido completo de la declaración, la fecha y la hora de presentación y el hash SHA-256 como prueba, además de un correo electrónico de seguimiento cada vez que se produzca un cambio de estado.
- Correo electrónico de aviso al administrador de la tienda con el campo «Responder a» configurado para el cliente, sanitizado contra la inyección de cabeceras.
- Los consentimientos de pago registrados aparecen en la caja meta de detalles de la solicitud: texto exacto, estado (aceptado/rechazado), marca temporal, IP, agente de usuario, como prueba duradera archivada.
- Menú de administración consistente: Menú siempre de primer nivel «Desistimientos» con. un submenú «Ajustes», independientemente de si WooCommerce está activo. Misma ruta en todas las instalaciones.
- Bloque de descargo de responsabilidad legal en la página de ajustes, en el que se deja claro que el plugin ofrece herramientas técnicas opcionales, pero no garantiza cumplimiento legal.
- Indicadores de «Obligatorio», «Recomendado» y «Opcional» en cada descripción de los ajustes, para que el comerciante pueda analizar el formulario rápidamente.
Creado para uso real
- Carga condicional de recursos: El CSS solo se carga en la página de desistimiento, en las páginas de productos individuales que muestran el aviso de exclusión y en las pantallas de administración del plugin.
- Listo para traducir, incluye la traducción a es_ES, cumple con los estándares de programación de WordPress, salidas totalmente escapada y entradas sanitizadas, comprobaciones de permisos y nonces en cada acción de administración.
- 11 filtros documentados y 4 acciones para que los desarrolladores y las agencias puedan ampliar el plugin sin necesidad de crear una bifurcación.
- PHP 7.4+, WordPress 6.0+, WooCommerce 7.0+ (opcional).
¿Por qué este plugin?
La directiva de la UE es aplicable para todos los estados miembros desde el 19 de junio de 2026, por lo que el directorio de WordPress.org se está llenando de plugins de «botón de desactivación». Este destaca por motivos evidentes:
- Totalmente gratuito, sin planes de pago. Sin extensiones premium, sin características bloqueadas que requieran compras adicionales, sin versión «Pro» pendiente. Todo lo que se describe en esta página es lo que obtienes al instalarlo.
- Función integrada de confirmar desistimiento en dos pasos, conforme a los requisitos mínimos de la UE establecidos en el artículo 11 bis, apartado 3: el formulario público muestra una pantalla de revisión de solo lectura y registra la solicitud únicamente tras una confirmación explícita, íntegramente desde el servidor y sin necesidad de JavaScript, mientras que muchos plugins de «solo botón» registran la solicitud con el primer clic.
- Único plugin del directorio que genera un hash SHA-256 como prueba en un soporte duradero por cada solicitud de desistimiento, recuperable a partir de los campos almacenados en caso de que surja una disputa posteriormente.
- Único plugin del directorio que proporciona el formulario modelo de desistimiento del Anexo I.B, generado automáticamente a partir de los datos de la tienda, con una vista imprimible, cumpliendo así con la obligación de información prevista en el artículo 6, apartado 1, letra h), que la nueva directiva no reemplaza.
- Único plugin del directorio que inserta las dos casillas de consentimiento (art. 16, letra m), sobre contenidos digitales, y art. 14, apartado 4, letra a), servicios iniciados anticipadamente) en la página de finalización de la compra de WooCommerce, con una prueba duradera que se conserva en el pedido.
- Único plugin del directorio que incluye las exclusiones de productos y categorías Artículo 16 con herencia completa de subcategorías. Plugins similares solo ofrecen en su versión Pro de pago.
- Único plugin del directorio que se integra de forma nativa con las herramientas RGPD de WordPress (texto de privacidad + exportado y borrado de datos personales). No es necesario instalar ningún otro plugin para RGPD.
- Independiente o con WooCommerce. Funciona sin WooCommerce como herramienta independiente (formulario, shortcode, registro, correos electrónicos, SHA-256, RGPD, anexo I.B) y activa automáticamente las características específicas para tiendas cuando detecta WooCommerce.
- Compatiblepor defecto con Sequential Order Numbers (versiones gratuita y Pro) y Custom Order Numbers for WooCommerce (Tyche y WPFactory), con un filtro para cualquier otro esquema de numeración.
- Configurable desde la interfaz de usuario de ajustes, sin necesidad de escribir código: base del plazo (fecha del pedido frente a fecha de finalización) y días de gracia además de un modo opcional de plazo estricto, estados de pedido admisibles, página de cancelación, correo electrónico de aviso (ahora admite varios destinatarios), remitente del correo electrónico y textos editables de los correos de estado, texto de consentimiento por tipo, texto de aviso de exclusión por tipo, introducción del formulario editable, auto-declaración opcional del consumidor B2B, dirección, teléfono y correo electrónico del vendedor según el anexo I.B, y qué perfiles pueden gestionar las solicitudes.
- Ideal para desarrolladores: 11 filtros documentados + 4 acciones para que las agencias puedan ampliarlo sin necesidad de crear una bifurcación.
- Mantenido por un formador español de WordPress con más de 20 años de experiencia en la plataforma: Incluye la traducción a es_ES, respuestas rápidas en el foro de soporte de WordPress.org y una hoja de ruta activa con mejoras gratuitas (widget clásico, bloque de Gutenberg, widget para el escritorio, estado de pedido personalizado de WooCommerce y mucho más, todo gratis).
Hoja de ruta
Planificado para las próximas versiones gratuitas:
- Compatibilidad del bloque de finalizar compra de WooCommerce con las casillas de consentimiento del art. 16, letra m), y del art. 14, apartado 4, letra a), usando
woocommerce_register_additional_checkout_field()para que los consentimientos funcionen en las tiendas que ya hayan migrado del shortcode clásico[woocommerce_checkout]al bloque. - Widget clásico para mostrar el enlace de desistimiento en temas con áreas de widgets.
- Bloque de Gutenberg para el enlace de desistimiento, totalmente compatible con los temas de bloques (alineación, color, tipografía).
- Widget de escritorio con contadores, solicitudes pendientes y estadísticas básicas mensuales.
- Estado de pedido personalizado de WooCommerce «Solicitud de desistimiento» con transición automática al aceptarse.
- Indicadores de urgencia en la lista de solicitudes (días restantes, vencidos).
- Descarga en PDF de la solicitud con hash SHA-256 de la recepción impreso en ella, utilizando la misma infraestructura de impresión independiente que la vista del anexo I.B.
- Token firmado en el enlace del correo electrónico para que los clientes invitados puedan consultar el estado sin necesidad de iniciar sesión.
- Límite de frecuencia en el formulario público para evitar abusos.
- Campo IBAN opcional para agilizar los reembolsos manuales.
- Plantillas de correo electrónico en HTML que hereden el tema de los correos electrónicos de WooCommerce.
- Modo de visualización emergente opcional para el shortcode.
- Registro de auditoría visible en la pantalla de detalles de cada solicitud (cambios de estado, comentarios del administrador, marcas temporales de envío de correos electrónicos).
- Inserción automática opcional del enlace de desistimiento en
wp_footer.
Privacidad
Este plugin almacena los siguientes datos personales para cada solicitud de devolución, con el único fin de cumplir con los requisitos legales de trazabilidad en materia de derechos del consumidor y permitir que la tienda gestione la solicitud:
- Nombre y dirección de correo electrónico del cliente (datos necesarios para ponernos en contacto con el consumidor en relación con la solicitud).
- Referencia y fecha del pedido (datos necesarios para validar la solicitud con respecto a la compra).
- Dirección IP y cadena User-Agent (necesarias para acreditar cuándo y cómo se envió la solicitud, según el requisito de «medio duradero» de la directiva).
- Marca temporal del envío (UTC) y hash SHA-256 de la recepción (necesario para volver a calcular y verificar la integridad del envío original en caso de disputa).
Los datos se almacenan como una entrada de tipo de contenido personalizado privado (ayudawp_withdrawal) al que solo tienen acceso los administradores. El plugin no envía ningún dato a servicios de terceros; toda la comunicación se realiza entre la tienda y el cliente a través de los correos electrónicos estándar de WordPress.
Deberías añadir una sección a la política de privacidad de tu sitio web en la que se describa este almacenamiento. El plugin proporciona un texto sugerido para la política de privacidad que puedes pegar desde «Ajustes → Privacidad → Guía de la política». Los datos de desistimiento también se muestran en las pantallas nativas de WordPress, en «Herramientas → Exportar datos personales» y «Herramientas → Borrar datos personales» (filtrados por el correo electrónico del cliente).
Soporte
¿Necesitas soporte privado o un desarrollo personalizado?
¿Necesitas ayuda individualizada, resolución de problemas prioritaria o una funcionalidad, integración o adaptaciones personalizadas creadas específicamente para tu sitio? Ofrezco soporte privado y desarrollos personalizados. Solo tienes que contactarme y decirme qué necesitas.
¿Necesitas ayuda o tienes sugerencias?
¿Te gusta el plugin? ¡Déjanos un comentario de 5 estrellas y así ayudas a que lo conozcan otros!
Acerca de AyudaWP.com
Somos especialistas en plugins de optimización de seguridad, SEO, IA y rendimiento para WordPress. Creamos herramientas que solucionan problemas reales a los propietarios de sitios WordPress manteniendo los más altos estándares de programación y requisitos de accesibilidad.
