Documentation
Le bouton « WWU Withdrawal Button » permet à WooCommerce, FluentCart et Easy Digital Downloads de se conformer à la bouton de rétractation en ligne conforme à la directive européenne 2023/2673 (art. 54-bis du Code de la consommation). Bouton statutaire, formulaire en deux étapes, reçu sur support durable, journal non modifiable et horodatage. Gratuit et open source (GPLv3).
Comment ça marche (en pratique)
Pour le client, c'est très simple : quatre étapes :
- Cliquez sur le bouton. Le client ouvre sa commande et clique sur « Résilier le contrat ici » — depuis l'espace client, via le lien figurant dans l'e-mail de confirmation de commande, ou depuis la page publique (sans compte : recherchez la commande à l'aide du numéro et de l'adresse e-mail). La mention est la suivante exacte, telle que prévue par la loi pour chaque langue.
- Formulaire en deux étapes. Vérifiez les produits que vous souhaitez annuler (vous ne pouvez cocher que certains d'entre eux — retrait partiel), puis confirmez. Aucune obligation, aucun « dark pattern ».
- Reçu sur un support durable. Dès qu'il confirme, il reçoit e-mail + PDF + lien permanent vérifiable avec la raison de l'annulation et la date/heure exactes. La commande passe alors au statut « annulation demandée » et tu reçois une notification.
- Preuve irréfutable. Chaque étape est consignée dans un journal ajout uniquement avec une chaîne de hachage et un horodatage (date certifiée). Tu gères ensuite le remboursement comme toujours — également enregistré comme preuve du respect du délai de 14 jours.
Tout le reste du plugin sert à mettre en place ce flux justifié, facile à gérer et défendable. En résumé, voici ce que cela comprend (chaque point fait l'objet d'une section ci-dessous) :
- Pour le client : bouton statutaire multilingue partout où cela est nécessaire (compte, e-mail, page publique avec recherche d'invités, shortcode, bloc), guide étape par étape concernant les délais et le remboursement, note « car exonéré » lorsque le bouton est, à juste titre, absent, certificat de vérification lisible de la facture, rétractation partielle pour un produit.
- Pour vous (commerçant) : tableau de bord d'intégration avec une liste de contrôle accessible en un clic et Test d'envoi d'e-mails, gestion des demandes (traitée/remboursée, badge d'intégrité de la chaîne, renvoi du reçu, remboursement enregistré), page Conformité avec compte à rebours, étiquettes prédéfinies et clauses prêtes à l'emploi, reçu sous forme d'e-mail WooCommerce authentique avec aperçu, champ CSS personnalisé.
- Gestion juridique intelligente : abonnements (un seul droit par contrat, bouton sur la commande initiale), Exemptions – Art. 59 avec obtention du consentement lors du paiement et confirmation sur un support durable, champ d'application par pays (UE/EEE ou toujours), gestion B2B.
- Test, horodatage et intégrité : journal inaltérable avec chaîne de hachages + amarrage gratuit OpenTimestamps (Bitcoin) ou eIDAS RFC 3161 certifié (Sectigo gratuit ou QTSP nationaux), nouvelle tentative automatique pour les marques, remboursement enregistré.
- Confidentialité et RGPD : IP anonymisé dans le hachage, l'adresse IP complète peut être supprimée après une période de conservation configurable (par défaut 10 ans), registre des consentements exportable au format CSV, deux clauses de confidentialité prêtes à l'emploi (intérêt légitime).
- Documents et conformité : générateur du formulaire type de l'annexe I-B et des clauses pour les conditions précontractuelles / Conditions générales / Politique de confidentialité à copier-coller — en rappelant qu'il ne suffit pas d'installer le bouton, il faut également mettre à jour vos conditions générales.
- Automatisations et développeurs : API REST en lecture seule + webhook signé (HMAC) + 33 hooks documentés pour Zapier/Make/n8n/CRM/service d'assistance, respect de la vie privée avant tout (l'adresse IP du client n'est jamais divulguée).
- Plateformes et compatibilité : WooCommerce (HPOS + version héritée), FluentCart et Easy Digital Downloads avec un seul plugin ; compatible avec Conformité, TranslatePress et les plugins de mise en cache (WP Rocket / LiteSpeed / W3TC).
Conditions requises
| WordPress | 5.6+ (6.x recommandé) |
|---|---|
| PHP | 8.1+ (version du répertoire WordPress.org, avec Dompdf 3.x). Toujours sous PHP 7.4–8.0 ? Dans les publication sur GitHub Il existe une version compatible avec PHP 7.4 (mêmes fonctionnalités, Dompdf 2.x) : il s'agit d'une solution provisoire et cela ne durera pas éternellement — PHP 7.4 a atteint sa fin de vie en novembre 2022 ; il est conseillé de passer à PHP 8.1 ou une version ultérieure (plus rapide et plus sécurisée). |
| Commerce en ligne | WooCommerce (HPOS + version héritée), FluentCart ou bien Easy Digital Downloads (3.0+) |
| Un plugin SMTP (par exemple FluentSMTP) pour envoyer les reçus |
Installation
- Depuis le répertoire WordPress.org (recommandé) : Dans WordPress, rendez-vous sur Plugins → Ajouter un nouveau plugin, rechercher « Droit de rétractation WWU » → Installer maintenant. C'est ici que tu reçois les mises à jour automatiques. Page sur WordPress.org →
- Sinon (fichier zip manuel) : télécharger
wwu-withdrawal-button.zipde publication sur GitHub (la bibliothèque PDF est incluse), puis Plugins → Ajouter → Importer un plugin → sélectionnez le fichier ZIP → Installer maintenant (s'il existe déjà, sélectionnez « Remplacer l'actuel par celui qui vient d'être chargé »). - Activer. Le plugin crée automatiquement la page publique « Droit de rétractation » ainsi que les tableaux de journal.
Configuration
Aller en haut Bouton « Retrait » → Paramètres et procédez de haut en bas. Le Tableau de bord Il y a une liste de contrôle qui devient toute verte quand tout est en ordre.
- Activer le droit de rétractation.
- Champ d'application — « UE/EEE uniquement » (minimum légal) ou « Toujours afficher » ; exclusion B2B (numéro de TVA) en option.
- Conseils aux consommateurs — délai de rétractation en jours (min. 14 ; vous pouvez en accorder davantage) et, si vous le souhaitez, un texte d'information personnalisé.
- Reçu et justificatif — pièce jointe au format PDF, e-mail de notification, horodatage (OpenTimestamps gratuit, ou RFC 3161), durée de conservation, slug de la fiche de compte.
- Envoi d'e-mails — configurez le SMTP, effectuez un test, puis « Prévisualiser l'e-mail de confirmation ».
Tous les paramètres
| Configuration | Que fait-il ? |
|---|---|
| Activer la fonction de retrait | Affichez le bouton aux consommateurs éligibles. |
| Mode d'applicabilité | UE/EEE uniquement · Toujours · Liste de pays personnalisée. + bascule B2B. |
| Délai de rétractation (jours) | Fenêtre affichée au client. 14 au minimum, extensible. |
| Texte d'aide personnalisé | Remplace le texte d'aide par défaut (HTML de base). Responsabilité du commerçant. |
| Mentions légales 1.2.1 | Modifiez le texte des clauses (précontractuelles / Conditions générales / Politique de confidentialité / Consentement et dérogations) avec vos propres mots — elles remplaceront le modèle par défaut partout, y compris dans le shortcode [webwakeupwdb_info], et suppriment la mention « texte d'exemple ». Champ vide = le modèle de base est conservé. |
| Joindre le reçu au format PDF | Joignez une copie au format PDF à la facture (l'e-mail constituant de toute façon un support durable). |
| E-mail de notification | Où recevoir les notifications concernant les nouvelles demandes. Vous pouvez saisir plusieurs adresses séparées par des virgules pour informer plusieurs personnes ; le premier est également celui qui est présenté au client comme contact du magasin. |
| Horodatage certifié | OpenTimestamps · RFC 3161 (point de terminaison + identifiants) · Aucun. |
| Durée de conservation des pièces justificatives (en années) | Durée de conservation du journal (par défaut : 10). |
| Slug de l'onglet « Mon compte » | Slug de la fiche « Droit de rétractation » dans l'espace client. |
| Personnalisation CSS | Personnalisez chaque élément graphique à partir de Personnalisation de WordPress → CSS supplémentaire, en utilisant les classes/variables documentées du plugin (référence incluse dans les paramètres). |
| FluentCart | Voiture (par défaut) · Toujours · Désactivé. En mode Auto, le plugin affiche le bouton mais se masque automatiquement s’il détecte une extension native de FluentCart, afin que le client ne voie jamais deux boutons. Cela ne concerne que les interfaces grand public de FluentCart ; le tableau de bord des demandes et le journal ne sont pas modifiés. |
Mettez à jour vos documents juridiques (obligatoire)
Installer le bouton ça ne suffit pas pour être conforme à la réglementation. La directive relative aux droits des consommateurs (art. 6) impose d'informer le consommateur sur comme exercez votre droit de rétractation : grâce à l'ajout de ce bouton, vos Conditions générales de vente et les informations précontractuelles doivent être mises à jour dans le'article sur le droit de rétractation pour activer le nouveau mode avec bouton. Le plugin ajoute le bouton, mais ne modifie pas vos documents publiés.
Pour faire simple, le plugin génère des clauses prêtes à être copiées-collées — vous les trouverez dans Bouton « Retrait » → Conformité (et via le shortcode [webwakeupwdb_info type="précontractuel|conditions|confidentialité"]):
- Informations précontractuelles — la clause « Droit de rétractation » qui mentionne explicitement le bouton « Se rétracter du contrat ici », ainsi que le formulaire type (annexe I-B) qui reste obligatoire.
- Conditions générales de vente — la clause « Modalités de rétractation » : le consommateur exerce son droit de rétractation en cliquant sur le bouton en ligne ou en remplissant le formulaire type, avec accusé de réception sur un support durable et l'interdiction de rendre la rétractation plus difficile que l'achat.
- Confidentialité — les clauses relatives au registre des retraits et à la preuve du consentement aux dérogations.
De la 1.2.1 tu peux modifier ces textes directement depuis l'espace d'administration, sans code : Bouton de rétractation → Paramètres → « Mentions légales ». Écrivez votre texte et enregistrez : votre texte remplace le modèle partout (page « Conformité » + shortcode [webwakeupwdb_info]) et la note « exemple de texte » disparaît. Laissez un champ vide pour conserver le modèle de base (il y a également une option « Afficher la valeur par défaut » pour le copier et l'utiliser comme point de départ). Pour les développeurs, il existe également le filtre webwakeupwdb_clause_text.
De la 1.3.0, outre les clauses individuelles, le plugin génère automatiquement une'« Note d'information sur le droit de rétractation » complète en fonction de vos paramètres et des exceptions sélectionnées à l'article 59. Vous pouvez la gérer à partir de Conformité → « Informations relatives au droit de rétractation »: avant-première, Créer/ouvrir la page (reproduisible en un clic), « gèle » en HTML statique, ou téléchargez-la en PDF. Publiez-la également à l'aide du shortcode [webwakeupwdb_policy]. En option : deux boutons à bascule dans Paramètres → Documents de conformité ils ajoutent les mêmes clauses à la Politique de confidentialité et aux Conditions générales gérées par Complianz (UE uniquement, opt-in, désactivées par défaut, avec aperçu). Ici aussi : complète — ne remplace pas tes textes.
De la 1.4.0, le formulaire type (annexe I-B) remplit automatiquement la ligne « Destinataire » avec les données relatives à votre activité — nom, adresse géographique et adresse e-mail — que vous configurez dans Bouton de rétractation → Paramètres → « Informations sur le vendeur ». Le reste du formulaire correspond au texte officiel de la loi, qui ne peut être modifié. Si vous laissez un champ vide, la ligne utilise par défaut le nom du site et l'adresse e-mail de l'administrateur ; l'adresse postale doit être renseignée (c'est une obligation prévue par la loi relative à ce formulaire).
Où apparaît le bouton ?
- WooCommerce — Espace client : liste des commandes, détails de la commande, fiche « Droit de rétractation » ; + lien ajouté automatiquement dans les e-mails de commande WooCommerce (pour les visiteurs).
- FluentCart — Portail client : page « Droit de rétractation », rubrique dans le menu, bannière et bouton dans chaque commande. Pour les e-mails : FluentCart ne permet pas aux plugins d'ajouter automatiquement du contenu, donc Paramètres → FluentCart affiche une guide optionnel à usage unique pour insérer la balise de fusion
{{wwu.recesso_url}}dans le modèle de reçu (3 étapes). - Easy Digital Downloads — bouton sur le ticket de caisse et dans les lignes de l'historique des achats ; + lien ajouté automatiquement dans l'e-mail de confirmation EDD.
- Sur toutes les plateformes : page publique avec la recherche par client (numéro de commande + e-mail), et partout avec les code court ou le bloc Gutenberg.
Shortcode et bloc
| Shortcode | Utilisation |
|---|---|
[webwakeupwdb_form] | Le module en deux étapes / sélecteur de commandes. |
[webwakeupwdb_button order_id="…"] | Un seul bouton pour passer une commande. |
[webwakeupwdb_status order_id="…"] | Le statut d'une commande. |
[webwakeupwdb_model_form lang="…"] | Le formulaire type de l'annexe I-B (avec la ligne « Destinataire » remplie avec vos coordonnées de vendeur — Paramètres → Informations sur le vendeur). |
[webwakeupwdb_info type="précontractuel|conditions|confidentialité"] | Les clauses juridiques sont prêtes. |
[webwakeupwdb_policy] | Informations complètes sur le droit de rétractation (rédigées à partir des dispositions et exceptions de l'article 59). |
Bloc d'édition : « Retrait — libre-service » (dynamique, rendu côté serveur) pour insérer la surface n'importe où dans l'éditeur de blocs.
Expérience client
- Le client ouvre sa commande et clique sur le bouton prévu à cet effet. À la première étape du formulaire, une liste de contrôle facultative Concernant les articles de la commande : vous pouvez sélectionner uniquement les produits à retourner (rétractation partielle, autorisée par la législation européenne — Annexe I-B : « des biens suivants »). Si vous ne sélectionnez aucun article, la rétractation porte sur l'intégralité de la commande. La rétractation n'est jamais bloquée par ce choix.
- Formulaire en deux étapes (révision → confirmation), pas de « dark pattern », aucune justification requise.
- Dès confirmation, il reçoit immédiatement un accusé de réception par e-mail (+ PDF + lien vérifiable), accompagné de la liste des articles sélectionnés ; la commande passe alors au statut « retour demandé ».
Gestion des demandes
Dans Bouton « Retrait » → Demandes: chaque demande avec son statut (En cours / Traitée / Remboursée), le badge d'intégrité de la chaîne et les actions :
- Mark a traité — marquer comme traitée (enregistrée dans le journal).
- Renvoyer l'e-mail — renvoie l'accusé de réception (utile une fois le SMTP configuré).
- Demande de remboursement — La page de remboursement WooCommerce s'ouvre. Le remboursement est enregistré dans le journal comme preuve du respect du délai de 14 jours.
Marques temporelles
Choisissez en Réception et preuve → Horodatage certifié:
| Fournisseur | Remarques |
|---|---|
| OpenTimestamps | Gratuit, indexé sur le Bitcoin, sans compte (par défaut). |
Sectigo /qualifié | RFC 3161 Certifié eIDAS, gratuit, sans compte. |
| QTSP nationaux | Aruba/InfoCert (IT), D-Trust (DE), Universign (FR), FNMT (ES), SwissSign (CH) — terminaux + identifiants. |
Exemptions (art. 59)
Certains produits/services ne peuvent faire l'objet d'un droit de rétractation (produits sur mesure, denrées périssables, emballages scellés ouverts, billets pour des événements à date fixe, contenus numériques accessibles immédiatement après accord, services déjà fournis…). Dans Paramètres → Exemptions baliser les produits/catégories par motif statutaire spécifique, chacun accompagné de la référence légale et d'une explication en langage simple. Le droit de rétractation reste la règle par défaut (y compris pour les produits numériques).
Lorsqu'une commande est entièrement exonérée, le bouton de rétractation n'apparaît pas — mais le client n'est pas laissé sans explications. De la 1.0.0-alpha.43, une note brève et précise indique l'exception spécifique appliquée avec la référence réglementaire correspondante (par exemple : « Contenu numérique à accès immédiat — Art. 16, paragraphe 1, point m) de la CRD / Art. 59, paragraphe 1, point o) du Code de la consommation »). La note s'affiche sur le formulaire de rétractation, sur les pages de compte WooCommerce et EDD, ainsi que sur le portail FluentCart. Le texte est modifiable dans Paramètres → Guide du consommateur. Apparaît seulement sur les commandes réellement exonérées, jamais sur les commandes ordinaires ; la visibilité du bouton ne change pas.
webwakeupwdb_consent_text. La collecte des consentements est désormais active sur WooCommerce (classique + en blocs), FluentCart et Easy Digital Downloads, avec des exemptions également par catégorie. Lorsque la capture n'est pas disponible, le bouton reste affiché (système de sécurité). Ne masquez jamais le bouton si ces conditions ne sont pas remplies.Abonnements
La législation européenne prévoit un seul droit de rétractation de 14 jours conformément au contrat, qui prend effet à compter de la conclusion du contrat (art. 9 de la directive 2011/83/UE = art. 52 du Code de la consommation). Un Le renouvellement ne le fait pas redémarrer: il s'agit de la poursuite du même contrat, et non d'un nouveau contrat à distance. Par conséquent :
- Le bouton s'affiche uniquement sur la commande initiale de l'abonnement (dans le délai de 14 jours prévu).
- Sur les commandes de renouvellement le bouton est caché — un seul contrôle couvre automatiquement toutes les surfaces (espace client, portail, e-mail, shortcode, bloc).
- Compatible avec Abonnements WooCommerce, les abonnements FluentCart e EDD récurrent. La comptabilisation du renouvellement est prudente et à sécurité intégrée: si l'état ne peut être déterminé, le bouton reste visible (jamais masqué par erreur).
Dans Paramètres → Abonnements Il y a deux interrupteurs, les deux sont désactivés par défaut :
| Configuration | Que fait-il ? |
|---|---|
| Voir aussi la rubrique « Renouvellements » | Non recommandé. Ne l'activez que si un avis juridique indique qu'un renouvellement spécifique réactive le droit. |
| Annuler l'abonnement (droit de rétractation) | Désactivé. Si cette option est activée, la confirmation de la résiliation met fin aux renouvellements futurs. Le remboursement et l'éventuel au prorata pour le service déjà utilisé, il reste toujours manuels. |
FAQ
Suffit-il d'installer le bouton pour être en règle ? Non. Tu dois mettre à jour aussi vos conditions générales de vente et les informations précontractuelles figurant dans la section consacrée au droit de rétractation, afin d'intégrer la nouvelle procédure avec bouton (art. 6 de la directive relative aux droits des consommateurs). Le plugin génère des clauses prêtes à être copiées-collées — voir Mettez à jour vos documents juridiques.
Puis-je accorder plus de 14 jours ? Oui — définissez la « période de rétractation » comme vous le souhaitez (≥14). Le texte affiché est mis à jour.
Comment ça marche avec les abonnements ? Le bouton apparaît sur le'commande initiale et disparaît sur les renouvellements (un seul droit de rétractation de 14 jours par contrat). La résiliation n'est pas la même chose que l'annulation : le client peut à tout moment mettre fin aux renouvellements futurs depuis son compte, mais le droit de rétractation est un droit de 14 jours donnant lieu à un remboursement. Voir la section Abonnements.
L'e-mail ne s'envoie pas ? Configurez un plugin SMTP et utilisez « Envoyer un e-mail de test ». Il ne s'agit pas de la bibliothèque PDF.
Est-ce que cela fonctionne avec les thèmes modulaires / FSE ? Oui : la page « My Account » de WooCommerce est toujours générée par le shortcode classique, les hooks fonctionnent ; il existe également un bloc Gutenberg.
La loi s'applique-t-elle aux produits numériques (plugins, logiciels, téléchargements) ? Oui. L'obligation relative au bouton concerne le professionnel qui vend en ligne à des consommateurs de l'UE, et non pas le produit en lui-même — même une boutique proposant des plugins ou des contenus numériques entre dans le champ d'application. Les produits numériques bénéficient d'un délai de rétractation de 14 jours par défaut; le droit se retire seulement avec consentement explicite + prise de connaissance + confirmation sur un support durable (art. 59, lettre o), que le plugin enregistre lors du paiement. Les ventes B2B (titulaires d'un numéro de TVA) et aux particuliers hors UE Ils ne relèvent pas de notre champ d'action.
S'agit-il d'un conseil juridique ? Non, il s'agit d'un outil technique destiné à faciliter la mise en conformité. Faites vérifier vos documents par un juriste.
Pour les développeurs
Le plugin propose 34 hook publics répertoriés (action et filtre) pour personnaliser le flux de désabonnement, les textes, la logique d'affichage du bouton, l'accusé de réception et le journal — sans modifier le cœur du plugin.
API REST et webhooks (automatisations)
De la 1.0.0-alpha.44 Le plugin offre une'API REST en lecture seule (espace de noms webwakeupwdb/v1, authentification via Mot de passe de l'application (de WordPress) pour répertorier les demandes de rétractation et vérifier le statut d'une commande, ainsi qu'un webhook sortant signé (HMAC-SHA256) qui informe votre point de terminaison dès qu'une résiliation est confirmée — compatible avec Zapier, Make, n8n, un CRM ou un service d'assistance. La confidentialité avant tout : l'adresse IP du consommateur n'est pas jamais fichier (un seul hachage de ligne pour la vérification de l'intégrité). Il n'existe pas — par choix — de point de terminaison pour créer un droit de rétractation (il s'agit de la déclaration légale du consommateur). Une fois passé un contrôle de sécurité spécifique avant la mise en circulation.
Journal des modifications
Veillez à ce que cette section reste alignée avec le docs/changelog/wwu-wb-CHANGELOG.md du référentiel.
- Informations sur le droit de rétractation + conformité aux conditions générales de WordPress.org. Nouveau « Note d'information sur le droit de rétractation » version consolidée, compilée à partir des paramètres et des exceptions de l'article 59 : shortcode
[webwakeupwdb_policy], page créée automatiquement (recréable en un clic), PDF, et injection opt-in dans les documents Complianz (Confidentialité + Conditions générales, UE uniquement, désactivé par défaut). Traductions en it/de/es/fr/sv. À la demande de l'équipe WordPress.org, Chaque identifiant interne est passé du préfixe court « wwu » à « webwakeupwdb » (constantes, options, hooks, shortcodes, espaces de noms, REST) : les installations existantes sont automatiquement migrées (paramètres, tests de consentement, tables de journaux/horodatage et pages conservées) ; les nouvelles installations ne sont pas concernées. Développeurs : le code qui utilise les anciens noms (wwu_wb_*,[wwu_wb_*]) doit être mis à jour pour tenir compte des nouvelleswebwakeupwdb_*.
- Conformité WordPress.org : horodatage avec option d'acceptation, pas de champ CSS personnalisé, PHP 8.1 + Dompdf 3.1.5. Le champ « CSS personnalisé » a été supprimé : pour personnaliser l'apparence, il faut utiliser le Personnalisation de WordPress → CSS supplémentaire (en référence aux classes/variables dans les paramètres). L'horodatage de garantie (OpenTimestamps / RFC 3161) est désormais opt-in et désactivé par défaut: le plugin ne fait pas aucune appel externe si vous ne l'activez pas vous-même — le registre à chaîne de hachage reste la preuve de base et fonctionne hors ligne. La version pour le répertoire passe à PHP 8.1 + Dompdf 3.1.5; une version compatible avec PHP 7.4 (Dompdf 2.x) reste disponible sur GitHub. Notes de mise à jour →
- La page « Consent Records » est désormais multiplateforme (corrige le bug #41). La page d'administration des consentements (et l'export CSV) ne prenait en compte que les commandes WooCommerce ; par conséquent, sur une boutique Easy Digital Downloads ou FluentCart, elle affichait « WooCommerce inactif » alors même que le consentement avait bien été enregistré. Désormais, elle puise ses données depuis le registre de tests immuable et multiplateforme (où WooCommerce — classique et en blocs —, EDD et FluentCart effectuent tous l'écriture au moment de la capture), de sorte que les consentements de chaque plateforme s'affichent ; les entrées complètes (avec l'adresse IP) sont relues à partir de la commande lorsqu'elle existe, et sont conservées sous forme d'enregistrements sans données à caractère personnel si la commande a été annulée. Nouvelle colonne « Plateforme ». Modification en lecture seule : le journal inviolable n'est jamais altéré. Notes de mise à jour →
- Conformité WordPress.org (Plugin Check) — uniquement les corrections réelles. Ajouté
wp_unslash()aux données d'entrée de la sauvegarde des paramètres (les valeurs avaient déjà été nettoyées : il s'agit de l'étape standard attendue par l'outil Plugin Check) et j'ai ignoré un faux positif « requête non préparée » lors du contrôle d'intégrité (aucune entrée utilisateur : nom de la table à partir de$wpdb->préfixe, LIMIT avec conversion en entier). Raccourcissez certaines notes de mise à jour trop longues. Aucun changement de comportement. Notes de mise à jour →
- Fenêtre de rétractation « adaptée au type » (numérique = date de commande, physique = livraison). Le décompte des 14 jours affiché au client est désormais calculé en fonction du type de produit : les commandes tout est numérique partent de la date de la commande (conclusion du contrat, art. 9 de la directive 2011/83 / art. 52 du Code de la consommation), tandis que les commandes portant sur des produits physiques restent inchangés (date de livraison / « terminé »). À titre indicatif uniquement : le bouton n'est jamais masqué pour cette valeur. Aucune modification pour les produits physiques. Notes de mise à jour →
- Retrait correct de l'invité sur toutes les surfaces. Complément à la version 1.2.7 : le shortcode également
[webwakeupwdb_button]et le lien « Actions de la commande » (que certains thèmes affichent sur la page de confirmation de commande) redirigent désormais les visiteurs vers la page publique de rétractation, et non plus vers l'écran de connexion. Un helper partagé génère l'URL de la même manière partout. Les clients connectés ne sont pas concernés par ce changement. Notes de mise à jour →
- Le bouton « Annuler » ne demande plus aux visiteurs de se connecter. Dans le récapitulatif de commande, le bouton redirigeait les clients sans compte vers la page de connexion, car il renvoyait vers la rubrique « Mon compte ». Désormais, les visiteurs sont redirigés vers la page publique de rétractation (avec la référence de la commande et la clé, soit le même lien pré-authentifié que celui figurant dans l'e-mail de confirmation de commande), ce qui leur permet de se rétracter sans compte. Pour les clients connectés, rien ne change. Notes de mise à jour →
- Traductions complètes dans toutes les langues incluses. Certaines chaînes d'administration des dernières versions (éditeur « Mentions légales », champ « E-mail de notification », rappel concernant les textes juridiques sur la page Conformité, aide-mémoire FluentCart pour les e-mails) s'affichaient en anglais car elles n'avaient pas encore été traduites. Les cinq fichiers de langue (italien, allemand, français, espagnol, suédois) sont désormais complets pour ces chaînes. (Le suédois est traduit automatiquement, en attente d'une révision par un locuteur natif.) Notes de mise à jour →
- Compatibilité avec PHP 7.4 rétablie + notifications à plusieurs destinataires + coexistence automatique avec FluentCart. La bibliothèque PDF (Dompdf) avait été mise à jour vers une version nécessitant PHP 8.1, ce qui provoquait une erreur « platform » de Composer au niveau de l'option PDF sur les sites utilisant PHP 7.4 : elle est désormais revenue à la version 2.x compatible avec la version 7.4 (fichiers PDF reçus inchangés, vérifié par un audit de rendu). Le champ Paramètres → E-mails de notification Accepter maintenant plusieurs adresses séparées par des virgules (le premier est également le contact présenté au client). Et avec la gestion FluentCart sur Voiture, le plugin détecte automatiquement l'extension « Customer Rights » de FluentCart et se désactive automatiquement — pas de double bouton. Notes de mise à jour →
- Compatibilité avec PHP 7.4 rétablie + notifications à plusieurs destinataires + coexistence automatique avec FluentCart. La bibliothèque PDF (Dompdf) avait été mise à jour vers une version nécessitant PHP 8.1, ce qui provoquait une erreur « platform » de Composer au niveau de l'option PDF sur les sites utilisant PHP 7.4 : elle est désormais revenue à la version 2.x compatible avec la version 7.4 (fichiers PDF reçus inchangés, vérifié par un audit de rendu). Le champ Paramètres → E-mails de notification Accepter maintenant plusieurs adresses séparées par des virgules (le premier est également le contact présenté au client). Et avec la gestion FluentCart sur Voiture, le plugin détecte automatiquement l'extension « Customer Rights » de FluentCart et se désactive automatiquement — pas de double bouton. Notes de mise à jour →
- Conformité à WordPress.org et petites mesures de sécurité. Nom du plugin rendu plus distinctif et exempt de marques tierces, nettoyage supplémentaire des données d'entrée du limiteur de débit, échappement des URL dans les e-mails en texte brut, callbacks REST explicites pour les autorisations sur les points de terminaison publics et suppression du chargeur de traductions devenu inutile (WordPress les charge automatiquement depuis la version 4.6). Aucune modification n'a été apportée au processus de résiliation ni à vos données. Notes de mise à jour →
- Conformité à WordPress.org et petites mesures de sécurité. Nom du plugin rendu plus distinctif et exempt de marques tierces, nettoyage supplémentaire des données d'entrée du limiteur de débit, échappement des URL dans les e-mails en texte brut, callbacks REST explicites pour les autorisations sur les points de terminaison publics et suppression du chargeur de traductions devenu inutile (WordPress les charge automatiquement depuis la version 4.6). Aucune modification n'a été apportée au processus de résiliation ni à vos données. Notes de mise à jour →
- L'erreur d'envoi d'e-mail indique désormais la raison exacte, et non plus un message générique. Suite de la section 1.2.2 : si l'e-mail de confirmation n'est pas envoyé, le plugin récupère la raison précise fournie par le système d'envoi — l'erreur du plugin SMTP (par exemple « Could not authenticate » ou « Could not connect to host… ») ou le message d’exception — et l’affiche dans l’alerte d’administration « e-mail non envoyé » et dans le journal inviolable, au lieu d’un message générique « e-mail failed ». Le diagnostic d’une configuration SMTP erronée (WP Mail SMTP, FluentSMTP) devient immédiat, sans avoir à fouiller dans le journal PHP. L’événement reste toujours enregistré et le client accède toujours à la page de confirmation. Notes de mise à jour →
- L'erreur d'envoi d'e-mail indique désormais la raison exacte, et non plus un message générique. Suite de la section 1.2.2 : si l'e-mail de confirmation n'est pas envoyé, le plugin récupère la raison précise fournie par le système d'envoi — l'erreur du plugin SMTP (par exemple « Could not authenticate » ou « Could not connect to host… ») ou le message d’exception — et l’affiche dans l’alerte d’administration « e-mail non envoyé » et dans le journal inviolable, au lieu d’un message générique « e-mail failed ». Le diagnostic d’une configuration SMTP erronée (WP Mail SMTP, FluentSMTP) devient immédiat, sans avoir à fouiller dans le journal PHP. L’événement reste toujours enregistré et le client accède toujours à la page de confirmation. Notes de mise à jour →
- Correction d'un bug critique : plus d«» erreur critique » lors de l'envoi de l'e-mail de confirmation. Sur certains sites (signalé avec WP Mail SMTP), une exception est levée lors de la confirmation de l'annulation et au moment de cliquer sur « Renvoyer l'e-mail ». à l'intérieur
wp_mail()du plugin SMTP — ou une erreur liée au PDF sous PHP 8 — pouvait passer inaperçue et entraîner un « erreur critique » de la page, même si la rétractation avait déjà été enregistrée. Désormais, l'ensemble du processus d'envoi est à l'épreuve des exceptions (mailer, e-mails WooCommerce et PDF facultatif) : un envoi échoué est signalé et peut être relancé, sans que la page ne plante. Par ailleurs : Guide de la vie en communauté maintenant que FluentCart 1.4.2 comprend son propre module de rétractation intégré (Paramètres → FluentCart : réglez-le sur « Off » si vous utilisez celui de FluentCart). Notes de mise à jour →
- Correction d'un bug critique : plus d«» erreur critique » lors de l'envoi de l'e-mail de confirmation. Sur certains sites (signalé avec WP Mail SMTP), une exception est levée lors de la confirmation de l'annulation et au moment de cliquer sur « Renvoyer l'e-mail ». à l'intérieur
wp_mail()du plugin SMTP — ou une erreur liée au PDF sous PHP 8 — pouvait passer inaperçue et entraîner un « erreur critique » de la page, même si la rétractation avait déjà été enregistrée. Désormais, l'ensemble du processus d'envoi est à l'épreuve des exceptions (mailer, e-mails WooCommerce et PDF facultatif) : un envoi échoué est signalé et peut être relancé, sans que la page ne plante. Par ailleurs : Guide de la vie en communauté maintenant que FluentCart 1.4.2 comprend son propre module de rétractation intégré (Paramètres → FluentCart : réglez-le sur « Off » si vous utilisez celui de FluentCart). Notes de mise à jour →
- Correction : la page « Droit de rétractation » ne renvoie plus d'erreur 404 sur une nouvelle installation + clauses légales modifiables par l'administrateur. La fiche dans l'espace client WooCommerce est une point de terminaison (pas une page) : les règles de réécriture n'étaient pas régénérées lors de l'activation, ce qui entraînait des erreurs 404 tant que les permaliens n'étaient pas enregistrés à nouveau. Désormais, le plugin les régénère automatiquement lors du premier chargement après l'activation (solution manuelle : Paramètres → Liens permanents → Enregistrer). De plus, une nouvelle rubrique Paramètres → « Mentions légales » vous permet de modifier le libellé des clauses (précontractuelles / Conditions générales / Politique de confidentialité / Consentement) avec vos propres mots, sans code — remplacent le modèle partout, y compris dans le shortcode
[webwakeupwdb_info](plus le filtrewebwakeupwdb_clause_text(pour les développeurs). Notes de mise à jour →
- Correction : la page « Droit de rétractation » ne renvoie plus d'erreur 404 sur une nouvelle installation + clauses légales modifiables par l'administrateur. La fiche dans l'espace client WooCommerce est une point de terminaison (pas une page) : les règles de réécriture n'étaient pas régénérées lors de l'activation, ce qui entraînait des erreurs 404 tant que les permaliens n'étaient pas enregistrés à nouveau. Désormais, le plugin les régénère automatiquement lors du premier chargement après l'activation (solution manuelle : Paramètres → Liens permanents → Enregistrer). De plus, une nouvelle rubrique Paramètres → « Mentions légales » vous permet de modifier le libellé des clauses (précontractuelles / Conditions générales / Politique de confidentialité / Consentement) avec vos propres mots, sans code — remplacent le modèle partout, y compris dans le shortcode
[webwakeupwdb_info](plus le filtrewwu_wb_clause_text(pour les développeurs). Notes de mise à jour →
- Rappel : pensez également à mettre à jour vos documents juridiques. L'installation du bouton ne met pas à jour les documents de votre boutique. La loi (art. 6 de la directive relative aux droits des consommateurs) impose que les Conditions générales de vente et les informations précontractuelles décrivent comme le consommateur se rétracte — et cela inclut désormais le nouveau bouton en ligne. Le plugin le signale désormais clairement dans le Tableau de bord et sur la page Conformité, ouvre par défaut les deux clauses à coller (clause précontractuelle + conditions générales) et la clause « Modalités de rétractation » mentionne désormais explicitement le bouton. Aucun changement n'est apporté à la procédure de rétractation. Voir Mettez à jour vos documents juridiques.
- Rappel : pensez également à mettre à jour vos documents juridiques. L'installation du bouton ne met pas à jour les documents de votre boutique. La loi (art. 6 de la directive relative aux droits des consommateurs) impose que les Conditions générales de vente et les informations précontractuelles décrivent comme le consommateur se rétracte — et cela inclut désormais le nouveau bouton en ligne. Le plugin le signale désormais clairement dans le Tableau de bord et sur la page Conformité, ouvre par défaut les deux clauses à coller (clause précontractuelle + conditions générales) et la clause « Modalités de rétractation » mentionne désormais explicitement le bouton. Aucun changement n'est apporté à la procédure de rétractation. Voir Mettez à jour vos documents juridiques.
- Lien de rétractation dans les e-mails de commande — sur toutes les plateformes. Le lien est ajouté automatiquement aux e-mails clients de WooCommerce et à l'e-mail de confirmation d'Easy Digital Downloads (afin que le client puisse accéder directement à la procédure de rétractation depuis l'e-mail, comme le suggère le considérant 37). FluentCart ne permet pas aux plugins d'ajouter automatiquement du contenu à ses e-mails : par conséquent Paramètres → FluentCart Voici un petit guide facultatif (en 3 étapes) pour insérer le shortcode
{{wwu.recesso_url}}dans le modèle de reçu. Rien d'intrusif ni d'obligatoire : la clause de rétractation est toujours accessible depuis l'espace client/portail et la page publique. Notes de mise à jour →
- Lien de rétractation dans les e-mails de commande — sur toutes les plateformes. Le lien est ajouté automatiquement aux e-mails clients de WooCommerce et à l'e-mail de confirmation d'Easy Digital Downloads (afin que le client puisse accéder directement à la procédure de rétractation depuis l'e-mail, comme le suggère le considérant 37). FluentCart ne permet pas aux plugins d'ajouter automatiquement du contenu à ses e-mails : par conséquent Paramètres → FluentCart Voici un petit guide facultatif (en 3 étapes) pour insérer le shortcode
{{wwu.recesso_url}}dans le modèle de reçu. Rien d'intrusif ni d'obligatoire : la clause de rétractation est toujours accessible depuis l'espace client/portail et la page publique. Notes de mise à jour →
- Automatisations : API REST en lecture seule + webhook signé. Nouvelle rubrique Paramètres → Intégrations pour relier les demandes de rétractation à des systèmes externes (Zapier, Make, n8n, CRM, service d'assistance). (1) Un'API REST en lecture seule (
webwakeupwdb/v1) pour consulter la liste des demandes et vérifier l'état d'une commande, après s'être identifié à l'aide d'un Mot de passe de l'application de WordPress. (2) Un webhook fonctionnalité facultative qui envoie une notification signée HMAC-SHA256 sur ton terminal lorsqu'une résiliation est confirmée. La confidentialité avant tout : l'adresse IP du consommateur n'est pas jamais exposé (uniquement un hachage de vérification). Aucun point de terminaison pour créer un retrait, par choix juridique. Après avoir passé avec succès un contrôle de sécurité spécifique. Aucun changement n'est apporté au processus de retrait. Notes de mise à jour →
- Automatisations : API REST en lecture seule + webhook signé. Nouvelle rubrique Paramètres → Intégrations pour relier les demandes de rétractation à des systèmes externes (Zapier, Make, n8n, CRM, service d'assistance). (1) Un'API REST en lecture seule (
wwu-wb/v1) pour consulter la liste des demandes et vérifier l'état d'une commande, après s'être identifié à l'aide d'un Mot de passe de l'application de WordPress. (2) Un webhook fonctionnalité facultative qui envoie une notification signée HMAC-SHA256 sur ton terminal lorsqu'une résiliation est confirmée. La confidentialité avant tout : l'adresse IP du consommateur n'est pas jamais exposé (uniquement un hachage de vérification). Aucun point de terminaison pour créer un retrait, par choix juridique. Après avoir passé avec succès un contrôle de sécurité spécifique. Aucun changement n'est apporté au processus de retrait. Notes de mise à jour →
- Remarque « car exonéré » du côté du consommateur. Lorsque tous les articles d'une commande relèvent d'une exception prévue à l'article 59 (par exemple, un contenu numérique à accès immédiat ou un service entièrement exécuté, pour lesquels le consentement a été recueilli lors du paiement), le bouton de rétractation n'apparaît pas. Le client voit désormais s'afficher une note brève et précise indiquant l'exception spécifique avec la référence réglementaire (par exemple : « Contenu numérique à accès immédiat — Art. 16(1)(m) CRD / Art. 59(1)(o) du Code de la consommation »). Affichée sur le formulaire de rétractation, sur les pages de compte WooCommerce et EDD, ainsi que sur le portail FluentCart. Texte modifiable dans Paramètres → Guide du consommateur. Il n'apparaît que sur les commandes réellement exonérées — jamais sur les commandes ordinaires ; la visibilité du bouton reste inchangée. Notes de mise à jour →
- Remarque « car exonéré » du côté du consommateur. Lorsque tous les articles d'une commande relèvent d'une exception prévue à l'article 59 (par exemple, un contenu numérique à accès immédiat ou un service entièrement exécuté, pour lesquels le consentement a été recueilli lors du paiement), le bouton de rétractation n'apparaît pas. Le client voit désormais s'afficher une note brève et précise indiquant l'exception spécifique avec la référence réglementaire (par exemple : « Contenu numérique à accès immédiat — Art. 16(1)(m) CRD / Art. 59(1)(o) du Code de la consommation »). Affichée sur le formulaire de rétractation, sur les pages de compte WooCommerce et EDD, ainsi que sur le portail FluentCart. Texte modifiable dans Paramètres → Guide du consommateur. Il n'apparaît que sur les commandes réellement exonérées — jamais sur les commandes ordinaires ; la visibilité du bouton reste inchangée. Notes de mise à jour →
- Rétractation partielle pour un produit (destiné aux particuliers). La législation de l'UE permet également de se rétracter concernant certains articles d'une commande (annexe I-B : « des biens suivants »). La première étape du formulaire affiche désormais une liste de contrôle facultative: le consommateur sélectionne les produits à retourner ; s'il ne sélectionne rien, il annule l'intégralité de la commande. La sélection apparaît sur le reçu sur support durable et dans le tableau de bord « Demandes ». Le remboursement (total ou partiel) s'effectue toujours manuellement. L'annulation n'est jamais bloquée. Notes de mise à jour →
- Rétractation partielle pour un produit (destiné aux particuliers). La législation de l'UE permet également de se rétracter concernant certains articles d'une commande (annexe I-B : « des biens suivants »). La première étape du formulaire affiche désormais une liste de contrôle facultative: le consommateur sélectionne les produits à retourner ; s'il ne sélectionne rien, il annule l'intégralité de la commande. La sélection apparaît sur le reçu sur support durable et dans le tableau de bord « Demandes ». Le remboursement (total ou partiel) s'effectue toujours manuellement. L'annulation n'est jamais bloquée. Notes de mise à jour →
- Gestion configurable de FluentCart. Nouvelle configuration Paramètres → FluentCart avec trois modes : Voiture (par défaut) — affiche le bouton mais le masque automatiquement s'il détecte l'extension native de FluentCart permettant l'annulation de la commande, afin que le client ne voie jamais deux boutons ; Toujours — conserve toujours notre bouton ; Désactivé — désactive la gestion FluentCart. Cela ne concerne que les interfaces grand public ; les comptes administrateur et les demandes existantes ne sont pas modifiés. Notes de mise à jour →
- Gestion configurable de FluentCart. Nouvelle configuration Paramètres → FluentCart avec trois modes : Voiture (par défaut) — affiche le bouton mais le masque automatiquement s'il détecte l'extension native de FluentCart permettant l'annulation de la commande, afin que le client ne voie jamais deux boutons ; Toujours — conserve toujours notre bouton ; Désactivé — désactive la gestion FluentCart. Cela ne concerne que les interfaces grand public ; les comptes administrateur et les demandes existantes ne sont pas modifiés. Notes de mise à jour →
- Abonnements gérés correctement (WooCommerce Subscriptions, FluentCart, EDD Recurring). La législation européenne prévoit un seul droit de rétractation de 14 jours conformément au contrat, en conclusion : un rafraîchissement ne le relance pas. Le bouton apparaît désormais uniquement sur la commande initiale et il est masqué dans les commandes de renouvellement (une seule case à cocher couvre toutes les surfaces). Deux boutons d'activation dans Paramètres → Abonnements (affiche également les renouvellements · résilie l'abonnement), les deux étant désactivés par défaut — le remboursement et le calcul au prorata restent manuels. Le tableau de bord des demandes signale les commandes d’abonnement par un rappel. Détection prudente et sans risque des renouvellements (en cas de doute, le bouton reste affiché). À tester avec un plugin d’abonnements actif. Voir Abonnements.
- Abonnements gérés correctement (WooCommerce Subscriptions, FluentCart, EDD Recurring). La législation européenne prévoit un seul droit de rétractation de 14 jours conformément au contrat, en conclusion : un rafraîchissement ne le relance pas. Le bouton apparaît désormais uniquement sur la commande initiale et il est masqué dans les commandes de renouvellement (une seule case à cocher couvre toutes les surfaces). Deux boutons d'activation dans Paramètres → Abonnements (affiche également les renouvellements · résilie l'abonnement), les deux étant désactivés par défaut — le remboursement et le calcul au prorata restent manuels. Le tableau de bord des demandes signale les commandes d’abonnement par un rappel. Détection prudente et sans risque des renouvellements (en cas de doute, le bouton reste affiché). À tester avec un plugin d’abonnements actif. Voir Abonnements.
- Balise de fusion pour les e-mails FluentCart. . Insérez le lien de rétractation de la commande individuelle dans les e-mails transactionnels natives de FluentCart (par ex. confirmation de commande). L'équipe FluentCart a validé le contrat du hook ; la balise est enregistrée dans le sélecteur de l'éditeur d'e-mails et se résout correctement (vide s'il n'y a pas de commande dans le contexte). À tester sur FluentCart en production. Remarque : FluentCart a annoncé la mise en place prochaine d'une fonctionnalité native de droit de rétractation dans l'UE.
- Balises de fusion pour les e-mails FluentCart
{{wwu.recesso_url}}. Insérez le lien de rétractation de la commande individuelle dans les e-mails transactionnels natives de FluentCart (par ex. confirmation de commande). L'équipe FluentCart a validé le contrat du hook ; la balise est enregistrée dans le sélecteur de l'éditeur d'e-mails et se résout correctement (vide s'il n'y a pas de commande dans le contexte). À tester sur FluentCart en production. Remarque : FluentCart a annoncé la mise en place prochaine d'une fonctionnalité native de droit de rétractation dans l'UE.
- Audit de sécurité complet de l'ensemble du plugin — 0 vulnérabilité critique, 0 vulnérabilité élevée. SQLi, XSS, CSRF, contrôle d'accès/IDOR, fichiers/désérialisation, cryptage/intégrité des preuves et dépendance Dompdf : tout est en ordre. Corrections : protection SSRF sur le point de terminaison RFC 3161 configurable (bloque les cibles internes / cloud-metadata / IPv6-loopback / CGNAT), limitation de débit sur les points de terminaison de désinscription, limite de longueur sur les entrées, masquage de débogage plus strict, nettoyage cron lors de la désinstallation. Aucun changement pour le client.
- Audit de sécurité complet de l'ensemble du plugin — 0 vulnérabilité critique, 0 vulnérabilité élevée. SQLi, XSS, CSRF, contrôle d'accès/IDOR, fichiers/désérialisation, cryptage/intégrité des preuves et dépendance Dompdf : tout est en ordre. Corrections : protection SSRF sur le point de terminaison RFC 3161 configurable (bloque les cibles internes / cloud-metadata / IPv6-loopback / CGNAT), limitation de débit sur les points de terminaison de désinscription, limite de longueur sur les entrées, masquage de débogage plus strict, nettoyage cron lors de la désinstallation. Aucun changement pour le client.
- EDD : le bouton « Se désabonner » apparaît désormais sur les pages client. Sur Easy Digital Downloads, le bouton apparaît sur la reçu d'achat et dans chaque ligne de la historique des achats, et le lien est ajouté à l'e-mail de confirmation EDD — Compatibilité totale avec WooCommerce et FluentCart (auparavant, EDD n'utilisait que la page publique). Conçu à partir des hooks EDD 3.x vérifiés sur le code source officiel. À tester sur une boutique EDD réelle.
- EDD : le bouton « Se désabonner » apparaît désormais sur les pages client. Sur Easy Digital Downloads, le bouton apparaît sur la reçu d'achat et dans chaque ligne de la historique des achats, et le lien est ajouté à l'e-mail de confirmation EDD — Compatibilité totale avec WooCommerce et FluentCart (auparavant, EDD n'utilisait que la page publique). Conçu à partir des hooks EDD 3.x vérifiés sur le code source officiel. À tester sur une boutique EDD réelle.
- Améliorations apportées à FluentCart et validées avec l'équipe. La case à cocher apparaît désormais sur
modes_de_paiement_avant_le_paiement(couvre le processus de paiement standard et modal et par blocs); les exemptions FluentCart sont les suivantes : par catégorie (taxonomiecatégories de produits, comme WooCommerce et EDD) ; les conditions de rétractation/remboursement figurent dans la chronologie des activités de la commande FluentCart.
- Améliorations apportées à FluentCart et validées avec l'équipe. La case à cocher apparaît désormais sur
modes_de_paiement_avant_le_paiement(couvre le processus de paiement standard et modal et par blocs); les exemptions FluentCart sont les suivantes : par catégorie (taxonomiecatégories de produits, comme WooCommerce et EDD) ; les conditions de rétractation/remboursement figurent dans la chronologie des activités de la commande FluentCart.
- Compatible avec Easy Digital Downloads (EDD 3.0+). Troisième plateforme après WooCommerce et FluentCart : le bouton de rétractation, le parcours d'essai et les exemptions avec obtention du consentement fonctionnent sur les boutiques EDD, avec des exemptions par catégorie (download_category). À tester sur une boutique EDD réelle.
- Compatible avec Easy Digital Downloads (EDD 3.0+). Troisième plateforme après WooCommerce et FluentCart : le bouton de rétractation, le parcours d'essai et les exemptions avec obtention du consentement fonctionnent sur les boutiques EDD, avec des exemptions par catégorie (download_category). À tester sur une boutique EDD réelle.
- Obtenir le consentement également lors du processus de paiement par étapes de WooCommerce (via l'API officielle « Additional Checkout Fields », WooCommerce 9.9+), équivalent au processus de paiement classique et à FluentCart. PHP pur, pas de build. + SPEC pour la future intégration d'EDD.
- Obtenir le consentement également lors du processus de paiement par étapes de WooCommerce (via l'API officielle « Additional Checkout Fields », WooCommerce 9.9+), équivalent au processus de paiement classique et à FluentCart. PHP pur, pas de build. + SPEC pour la future intégration d'EDD.
- Paramètres des exonérations repensés (WWU UI Kit) : motifs regroupés (conditionnels / inconditionnels / sceau) avec infobulles, exemples, aide « Que vendez-vous ? », aperçu de ce que voit le client (boîte + e-mail) et panneau d'état. Les traductions en italien, français, espagnol et allemand sont terminées, y compris les intitulés des exemptions qui figuraient auparavant en anglais.
- Paramètres des exonérations repensés (WWU UI Kit) : motifs regroupés (conditionnels / inconditionnels / sceau) avec infobulles, exemples, aide « Que vendez-vous ? », aperçu de ce que voit le client (boîte + e-mail) et panneau d'état. Les traductions en italien, français, espagnol et allemand sont terminées, y compris les intitulés des exemptions qui figuraient auparavant en anglais.
- Obtention du consentement sur FluentCart. Les exemptions conditionnelles (achat numérique immédiat / service fourni) recueillent désormais également le consentement lors du paiement via FluentCart, avec un e-mail de confirmation sur un support durable — mis en place à partir de hooks vérifiés dans la documentation officielle. Lien « Ouvrir la commande » dans l'interface d'administration via l'URL native de FluentCart.
- Obtention du consentement sur FluentCart. Les exemptions conditionnelles (achat numérique immédiat / service fourni) recueillent désormais également le consentement lors du paiement via FluentCart, avec un e-mail de confirmation sur un support durable — mis en place à partir de hooks vérifiés dans la documentation officielle. Lien « Ouvrir la commande » dans l'interface d'administration via l'URL native de FluentCart.
- Exemptions (art. 59) — confirmation sur un support durable + preuve, conservation, RGPD. Pour les cas soumis à des conditions, le plugin envoie désormais au client un e-mail de confirmation sur un support durable reprenant le texte du consentement accepté (valable pour le format numérique, art. 59(1)(o)) et enregistre séparément cet envoi. Les consentements conservés ont une durée de conservation configurable (par défaut 10 ans) avec une routine quotidienne qui anonymise ensuite l'adresse IP ; l'adresse IP est configurable et n'apparaît jamais dans le journal non modifiable. Ajout d’une clause de confidentialité conforme au RGPD (intérêt légitime) et d’une page " Consent records " avec exportation au format CSV. Formulation plus claire partout : les produits physiques ne nécessitent jamais de consentement ; le bouton ne disparaît qu’après la saisie (système de sécurité).
- Exemptions (art. 59) — confirmation sur un support durable + preuve, conservation, RGPD. Pour les cas soumis à des conditions, le plugin envoie désormais au client un e-mail de confirmation sur un support durable reprenant le texte du consentement accepté (valable pour le format numérique, art. 59(1)(o)) et enregistre séparément cet envoi. Les consentements conservés ont une durée de conservation configurable (par défaut 10 ans) avec une routine quotidienne qui anonymise ensuite l'adresse IP ; l'adresse IP est configurable et n'apparaît jamais dans le journal non modifiable. Ajout d’une clause de confidentialité conforme au RGPD (intérêt légitime) et d’une page " Consent records " avec exportation au format CSV. Formulation plus claire partout : les produits physiques ne nécessitent jamais de consentement ; le bouton ne disparaît qu’après la saisie (système de sécurité).
- Exemptions (art. 59) — obtention du consentement lors du paiement. Pour les deux cas de figure (contenu numérique à accès immédiat ; service déjà fourni), la page de paiement WooCommerce affiche une case à cocher obligatoire et enregistre le texte accepté (avec un hachage SHA-256, la date/heure et l'adresse IP) sur la commande à titre de preuve : le bouton n'est masqué pour ces articles qu'après obtention d'un consentement légitime. Texte personnalisable via
webwakeupwdb_consent_text. Processus de paiement classique WooCommerce ; processus de paiement par étapes et FluentCart à venir.
- Exemptions (art. 59) — obtention du consentement lors du paiement. Pour les deux cas de figure (contenu numérique à accès immédiat ; service déjà fourni), la page de paiement WooCommerce affiche une case à cocher obligatoire et enregistre le texte accepté (avec un hachage SHA-256, la date/heure et l'adresse IP) sur la commande à titre de preuve : le bouton n'est masqué pour ces articles qu'après obtention d'un consentement légitime. Texte personnalisable via
webwakeupwdb_consent_text. Processus de paiement classique WooCommerce ; processus de paiement par étapes et FluentCart à venir.
- Exemptions (art. 59) — marquage par motif. Indiquez les produits ou catégories exemptés pour une raison légale spécifique (sur mesure, denrées périssables, emballage scellé pour des raisons d’hygiène, services à date fixe, contenu numérique instantané, service déjà fourni…), en précisant pour chacun d’entre eux la référence légale et en fournissant des explications en langage simple. Le droit de rétractation reste la règle par défaut — y compris pour les produits numériques — et les motifs conditionnels conservent le bouton jusqu’à ce que le consentement soit obtenu.
- Exemptions (art. 59) — marquage par motif. Indiquez les produits ou catégories exemptés pour une raison légale spécifique (sur mesure, denrées périssables, emballage scellé pour des raisons d’hygiène, services à date fixe, contenu numérique instantané, service déjà fourni…), en précisant pour chacun d’entre eux la référence légale et en fournissant des explications en langage simple. Le droit de rétractation reste la règle par défaut — y compris pour les produits numériques — et les motifs conditionnels conservent le bouton jusqu’à ce que le consentement soit obtenu.
- Portail client FluentCart Fonctionnel : page « Droit de rétractation » dans le compte, rubrique dans le menu latéral, bouton dans chaque commande et bannière. Chaque hook a été corrigé conformément au contrat officiel de FluentCart (vérifié sur dev.fluentcart.com) et la liste des commandes lit les données via les relations correctes (client, adresse). Cela résout le problème de la page blanche et du bouton manquant observés lors des tests en production.
- Portail client FluentCart Fonctionnel : page « Droit de rétractation » dans le compte, rubrique dans le menu latéral, bouton dans chaque commande et bannière. Chaque hook a été corrigé conformément au contrat officiel de FluentCart (vérifié sur dev.fluentcart.com) et la liste des commandes lit les données via les relations correctes (client, adresse). Cela résout le problème de la page blanche et du bouton manquant observés lors des tests en production.
- Première intégration du portail client FluentCart + liste des commandes éligibles valable aussi bien pour WooCommerce que pour FluentCart.
- Première intégration du portail client FluentCart + liste des commandes éligibles valable aussi bien pour WooCommerce que pour FluentCart.
- Guide d'utilisation (étape par étape, partout) + référence au fournisseur de horodatage dans les paramètres.
- Guide d'utilisation (étape par étape, partout) + référence au fournisseur de horodatage dans les paramètres.
- Fournisseur d'horodatage RFC 3161 / eIDAS (Certificats Sectigo gratuits et validés + QTSP nationaux).
- Fournisseur d'horodatage RFC 3161 / eIDAS (Certificats Sectigo gratuits et validés + QTSP nationaux).
- Remboursement consigné dans le journal comme preuve ; guide « Que faire après une demande ? ».
- Remboursement consigné dans le journal comme preuve ; guide « Que faire après une demande ? ».
- Flux de travail de gestion des demandes (statut, « marqué comme traité », « renvoi », « remboursement ») + correction de la liste CSS.
- Flux de travail de gestion des demandes (statut, « marqué comme traité », « renvoi », « remboursement ») + correction de la liste CSS.
- Liste des commandes éligibles, page de vérification lisible, aperçu de l'e-mail, bloc Gutenberg.
- Liste des commandes éligibles, page de vérification lisible, aperçu de l'e-mail, bloc Gutenberg.
- Tableau de bord d'intégration, intégration des e-mails WooCommerce, diagnostic de la livraison des e-mails, correction d'un bug d'affichage.
- Tableau de bord d'intégration, intégration des e-mails WooCommerce, diagnostic de la livraison des e-mails, correction d'un bug d'affichage.
- MVP : bouton statutaire, formulaire en deux étapes, reçu durable, journal inviolable + OpenTimestamps, applicabilité par pays, multilingue IT/EN/DE/FR/ES, documents juridiques, CSS personnalisable.
- MVP : bouton statutaire, formulaire en deux étapes, reçu durable, journal inviolable + OpenTimestamps, applicabilité par pays, multilingue IT/EN/DE/FR/ES, documents juridiques, CSS personnalisable.