Descripción
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.
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. - 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 con Sequential Order Numbers (versiones gratuita y Pro), Custom Order Numbers for WooCommerce (WPFactory) y los esquemas de numeración de YITH de serie; un filtro permite gestionar cualquier otro 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.
- 7 filtros documentados y 3 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.
- Compatible por defecto con Sequential Order Numbers (versiones gratuita y Pro), Custom Order Numbers for WooCommerce (WPFactory) y los esquemas de numeración de YITH.
- Configurable desde la interfaz de usuario de ajustes, sin necesidad de escribir código: plazo de vencimiento (fecha del pedido frente a fecha de finalización), días de gracia, estados de pedido admisibles, página de cancelación, correo electrónico de aviso, texto de consentimiento por tipo, texto de aviso de exclusión por tipo, número de teléfono del comerciante del anexo I.B.
- Ideal para desarrolladores: 7 filtros documentados + 3 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 15 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 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.
Capturas







→ Categorías».» class=»wp-image-9000008″ srcset=»https://i0.wp.com/ps.w.org/eu-withdrawal-compliance/assets/screenshot-8-es.jpg?rev=3534419&w=300 300w, https://i0.wp.com/ps.w.org/eu-withdrawal-compliance/assets/screenshot-8-es.jpg?rev=3534419&w=600 600w, https://i0.wp.com/ps.w.org/eu-withdrawal-compliance/assets/screenshot-8-es.jpg?rev=3534419&w=900 900w» sizes=»(max-width: 599px) 50vw, 33vw» width=»1920″ height=»1227″ loading=»eager» fetchpriority=»high» decoding=»async»/>



