Plugin per WooCommerce che gestisce il diritto di recesso conforme al D.Lgs. 209/2025, con full log, tracciabilità e anti-manomissione.
Panoramica generale
Plugin per WooCommerce che gestisce il diritto di recesso conforme al D.Lgs. 209/2025, permettendo ai clienti di esercitare il recesso sia da area personale che come guest, con full log, tracciabilità e anti-manomissione.
Funzionalità principali
1. Gestione Recesso Clienti
- Recesso per utenti registrati → Accesso dall'area "I miei recessi" nel My Account
- Recesso per ospiti (guest) → Verifica con Numero Ordine + Email + Nome (supporta con/senza #)
- Selezione prodotti → L'utente può selezionare singoli prodotti (recesso parziale)
- Calcolo scadenza → Basato su data consegna o data ordine (configurabile)
- Note opzionali → L'utente può aggiungere note alla richiesta
- Privacy + Termini → Checkbox obbligatoria con link a Privacy Policy e Termini
2. Data di Consegna
- Admin imposta data → Nel backend dell'ordine, campo "Data di consegna"
- Calcolo automatico → Data ordine + X giorni (configurabile, es. 2 giorni)
- Utente può inserire → Opzionale (disabilitato di default)
- Validazione → Data non può essere prima del giorno dopo l'ordine né futura
- Stato "Consegnato" → Impostato automaticamente quando si registra la data consegna
- Pulsante "Imposta come Consegnato" → Nel backend ordine per aggiornare stato e data
3. Esclusione Prodotti
- Esclusione singola → Metabox nel prodotto: "Escludi dal diritto di recesso"
- Esclusione per categoria → Seleziona categorie escluse nelle impostazioni
- Esclusione per tipologia → Prodotti digitali, virtuali, abbonamenti, personalizzati
- Bulk edit → Modifica massiva da lista prodotti
- Motivo esclusione → Digitale, personalizzato, deperibile, altro
4. Gestione Admin
- Lista recessi → Colonne: ID, Ordine, Cliente, Prodotti, Data, Integrità, Email
- Filtro per stato → In attesa, Accettato, Completato, Rifiutato
- Dettaglio recesso → Visualizza prodotti, note cliente, motivo rifiuto
- Cambio stato → Con invio email automatico al cliente
- Motivo rifiuto → Campo testo obbligatorio che viene inviato via email
- Note interne → Campo privato per admin
- Creazione manuale → Pagina dedicata per creare recessi da admin (con ricerca ordine)
- Redirect creazione → Reindirizza da post-new.php?post_type=wc_recesso alla pagina corretta
- Stati ordine → "In attesa di reso", "Reso completato", "Consegnato"
- Colonna recesso → Nella lista ordini WooCommerce mostra stato recesso
5. Log e Tracciabilità
- Email al cliente → Conferma immediata con timestamp e prodotti
- Email admin → Notifica di nuova richiesta
- Log email → Tabella separata wp_wc_recesso_email_log
- Pagina log email → Dedicata sotto WooCommerce con filtri per email, tipo, data, stato
- Colonna email → Nella lista recessi mostra numero di email inviate
- Hash crittografico → HMAC-SHA256 per verificare integrità dati
- IP e User Agent → Tracciati per ogni richiesta
- Soft delete → I recessi non possono essere cancellati definitivamente
6. Email Automatiche
- Ricevuta cliente → Subito dopo la richiesta: ID recesso, ordine, timestamp, prodotti, giorni, indirizzo reso
- Notifica admin → Nuova richiesta: Dettagli cliente, prodotti, link gestione
- Aggiornamento stato → Admin cambia stato: Nuovo stato, prodotti, motivo rifiuto (se presente), indirizzo reso (se accettato)
- Tutte le email sono personalizzabili con placeholder e testi di default visibili nelle impostazioni
7. Impostazioni Plugin
- Generale → Giorni recesso (min 14), usa/consegna, finestra consegna, calcolo automatico, permetti utente
- Indirizzo resi → Personalizzabile, default store
- Tipologie esclusi → Prodotti digitali, virtuali, abbonamenti, personalizzati
- Esclusioni → Categorie escluse, pagina Termini
- Testi form → Messaggio introduttivo, successo, privacy (multilingua con placeholder)
- Email → Oggetto e corpo per ricevuta, admin, cambio stato (multilingua con placeholder)
- Privacy → URL Privacy Policy
- CSS → CSS personalizzato con guida classi disponibili
8. Shortcode
[recesso_dlgs209] →
Form pubblico per clienti guest
9. Licenza
- Attivazione → Chiave licenza con validazione API
- Cron giornaliero → Verifica automatica stato licenza
- Aggiornamenti → Solo con licenza attiva
- Blocco plugin → Se non attivato, avviso admin
Tabelle dati
- wp_posts (post_type=wc_recesso) → Richieste di recesso
- wp_postmeta → Metadati: ordine, prodotti, timestamp, note, hash
- wp_wc_recesso_email_log → Log di tutte le email inviate (con stato e motivo errore)
Sicurezza e conformità
- Hash HMAC-SHA256 per integrità
- Log email append-only
- Soft delete (impossibile cancellare definitivamente)
- Tracciamento IP e User Agent
- Email di conferma come prova documentale
- Supporto guest con verifica email
- Pagina log email per audit completo
Multilingua
- Supporto nativo per Polylang e WPML
- Traduzioni incluse: Italiano, Inglese
- Testi form e email multilingua con placeholder
- Estendibile ad altre lingue
Stati
Stati Recesso
- recesso-in-attesa → Richiesta ricevuta, in valutazione
- recesso-accettato → Accettato, cliente deve restituire
- recesso-completato → Reso completato, rimborso gestito
- recesso-rifiutato → Rifiutato con motivazione
Stati Ordine
- wc-in-reso → In attesa di reso (recesso totale)
- wc-reso-completato → Reso completato
- wc-delivered → Consegnato (data consegna registrata)
Flussi utente
Utente registrato
Ordine pagato → Data consegna (se fisico) → Accede a My Account → Dettagli ordine → Clicca "Diritto di recesso" (se nei termini) → Seleziona prodotti → Aggiunge note → Conferma → Riceve email di conferma → Admin gestisce richiesta → Cliente riceve email aggiornamenti
Utente guest
Ordine pagato → Accede a pagina con shortcode [recesso_dlgs209] → Inserisce: Numero Ordine + Email + Nome → Verifica → Selezione prodotti → Conferma → Riceve email di conferma → Admin gestisce richiesta
Flusso Admin
Gestione Recesso
- Lista recessi: WooCommerce → Recessi DLgs 209
- Dettaglio: Clicca su un recesso
- Cambia stato: Seleziona stato + eventuale motivo rifiuto
- Email automatica: Inviata al cliente
Creazione Manuale
- WooCommerce → Nuovo Recesso
- Cerca ordine: Inserisci ID o numero (con/senza #)
- Seleziona prodotti: Spunta quelli da recedere
- Crea: Genera la richiesta
Log Email
- WooCommerce → Log Email
- Filtri: Per email, tipo, data, stato
- Visualizza: Tutte le email inviate/fallite
Riepilogo tecnico
- Versione → 1.2.0
- Richiede → WooCommerce
- PHP minimo → 7.4
- Supporto guest → Sì
- Supporto multilingua → Sì (Polylang/WPML)
- Log immodificabile → Sì (hash + log email)
- Soft delete → Sì
- Bulk edit prodotti → Sì
- Personalizzazione CSS → Sì
- Pagina log email → Sì
- Creazione admin recesso → Sì
Novità rispetto alla versione precedente
- Pagina Log Email → Dedicata con filtri per audit completo
- Colonna Email → Nella lista recessi mostra numero email inviate
- Tipologie esclusi → Prodotti digitali, virtuali, abbonamenti
- Testi default → Placeholder visibili in tutte le email e testi form
- CSS moderno → Impostazioni con grafica aggiornata
- Redirect creazione → Pulsante "Nuovo recesso" del CPT reindirizzato alla pagina corretta
- Indirizzo resi → Personalizzabile nelle impostazioni