Obbligatorio dal 19 giugno 2026

IL PULSANTE DI RECESSO
CHE LA LEGGE TI IMPONE

Dal 19 giugno 2026 ogni e-commerce che vende a consumatori UE deve offrire un pulsante di recesso online (art. 54-bis Codice del Consumo, Direttiva UE 2023/2673). Questo plugin gratuito mette WooCommerce, FluentCart ed Easy Digital Downloads a norma — pulsante, modulo in due passaggi, ricevuta su supporto durevole e log immodificabile — in pochi minuti.

WWU Withdrawal Button - The EU withdrawal button for WooCommerce, FluentCart & EDD | Product Hunt

Open source · GPLv3 · WooCommerce (HPOS) + FluentCart + EDD · IT / EN / DE / FR / ES

Non è un consiglio. È un obbligo con sanzioni pesanti.

La scadenza del 19 giugno 2026 non è indicativa. Chi non si adegua rischia molto.

10M€

Sanzione fino a 10 milioni di euro o al 4% del fatturato annuo (art. 27 Cod. Consumo). L'AGCM può agire d'ufficio.

NULLE

Le clausole che ostacolano il recesso diventano nulle. L'esposizione può essere anche retroattiva.

TUTTI

Vale per tutti i venditori B2C online — anche PMI e micro-imprese, senza soglie di fatturato. Anche venditori extra-UE che vendono in UE.

Copre tutti i 6 requisiti tecnici obbligatori

Quello che la legge impone, il plugin lo fa al posto tuo.

1

Pulsante sempre visibile

«Recedere dal contratto qui» nell'area ordini, con la dicitura legale esatta per ogni lingua (IT/EN/DE/FR/ES) — e un link diretto nelle email d'ordine (automatico su WooCommerce ed EDD), così è facile da raggiungere come vuole la legge.

2

Modulo in due passaggi

Inserimento dati → «Conferma recesso». Il motivo non è obbligatorio. Nessun dark pattern.

3

Ricevuta su supporto durevole

Email immediata + PDF allegato + link permanente verificabile, con contenuto e data/ora esatte di trasmissione.

4

Log immodificabile

Archivio append-only con hash-chain a prova di manomissione + ancoraggio gratuito a OpenTimestamps (data certa). Data, ora, IP, dati contratto.

5

Divieto di dark pattern

Recesso facile come l'acquisto: nessun pulsante nascosto, nessun obbligo di telefonare, nessuna finestra-trappola.

6

Documenti aggiornati

Genera il modulo tipo (Allegato I-B) e le clausole pronte per Privacy, Condizioni e info precontrattuali.

7

Recesso parziale per prodotto

La legge UE consente di recedere anche da parte degli articoli di un ordine (Allegato I-B: «dei seguenti beni»). Il modulo mostra una checklist opzionale: il consumatore seleziona i prodotti da restituire; lasciando vuoto, recede dall'intero ordine. La selezione appare sulla ricevuta su supporto durevole e nel cruscotto richieste. Il recesso non è mai bloccato.

8

API & webhook per le automazioni