Instalación
- Sube la carpeta del plugin al directorio
/wp-content/plugins/ - Activa el plugin desde el menú Plugins de WordPress.
- El plugin crea automáticamente una página llamada «Derecho de desistimiento» con una plantilla legal de ejemplo. Puedes revisarla y editarla desde «Páginas».
- Ve a «Desistimientos Ajustes» para configurar la dirección de correo electrónico de aviso y la página que aloja el formulario.
- Añade la URL de la página de desistimiento al pie de página o a la sección de enlaces legales, para que sea visible desde cualquier página de tu sitio web.
FAQ
-
¿El formulario verificará el plazo de 14 días?
-
No rechaza automáticamente basado en eso. El plazo de desistimiento de 14 días comienza legalmente a partir del momento en que se entregan los productos (o, en el caso de contenidos digitales, desde el inicio de la descarga), una fecha que la tienda no puede detectar automáticamente, por lo que rechazar una solicitud en la fecha del pedido o de finalización supondría el riesgo de perder clientes que aún se encuentran dentro del plazo legal. En su lugar, el plugin marca las solicitudes que parezcan haber superado el plazo aproximado en el correo electrónico de aviso al administrador y te permite verificar la fecha real de entrega (p.ej., por el seguimiento del transportista) y decidir. La elegibilidad para el formulario, el botón «Mi cuenta» y el aviso por correo electrónico dependen de los estados de pedido configurados. Aún así, puedes ajustar el cálculo del aviso (fecha del pedido frente a fecha de completado, más días de gracia) en «Desistimientos Ajustes», y el filtro
ayudawp_euw_grace_dayssigue funcionando. El filtroayudawp_euw_skip_deadline_checkya no tiene ningún efecto, ya que ya no hay un plazo límite que omitir. -
¿Cómo puedo marcar los productos que están excluidos del derecho de desistimiento (Artículo 16)?
-
El plugin utiliza un único menú desplegable Estado de desistimiento configurado por categoría y por producto.
- Por categoría: Ve a Productos Categorías, edita la categoría y selecciona un «Estado de desistimiento», por ejemplo, Otras excepciones del artículo 16 para productos perecederos o hechos a medida, o Contenidos digitales (art. 16, letra m)) para contenido digital precintado. Todos los productos de esa categoría (y sus subcategorías) heredarán el estado automáticamente.
- Por producto: Edita el producto, desplázate hasta la pestaña «General» y selecciona allí el «Estado de deistimiento». Por defecto está configurado en — Heredar de la categoría; selecciona cualquier otra opción (incluida Estándar) para ignorar la herencia solo para ese producto.
Los cuatro estados posibles son:
- Estándar —El desistimiento se aplica de forma habitual (por defecto).
- Contentos digitales (art. 16, letra m)) — El producto queda excluido del derecho de desistimiento, y en la página de finalización de la compra de WooCommerce aparece una casilla de consentimiento obligatoria para cualquier carrito que contenga dicho producto.
- El servicio se inició anticipadamente (art. 14, apartado 4, letra a)) — El derecho de desistimiento sigue siendo aplicable, y en la página de finalización de la compra aparece una casilla de consentimiento opcional para que el comerciante pueda cobrar un importe prorrateado si el cliente desiste después de que el servicio haya comenzado.
- Otras excepciones del Artículo 16: el producto está excluido (productos perecederos, hechos a medida, con precinto de higiene, soportes de audio, vídeo o software precintados que se hayan abierto tras la entrega, etc.), no es necesario el consentimiento al finalizar la compra.
Cuando se recibe una solicitud de desistimiento que afecta a un pedido que contiene artículos excluidos, el plugin lo indica en el correo electrónico de aviso al administrador y en la pantalla de detalles de la solicitud. La solicitud nunca se rechaza automáticamente, ya que un desistimiento parcial de los artículos no excluidos del mismo pedido puede seguir siendo válido. El administrador revisa la solicitud y toma una decisión.
Si el «Aviso de productos excluidos» está activado (por defecto: sí), también aparecerá un aviso configurable en la página del producto individual, entre el precio y el botón «Añadir al carrito», para que el consumidor lo lea antes de realizar la compra.
Actualización desde versiones anteriores: Cualquier categoría que antes estuviera en la lista del selector «Categorías excluidas» (ya retirado) se migra automáticamente al nuevo menú desplegable por categoría (con el estado Otras excepciones del artículo 16) en el siguiente acceso a la administración. No se pierde ninguna configuración.
-
¿Cómo funcionan las casillas de consentimiento en la página de finalización de la compra (art. 16, letra m), y art. 14, apartado 4, letra a))?
-
Desde la versión 1.5.0, el plugin puede insertar dos casillas de consentimiento en la página de finalización de la compra de WooCommerce cuando el carrito contiene productos marcados para ello:
- Tipo A (obligatorio, art. 16, letra m)): Contenidos digitales. El cliente debe aceptarlo para completar el pedido; si no se registra la aceptación el cliente conserva el derecho de desistimiento de 14 días incluso después de haber accedido al contenido.
- Tipo B (opcional, art. 14, apartado 4, letra a)): Servicios iniciados dentro del plazo de 14 días. Si se acepta, el comerciante podrá cobrar un importe prorrateado cuando el cliente desista una vez iniciado el servicio. Sin ello, un desistimiento anticipado obliga a un reembolso íntegro.
Cada indicador se configura por producto (pestaña «General») o por categoría (pantalla «Editar categoría»), con herencia completa de las subcategorías, con la misma jerarquía que utiliza el módulo de exclusiones del artículo 16. El texto exacto que se muestra al cliente, junto con el estado de aceptación o rechazo, la marca temporal, la dirección IP y el agente de usuario, se registran en el pedido, para que el comerciante tenga una prueba duradera en caso de que el cliente impugne posteriormente la solicitud. La caja meta de cada solicitud de desistimiento también muestra estos consentimientos del pedido vinculado.
Las dos casillas de verificación se pueden activar o desactivar globalmente desde «Desistimientos Consentimiento en el proceso de pago», y su texto es totalmente modificable.
-
¿Incluye el plugin el modelo de formulario de desistimiento del anexo I.B requerido por la Directiva 2011/83/UE?
-
Sí, desde la versión 1.5.0. El plugin muestra el modelo del formulario del anexo I.B automáticamente con el nombre de la tienda, la dirección (procedente de WooCommerce, cuando esté disponible) y el correo electrónico de aviso, además de un número de teléfono del comerciante opcional que se puede configurar en los ajustes. Aparece como un bloque plegable justo debajo del formulario de desistimiento público, con una vista imprimible disponible desde la misma página. Facilitar este modelo es una obligación de información precontractual en virtud del artículo 6, apartado 1, letra h), de la Directiva 2011/83/UE. La función online añadida por la Directiva 2023/2673 la complementa, pero no la sustituye.
-
¿Qué es el código de verificación de la recepción que aparece en el correo electrónico del cliente?
-
Se trata de un hash SHA-256 calculado a partir de los datos de la solicitud (ID de la publicación, nombre del cliente, correo electrónico, referencia del pedido, ámbito, fecha del pedido y marca temporal de envío). El cliente conserva el correo electrónico como evidencia a prueba de manipulaciones en un medio duradero. Si más adelante surge una disputa, puedes volver a calcular el hash a partir de los campos almacenados con la función auxiliar
ayudawp_euw_compute_receipt_hash()y confirmar que el envío original no fue alterado. -
¿Dónde se almacenan las solicitudes de desistimiento?
-
Cada solicitud se guarda como una entrada de tipo de contenido personalizado privado denominado
ayudawp_withdrawal. Puedes gestionarlos en Desistimientos en tu área de administración. No son accesibles públicamente desde la interfaz de usuario. -
¿Es compatible con HPOS (High-Performance Order Storage)?
-
Sí. El plugin declara su compatibilidad con HPOS al cargarse.
-
¿El plugin funciona sin WooCommerce?
-
Sí. El formulario, el shortcode, el registro de solicitudes de desistimiento, los avisos por correo electrónico, el hash SHA-256 del recibo y la integración nativa con RGPD funcionan como una herramienta independiente, con su propio menú de primer nivel «Desistimientos» en la administración y un submenú «Ajustes». El plugin añade automáticamente características adicionales cuando WooCommerce está activo, como la validación de pedidos/correos electrónicos condicionada a los estados de pedido elegibles (con un indicador de plazo de aviso para el administrador), el enlace para el desistimiento en «Mi cuenta», el aviso de desistimiento incluido en los correos electrónicos transaccionales, la columna «Desistir» en la pantalla de pedidos, notas privadas de pedido en cada cambio de estado y exclusiones del artículo 16 por producto/categoría. Activando WooCommerce posteriormente se activan esas características y desactivándolo se mantienen intactas las características independientes.
-
¿Funciona con plugins que modifican el número de pedido de WooCommerce (números de pedido secuenciales, números de pedido personalizados, etc.)?
-
Sí. El formulario admite tanto el ID interno del pedido de WooCommerce como el número de pedido que se muestra al cliente. El verificador busca el número que ve el cliente en el metadato de entrada estándar
_order_number, que es compatible con WooCommerce Sequential Order Numbers (versión gratuita y Pro), Custom Order Numbers for WooCommerce (WPFactory) y cualquier plugin que siga la misma convención. Para los plugins que almacenan el número en otro lugar o lo calculan sobre la marcha (por ejemplo, YITH Sequential Order Number, integraciones personalizadas), utiliza el filtroayudawp_euw_pre_resolve_wc_orderpara proporcionar tu propio verificador. -
¿Aparecerá el aviso en todos los correos electrónicos de WooCommerce?
-
No. Por defecto, el aviso solo se añade a los correos electrónicos dirigidos al cliente que son relevantes para el plazo de desistimiento: procesamiento del pedido, pedido completado y factura del cliente (la que se envía manualmente). Los correos electrónicos de administración nunca incluyen el aviso. El aviso también está condicionado a la lista configurada de estados de pedido elegibles (por defecto: «Procesando» y «Completado»), por lo que el correo electrónico de la factura manual solo lo incluye cuando el pedido se encuentra en uno de esos estados. Puedes modificar la lista de correos electrónicos con el filtro
ayudawp_euw_email_idsy la lista de estados en «Desistimientos Ajustes Estados de pedido elegibles» o con el filtroayudawp_euw_allowed_statuses. -
¿En qué idiomas está disponible el plugin?
-
Todas las cadenas están preparadas para su traducción. Las traducciones se gestionan a través de la plataforma oficial de WordPress.org en translate.wordpress.org, por lo que cualquier configuración regional que cuente con suficientes cadenas traducidas se incorporará automáticamente a tu sitio web cuando el idioma del sitio de WordPress coincida. Allí se aceptan contribuciones tanto para configuraciones regionales existentes como para nuevas.
-
¿Cumple el plugin con los requisitos del RGPD?
-
El plugin solicita la aceptación explícita de la política de privacidad antes del envío y almacena la dirección IP del visitante y el agente de usuario únicamente con el fin de garantizar la trazabilidad legal de la solicitud. Consulta la sección Privacidad más arriba para ver la lista completa de los campos almacenados. A partir de la versión 1.4.0, el plugin también se integra de forma nativa con las herramientas del RGPD de WordPress: aparece un fragmento de política de privacidad sugerido en Ajustes Privacidad Guía de políticas, y los datos de retirada se muestran en Herramientas Exportar datos personales y Herramientas Borrar datos personales, de modo que los administradores pueden atender las solicitudes de acceso y supresión sin salir del panel de administración de WordPress.
-
¿Qué pasa si el cliente borra su cuenta de usuario de WordPress?
-
El registro de desistimientos es independiente de la tabla de usuarios de WordPress, se almacena como un tipo de contenido personalizado privado indexado según el correo electrónico del cliente. Al eliminar la cuenta de usuario no se borra automáticamente el registro; el cliente debe solicitar el borrado a través de Herramientas Borrar datos personales (donde el plugin registra una herramienta de borrado que elimina todas las solicitudes de retirada que coincidan con el correo electrónico del cliente) o bien puedes borrar manualmente los registros correspondientes de
ayudawp_withdrawalsi tu política de retención de datos así lo exige. -
¿Puedo personalizar los asuntos y textos de los correos electrónicos?
-
Actualmente, los correos electrónicos se envían en texto sin formato y su contenido se puede traducir a través del dominio de texto estándar de WordPress. Está previsto lanzar más adelante plantillas de correo electrónico en HTML que se ajusten al tema de correo electrónico de WooCommerce. Por ahora, para realizar personalizaciones avanzadas es necesario utilizar los filtros de wp_mail.
-
¿Qué ganchos ofrece el plugin a los desarrolladores?
-
Filtros:
ayudawp_euw_grace_days— Días adicionales añadidos al plazo de 14 días. El valor por defecto es el valor almacenado en los ajustes; el filtro recibe ese valor, por lo que al devolver$days + Nse le suman esos días.ayudawp_euw_skip_deadline_check: se mantiene por motivos de compatibilidad con versiones anteriores, pero ya no tiene ningún efecto, ya que, desde la versión 1.8.0, la fecha límite es meramente orientativa y nunca impide el envío de una entrada, por lo que no hay nada que omitir.ayudawp_euw_email_ids— Array de direcciones de correo electrónico de WooCommerce en las que se inserta el aviso de desistimiento.ayudawp_euw_allowed_statuses— Array de estados de pedido (sin el prefijowc-) para los que se ofrecen el botón de cancelación y la notificación por correo electrónico. Recibe el valor almacenado en los ajustes y elWC_Orderactual (cuando esté disponible).ayudawp_euw_allow_unverified_order— Devuelvetruepara aceptar envíos cuyo número de pedido no coincida con ningún pedido real de WooCommerce. Útil para sitios web que también gestionan compras ajenas a WooCommerce.ayudawp_euw_pre_resolve_wc_order— Interrumpe el proceso de resolución del pedido. Devuelve una instancia deWC_Orderpara aceptar,falsepara rechazar onull(por defecto) para pasar a las estrategias integradas. Útil para plugins que almacenan el número de pedido mostrado fuera del metadato estándar de la entrada_order_number(por ejemplo, YITH Sequential Order Number, integraciones ERP personalizadas).ayudawp_euw_resolve_wc_order— Filtro tardío que recibe el valor resuelto deWC_Order(ofalse) y la referencia sin procesar, para auditorías o anulaciones de última hora.
Acciones:
ayudawp_euw_after_submission— Se activa tras procesarse una solicitud de desistimiento. Argumentos: CPT ID, submission data array.ayudawp_euw_after_status_change— Se activa tras un cambio de estado (individual o por lotes). Argumentos: CPT ID, new status, optional admin comment.ayudawp_euw_after_form: se activa dentro del contenedor público del formulario, justo después de la etiqueta</form>, para que los módulos puedan insertar contenido debajo del formulario sin acoplamiento. No admite argumentos. Lo utiliza internamente el formulario modelo del Anexo I.B.
-
¿Es suficiente este plugin para cumplir con la Directiva de la UE 2023/2673?
-
El plugin cubre los requisitos funcionales que la Directiva 2023/2673 impone en toda la UE a partir del 19 de junio de 2026: una función de desistimiento digital fácilmente localizable, la elegibilidad en función del estado del pedido con un indicador de plazo de aviso, exclusiones del Artículo 16 con herencia de subcategorías, pruebas en soporte duradero mediante el hash SHA-256 del recibo, el formulario modelo del Anexo I.B de la Directiva 2011/83/UE y las casillas de doble consentimiento en la página de pago que permiten las excepciones del Art. 16(m) y del Art. 14(4)(a). Además, añade herramientas operativas que la directiva no exige pero que facilitan la gestión de las solicitudes, como la inserción de correos electrónicos por estado, el ciclo de vida de los estados con acciones masivas, la integración nativa del RGPD, el aviso público sobre productos excluidos y la trazabilidad completa. Los estados miembros pueden añadir requisitos nacionales adicionales a la base de la UE, como el flujo de confirmación en dos pasos con una página de revisión intermedia que exigen los estados miembros más estrictos (Alemania, por ejemplo), disponible desde la versión 1.7.0. Una futura versión se adaptará a cualquier requisito adicional del Real Decreto español definitivo una vez que se publique. El cumplimiento legal depende en última instancia de tu modelo de negocio, catálogo y jurisdicción; el plugin proporciona los componentes técnicos básicos, no asesoramiento legal. Consulta a un especialista en derecho del consumidor para tu caso específico.
Reseñas
Colaboradores y desarrolladores
«Cumplimiento del derecho de desistimiento de la UE» es un software de código abierto. Las siguientes personas han colaborado con este plugin.
Colaboradores«Cumplimiento del derecho de desistimiento de la UE» está traducido en 1 idioma. Gracias a los traductores por sus contribuciones.
Traduce «Cumplimiento del derecho de desistimiento de la UE» a tu idioma.
¿Interesado en el desarrollo?
Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.
Registro de cambios
1.8.1
- Corrección: El enlace de «Ver en la administración» en el correo electrónico de nueva solicitud llegaba vacío al gestor de la tienda. El correo electrónico se generaba durante el envío público del cliente, por lo que WordPress comprobaba los permisos de edición con los del cliente (que no los tiene) en vez de con los del destinatario, así que no devolvía ninguna URL. El enlace ahora se crea directamente a partir del ID de la solicitud, así que siempre abre la solicitud en wp-admin. A los visitantes anónimos sin permisos les sigue frenando WordPress cuando lo abren.
1.8.0
- Mejorado: Las solicitudes de desistimiento ya no se rechazan automáticamente por fecha límite. El plazo de 14 días comienza a contar, según la ley, a partir de la entrega (art. 9, apartado 2, letra b), de la Directiva 2011/83/UE), una fecha que la tienda no puede detectar automáticamente, por lo que bloquear una solicitud en la fecha del pedido o de finalización suponía el riesgo de rechazar a consumidores que aún se encontraban dentro del plazo legal. La elegibilidad se rige ahora por el estado del pedido, y las solicitudes que parecen haber superado el plazo aproximado se marcan en el correo electrónico de aviso al administrador para su revisión manual en lugar de rechazarse, siguiendo el mismo enfoque de «nunca rechazar automáticamente, lo decide una persona» que ya se utiliza para los artículos excluidos del Artículo 16. El botón en «Mi cuenta» y el aviso del correo electrónico transaccional siguen la misma regla, por lo que un pedido con un estado elegible siempre ofrece las opciones de desistimiento. Los ajustes de fecha límite (base, días de gracia) ahora regulan esa señal de aviso, y el filtro
ayudawp_euw_skip_deadline_checkse mantiene por motivos de compatibilidad con versiones anteriores, pero ya no tiene ningún efecto. - Mejorado: El formulario público, la pantalla de confirmación, el mensaje de confirmación y el correo electrónico de acuse de recibo indican ahora claramente que el hecho de enviar una solicitud no implica por sí mismo que se acepte la desistimiento, sino que sigue estando sujeto a los plazos y condiciones legales (el plazo de 14 días a partir de la entrega, o desde el inicio de la descarga en el caso de los contenidos digitales, y las excepciones del artículo 16). De este modo, se gestionan las expectativas de forma realista, ahora que el plazo ya no es un límite inamovible.
- Mejorado: El aviso por defecto «Otras excepciones del Artículo 16» sobre productos excluidos, la etiqueta de estado por producto o categoría y la página de desistimiento generada automáticamente ahora mencionan los soportes de audio, vídeo o software precintados que se hayan desprecintado tras la entrega (art. 16, letra i), de la Directiva 2011/83/UE), de modo que las tiendas que vendan CD, vinilos, películas o software en caja puedan reconocer la excepción sin necesidad de reescribir el texto. Los avisos existentes editados desde los ajustes conservan su valor almacenado, solo las nuevas instalaciones y los valores por defecto sin modificar muestran la nueva redacción.
- Corrección: En el proceso de finalizar compra clásico la casilla de consentimiento para contenidos digitales (Art. 16(m)) podía aparecer dos veces (una vez en la columna de datos del cliente y otra en el panel de revisión del pedido que WooCommerce actualiza mediante AJAX), y un filtro por solicitud no lograba eliminar esta duplicación entre las dos pasadas de procesamiento. Ahora se procesa una sola vez, en la columna de detalles del cliente, donde la actualización AJAX no interviene, por lo que la casilla de verificación obligatoria deja de perder su estado marcado cuando el cliente cambia la dirección, el método de envío o la forma de pago.
Para entradas anteriores del registro de cambios revisa el archivo changelog.txt.