Per chi sviluppa: un'API REST di sola lettura (autenticata con Password applicazione di WordPress) e un webhook firmato (HMAC) che notifica il tuo endpoint quando un recesso è confermato — pronto per Zapier, Make, n8n, CRM o helpdesk. Privacy-first: l'IP del cliente non è mai esposto. Nessun modo di creare un recesso via API (è l'atto legale del consumatore).

Live in 3 passi

Installa, attiva, configura. Il resto è automatico.

01

Installa & attiva

Carica il plugin. Crea da solo la pagina di recesso, le tabelle del log e dichiara la compatibilità HPOS.

02

Scegli l'ambito

Solo consumatori UE/SEE (default) o sempre. Le esclusioni art. 59 sono rilevate in automatico, con override.

03

Sei a norma

Il pulsante appare nell'area ordini e nelle email. Ogni recesso è registrato, datato e notificato — e lo gestisci (lavorato, reinvio ricevuta, rimborso) da un'unica pagina.

Costruito da ingegneri, non da template

Sicurezza e performance al primo posto. Audit di sicurezza superato con zero finding.

WooCommerceFluentCartEasy Digital Downloads

Tre piattaforme

WooCommerce (HPOS + legacy), FluentCart e Easy Digital Downloads (3.0+), tramite un layer adapter comune. Un solo plugin per tutte. Su FluentCart il plugin rileva automaticamente un eventuale add-on nativo di recesso e si fa da parte — zero doppi pulsanti per il cliente.

Abbonamenti a norma

Un solo diritto di recesso di 14 giorni per contratto: il pulsante compare sull'ordine iniziale ed è nascosto sui rinnovi. Funziona con WooCommerce Subscriptions, FluentCart ed EDD Recurring; rilevamento fail-safe (se incerto, il pulsante resta).

Prova legale robusta

Log immodificabile con catena di hash verificabile + marca temporale gratuita (OpenTimestamps, Bitcoin) o qualificata eIDAS via RFC 3161 — Sectigo gratis, oppure le TSA nazionali (Aruba, InfoCert, D-Trust, Universign, FNMT, SwissSign). Anche il rimborso viene registrato.

Multilingua & giurisdizioni

Dicitura statutaria corretta per IT, EN, DE (§356a), FR (D.221-5), ES. Applicabilità per Paese del consumatore (Rome I).

Compatibile col tuo stack

Complianz (consenso), TranslatePress, cache (WP Rocket / LiteSpeed). Shortcode e hook per personalizzare tutto.

Automazioni & API

Collega i recessi a Zapier, Make, n8n, un CRM o un helpdesk: API REST di sola lettura (autenticata con Password applicazione) + webhook firmato HMAC alla conferma del recesso + 33 hook documentati. Privacy-first: l'IP del cliente non è mai esposto.

Privacy & GDPR by design

IP anonimizzato nell'hash, IP completo cancellato dopo una retention configurabile (default 10 anni), registro consensi esportabile in CSV e due clausole privacy pronte (legittimo interesse). Niente tracker, niente script o font remoti.

Facile anche per chi non è tecnico

Niente riga di comando, niente codice. Il plugin ti guida e ti dice subito se qualcosa non va.

Cruscotto guidato

Una checklist di setup ti dice cosa manca con un clic per sistemarlo, dove appare il pulsante e perché potrebbe non comparire su un ordine.

Email integrata con WooCommerce

La ricevuta è una vera email WooCommerce: eredita logo, colori e intestazione del tuo store, è personalizzabile e ha un'anteprima nei settaggi.

Test di consegna email

Rileva se hai un plugin SMTP attivo e ti fa inviare un'email di prova con un clic — così sai subito se le ricevute partono davvero (la causa #1 dei problemi).

Self-service per il cliente

Il cliente vede i suoi ordini idonei e avvia il recesso da solo — area account, pagina dedicata o link nell'email d'ordine. Una guida passo-passo lo rassicura su tempi, rimborso e resi mentre procede.

Verifica leggibile

Il link di verifica della ricevuta mostra un certificato chiaro (integrità, ordine, data/ora, hash) — non codice grezzo. JSON disponibile per chi lo vuole.

Blocco, shortcode & CSS

Inseriscilo ovunque col blocco «Recesso self-service» o con gli shortcode, e personalizza ogni elemento via CSS (riferimento classi incluso).

Gestione richieste in un posto

Un cruscotto Richieste con stato (aperta / lavorata / rimborsata), badge di integrità della catena e azioni a un clic: segna come lavorata, reinvia la ricevuta e apri l'ordine per rimborsare (il rimborso è registrato come prova). Abbonamenti e recessi parziali sono segnalati.

Vendi biglietti, corsi o contenuti digitali?

Il diritto di recesso si applica per default. Per i casi che la legge esenta (art. 59 Cod. Consumo) il plugin fa la cosa giusta — e dove serve il consenso lo raccoglie al checkout e ne conserva la prova su supporto durevole.

Biglietti per eventi a data fissa

Niente diritto di recesso (art. 59, lett. n). Tagghi il prodotto o la categoria e il pulsante è nascosto, senza casella né email. Vale anche per le sessioni live datate (es. un webinar del 20 giugno).

Registrazioni e contenuti digitali

Accesso immediato = esenzione condizionata (art. 59, lett. o). Al checkout compare la casella di consenso e parte l'email di conferma su supporto durevole; solo allora il pulsante si nasconde. Senza spunta, il cliente tiene i suoi 14 giorni.

Servizi e sessioni Zoom immediate

Un servizio eseguito subito → «servizio completamente eseguito» (art. 59, lett. a, condizionata): consenso al checkout + email, esenzione valida solo a prestazione completata.

Fail-safe: se una condizione manca o la configurazione è incompleta, il pulsante resta visibile — a tutela del consumatore. Il plugin non nasconde mai il recesso «alla cieca». E se un ordine è davvero esente, spieghiamo al cliente il perché — con il riferimento di legge preciso (es. «Art. 59(1)(o) Cod. Consumo»), in un testo editabile nelle impostazioni.

Domande frequenti

Chi deve adeguarsi?

Tutti i venditori B2C online verso consumatori UE/SEE, senza soglie di fatturato — incluse PMI, micro-imprese e freelance con shop. Anche i venditori extra-UE (es. svizzeri) che vendono a consumatori UE devono adeguarsi per quei clienti.

Basta installare il pulsante o devo aggiornare anche le condizioni di vendita?

Vanno aggiornati anche i documenti. La legge (art. 6 della Direttiva sui diritti dei consumatori) impone di informare il consumatore su come esercita il recesso — e ora questo include il nuovo pulsante. Le tue Condizioni di vendita e le informazioni precontrattuali vanno modificate nell'articolo sul recesso per prevedere la modalità con pulsante. Installare il plugin aggiunge il pulsante ma non cambia i tuoi documenti pubblicati: per questo il plugin ti dà le clausole pronte da incollare (cruscotto → Conformità). Non è una consulenza legale: fai sempre revisionare i testi dal tuo legale.

Il pulsante sostituisce il modulo di recesso classico?

No. Il pulsante si aggiunge al modulo tipo (Allegato I-B), che resta obbligatorio nelle informazioni precontrattuali. Il plugin genera entrambi.

Il timestamp ha valore legale?

Scegli tu: OpenTimestamps (gratuito, ancorato a Bitcoin, verificabile da chiunque) oppure una marca temporale qualificata eIDAS via RFC 3161 — c'è un endpoint Sectigo qualificato gratuito e senza account, oppure colleghi la tua TSA nazionale (Aruba, InfoCert, D-Trust, Universign, FNMT, SwissSign) per la massima robustezza probatoria.

È davvero gratis?

Sì. Open source con licenza GPLv3, regalato alla community. Nessun upsell, nessun tracciamento.

È una consulenza legale?

No. È uno strumento tecnico di supporto alla conformità. Fai sempre revisionare i tuoi documenti dal tuo consulente legale.

Mettiti a norma prima del 19 giugno 2026

Gratuito, open source, pronto all'uso. Scaricalo, attivalo, sei a posto.