Beschrijving
BuddyPilot Withdrawal – Easy Returns for WooCommerce voegt een volledige retour- en herroepingsworkflow toe aan je winkel: de verplichte EU-herroepingsknop die vereist is door Article 11a of EU Directive 2023/2673, een online retourformulier voor klanten en een verklaringen-dashboard voor de operator.
Vanaf 19 juni 2026 moet elke WooCommerce winkel met EU klanten een duidelijk zichtbare, gemakkelijk toegankelijke herroepingsfunctie (“herroep de overeenkomst hier” knop) aanbieden naast de bestaande informatievereisten voor herroepingsrechten.
De plugin werkt samen met je retourbeleid: de klant herroept de overeenkomst online tijdens de bedenktijd (standaard 14 dagen, instelbaar), en jij verwerkt de WooCommerce-retour en -terugbetaling met de eigen tools.
Wat de plugin doet
Klantgericht
- Artikel 11a conforme knop “Hier van contract afzien” op de Mijn account bestelling detail pagina
- Twee-staps opnameformulier: item selectie, voorbeeld van verklaring, bevestigen met één klik
- Ondersteuning voor variabele producten: elke variant (maat, kleur, enz.) verschijnt met al zijn volledige attribuut labels als aparte regel in het herroepingsformulier.
- Gastafrekening ondersteuning via directe verificatiestroom (e-mail + bestelnummer, geen login vereist)
- Mijn Account herroepingsgeschiedenis lijst en verklaringsdetailpagina
- Vastleggen van toestemming conform artikel 16(m) bij afrekening voor digitale en virtuele goederen (configureerbaar: vereist, optioneel of verborgen)
- E-mail voor klantverklaring die dient als duurzame erkenning zoals vereist door artikel 11a, lid 3
- Intrekking opgelost e-mail verzonden naar de klant nadat de operator de declaratie sluit; bevat de link naar het EU ODR-platform (ec.europa.eu/consumers/odr) wanneer een item is afgewezen
- Oplossing status per item zichtbaar in het opnameformulier nadat een verklaring is gesloten: elk item toont een badge “geaccepteerd” of “afgewezen” met de reden voor afwijzing en ODR link, zodat de klant de uitkomst begrijpt zonder contact op te nemen met ondersteuning
Gericht op de operator
- Bestel metabox bewerken voor registratie van declaraties ontvangen per telefoon, post of persoonlijk
- Standalone “Nieuwe declaratie toevoegen” pagina voor wachtrijen met veel operators zonder de declaratielijst te verlaten
- Declaratieslijst met zoeken, filteren en sorteren in WooCommerce beheer
- Declaratie detail pagina met volledig audit trail en afhandelingsworkflow: alles accepteren, alles afwijzen of gedeeltelijke afhandeling met beslissingen per item en individuele afwijzingsredenen
- E-mail beheerdermelding onmiddellijk verzonden wanneer een klant een herroeping indient
Juridisch en conformiteit
- Aangepaste bestelstatus
wc-withdrawal(optioneel, geregistreerd door plugin) met een volledige wijzigingsgeschiedenis gelogd als WooCommerce bestelnotities - Bijlage I(A) herroepingsinformatiepagina beschikbaar om in één klik te genereren vanuit Instellingen
- Bijlage I(B) model herroepingsformulierpagina beschikbaar om in één klik te genereren vanuit Instellingen, gepubliceerd als WordPress pagina en automatisch gekoppeld vanuit bestellings-e-mails en Mijn Account
- Configureerbare restitutieperiode (standaard 14 dagen, overeenkomend met je contractvoorwaarden)
- Configureerbare “bezorgd” statussen die de herroepingsklok starten
- Retourkostenattributie (consument betaalt of handelaar betaalt, per Bijlage I(A) vereisten)
- AVG/GDPR persoonsgegevens exporteren en anonimiseren compatibel met WordPress privacytools
- HPOS-compatibiliteit (High-Performance Order Storage) en verouderde post-meta modus
- WCAG 2.2 AA toegankelijkheid naleving op alle klantgerichte formulieren
- Pool en Engels vertaald inbegrepen
Pro add-on
Uitgebreide functionaliteit is beschikbaar via de BuddyPilot Withdrawal Pro add-on:
- Door operator goedgekeurde automatische terugbetaling opgebouwd uit aangegeven items (één klik vanaf het aangiftescherm)
- Verificatie van downloadteller: herstelt herroepingsrecht wanneer een digitaal product nooit daadwerkelijk is gedownload, waardoor ongegronde weigeringen van restitutie worden verminderd
- WooCommerce Subscriptions ondersteuning: annuleert toekomstige verlengingen, deelt de huidige factureringsperiode pro-rato in volgens artikel 9, lid 2, onder b), punt iii).
- WooCommerce Product Bundles ondersteuning: automatische verwerking per bundeltype; voor per-item bundels met een ingestelde korting kun je kiezen of gedeeltelijke retouren het betaalde bedrag behouden of het volledige bundelkorting verbeuren.
- PDF-export van de juridische herroepingsverklaring
- Landspecifieke Bijlage I(B) formulier generatie
Installatie
- Upload de plugin map naar
/wp-content/plugins/, of installeer via Plugins > Nieuwe toevoegen. - Activeer de plugin via het Plugins menu in WordPress.
- Ga naar WooCommerce > Instellingen > Herroeping en configureer:
- Algemeen: herroepingsperiode, genade termijn, verzonden statussen
- Handelsgegevens: naam, adres, retouradres, retourkostentoewijzing
- Klantervaringen: toestemmingsmodus voor digitale goederen, herroepingsinformatiepagina
- Klik in de sectie Klantervaring op “Informatiepagina voor herroeping aanmaken” om een EU-conform Annex I(A) bericht en Annex I(B) modelformulier te publiceren. De pagina URL wordt automatisch gelinkt vanuit bestelling e-mails en het Mijn account scherm bestelling bekijken.
- Klanten die in aanmerking komen om zich terug te trekken zien een “Hier van contract terugtrekken” Call To Action op hun bestelpagina. Het formulier werkt zonder JavaScript.
FAQ
-
Werkt de plugin met gastafrekening?
-
Ja. Maak een speciale herroepingsformulierpagina aan via WooCommerce > Instellingen > Herroeping > Klant (één klik). Plaats de shortcode
[buddypilot_withdrawal_guest_form]op die pagina. Gastklanten voeren hun bestel-nummer en factuuradres e-mail in; een beveiligde beveiligde link wordt naar het factuuradres verzonden. Door op de link te klikken, opent het volledige interactieve herroepingsformulier zonder dat een account nodig is. -
Verwerkt de plugin automatisch terugbetalingen?
-
De gratis versie registreert de herroepingsverklaring en wijzigt de bestelling status naar
wc-withdrawal. De beheerder verwerkt de terugbetaling met native WooCommerce tools. Automatische terugbetaling met één klik op basis van aangegeven items is beschikbaar in de Pro addon. -
Wat doet de plugin NIET?
-
De plugin registreert herroepingsverklaringen als juridische documenten en stelt zowel de klant als de operator op de hoogte. Hij betaalt geen geld automatisch terug, verifieert geen retourzendingen, handhaaft geen terugbetalingstermijnen en behandelt geen boekhouding en BTW. De winkeloperator is verantwoordelijk voor het verwerken van de terugbetaling binnen de wettelijk vereiste periode (standaard 14 dagen, configureerbaar onder WooCommerce, Instellingen, Herroeping, Algemeen).
-
Is dit een retouren plugin voor WooCommerce?
-
Ja, in juridische zin: het behandelt WooCommerce-retouren als herroepingen door EU-consumenten. De klant dient een retourverzoek in (een herroepingsverklaring) via het online retourformulier, en de operator handelt het af vanuit de verklaringenlijst. Het is geen koeriers- of RMA logistiek tool: het genereert geen verzendlabels en volgt geen retourpakketten.
-
Vervangt het mijn pagina met het retourbeleid?
-
Nee, het vult die aan. De plugin genereert met één klik de wettelijk vereiste informatiepagina over herroeping (Annex I(A)) en het modelformulier voor herroeping (Annex I(B)); je retourbeleid en servicevoorwaarden blijven je eigen documenten. Samen dekken ze zowel het wettelijke minimum als de praktische regels van je winkel.
-
Ondersteunt de plugin variabele producten?
-
Ja, zonder extra configuratie nodig. Variabele producten (verschillende maten, kleuren, enz.) worden volledig ondersteund in de gratis versie. Elke variant verschijnt in het herroepingsformulier als een aparte regel met de volledige attribuut labels (bijv. T-shirt, maat: L, kleur: zwart), zodat de klant precies aangeeft wat die terugstuurt en de operator hetzelfde detail ziet in de declaratielijst en op de detailpagina van de declaratie.
-
Werkt de plugin met WooCommerce Subscriptions of Product Bundles?
-
Afonnements-, bundel- en samengestelde productverwerking (annulering van verlengingen, proratisering, bundel-restitutie-modi) maakt deel uit van de Pro add-on. De gratis versie behandelt ze als standaardproducten.
-
Dekt de plugin de toestemming van artikel 16(m) voor digitale goederen?
-
Ja. De plugin voegt een expliciet toestemmingsvakje toe bij het afrekenen wanneer de winkelwagen downloadbare of virtuele producten bevat. De operator kan kiezen tussen “vereist voor aankoop”, “optioneel” of “verborgen” (handelaar ziet af van de uitsluiting). Toestemming wordt vastgelegd op de bestelling en weergegeven in het herroepingsformulier.
-
Wanneer start de bedenktijd (herroepingstermijn)?
-
De klok start vanaf het exacte moment dat de bestelling status wijzigt naar een van de statussen “geleverd” die zijn ingesteld onder WooCommerce > Instellingen > Herroeping > Algemeen. De plugin registreert het precieze tijdstempel van die statuswijziging. Zolang de deadline niet is verstreken, ziet de klant hoeveel dagen er overblijven in het herroepingsformulier; zodra de deadline is verstreken, wordt de herroepingsknop niet meer getoond. Elke ingebouwde of aangepaste WooCommerce bestelling status kan worden gekoppeld als trigger voor “geleverd” (bijv. “Afgerond”, een aangepaste status “Verzonden”, enz.). De lijst leeg laten betekent dat de klok nooit start, wat handig is tijdens het testen of wanneer je herroeping onbeperkt beschikbaar wilt maken.
-
Is de plugin HPOS-compatibel?
-
Ja. De plugin is volledig compatibel met WooCommerce High-Performance Order Storage (HPOS) en valt automatisch terug op de verouderde post-meta-modus.
Beoordelingen
Bijdragers & ontwikkelaars
“BuddyPilot Withdrawal – Easy Returns for WooCommerce” is open source software. De volgende personen hebben bijgedragen aan deze plugin.
Bijdragers“BuddyPilot Withdrawal – Easy Returns for WooCommerce” is vertaald in 7 localen. Dank voor de vertalers voor hun bijdragen.
Vertaal “BuddyPilot Withdrawal – Easy Returns for WooCommerce” in je eigen taal.
Interesse in ontwikkeling?
Bekijk de code, haal de SVN repository op, of abonneer je op het ontwikkellog via RSS.
Changelog
1.0.21
- Oplossing: de herroepingslink staat weer in de footer van je WooCommerce e-mails bij winkels waar deze e-mails worden gegenereerd door een plugin die de WooCommerce e-mail templates vervangt. MailPoet doet dit wanneer de eigen WooCommerce e-mailaanpassing is ingeschakeld, waardoor de link stilletjes uit elke e-mail verdween. De link is wettelijk vereist en wordt daarom nu toegevoegd aan de afgeronde e-mail, telkens wanneer hij de template niet overleefde.
- Oplossing: de knop “Herroepingsformulier online indienen” op de pagina met herroepingsinformatie kon onleesbaar zijn bij thema’s die links in de pagina content dezelfde kleur geven als de achtergrond van de knop: het label kreeg de linkkleur en verdween in de knop. Dezelfde oplossing geldt voor de knoppen “Terug” op de bevestigingspagina en in Mijn account.
- Nieuw: een ‘e-mail link’ instelling schakelt de automatische herroeping link in WooCommerce e-mails uit. Gebruik het als je de link zelf toevoegt aan je e-mails, bijvoorbeeld in een e-mail ontwerper plugin, en wil niet dat het twee keer verschijnt.
1.0.20
- Nieuw: sitebrede herroepingslink. Een onopvallende link in de footer van elke pagina (plus een optionele sticky knop) leidt klanten naar de herroepingsfunctie van overal in de winkel, niet alleen vanuit Mijn account, in de geest van artikel 11a van EU richtlijn 2023/2673. Een [buddypilot_withdrawal_link] shortcode is beschikbaar voor handmatige plaatsing. De footerlink is ingeschakeld voor nieuwe installaties en blijft uitgeschakeld op bestaande sites tot je het inschakelt.
- Nieuw: Optionele directe gasttoegang. Je kunt gasten nu meteen naar het herroepingsformulier laten gaan nadat ze hun bestelnummer en e-mail hebben ingevuld, zonder de per e-mail verstuurde toegangslink. De toegangslink blijft standaard vereist.
- Oplossing: opties die alleen in Pro beschikbaar zijn, verschijnen op het instellingenscherm nu niet-aangevinkt in de gratis plugin, zodat ze niet langer ingeschakeld lijken.
- Developer: de vertaaltemplate (.pot) en de Poolse vertaling vernieuwd.
1.0.19
- Oplossing: recent toegevoegde teksten verschijnen niet langer in het Engels op sites zonder een actueel taalpakket. De meegeleverde vertalingen zijn vernieuwd en uitgebreid, zodat elke ondersteunde EU-taal nu wordt geleverd op de huidige plugin versie. Communityvertalingen uit het taalpakket van translate.wordpress.org hebben nog steeds voorrang; de meegeleverde kopie vult alleen aan wat in het pakket ontbreekt.
- Developer: de vertaaltemplate (.pot) is nu opgenomen in het pakket, zodat je de plugin zelf kunt vertalen (bijvoorbeeld met Loco Translate) en een meertalige site consistent kunt houden. Geen wijzigingen aan code of database, veilig om te updaten.
1.0.18
- Feature: De oorspronkelijke leveringskosten worden nu terugbetaald wanneer de klant herroept voor elk verzonden item in een bestelling (Article 13). Het bedrag wordt aan de klant getoond bij de bevestigingsstap en in Mijn account, en wordt toegevoegd aan de Pro-terugbetaling met één klik. De levering wordt nog steeds meegerekend wanneer alleen virtuele of downloadbare items in de bestelling overblijven; ze wordt niet toegevoegd bij een gedeeltelijke retour van de fysieke goederen. Een nieuwe instelling “Refund the original delivery cost” (standaard aan) regelt dit.
- Verbeterd: bedragen die aan de klant worden getoond, worden nu bruto (inclusief belasting) weergegeven. De bevestigingsstap en de Mijn account verklaringweergave tonen nu een overzicht van de terugbetaling: items, levering en het totaal terug te betalen.
- Verbeterd: na het indienen van een herroeping die fysieke goederen omvat, wordt de klant nu op de bevestigingspagina eraan herinnerd om de goederen terug te sturen naar de verkoper.
- Verbeterd: de verklaringschermen voor de operator tonen de herroepen items nu in de vertrouwde bestelitems lay-out van WooCommerce (Product, Prijs, Aantal, Totaal, belasting) met een totalenoverzicht (subtotaal items, verzending, belasting, totaal terug te betalen).
- Verbeterd: de instelling “Cost of returning the goods” is hernoemd naar “Who pays to return the goods” en anders geformuleerd om duidelijk te maken dat het gaat over de kosten om de goederen terug te zenden, niet over de terugbetaling van de oorspronkelijke levering.
- Ontwikkelaar: nieuw
buddypilot_withdrawal_shipping_refund_snapshot-filter om het restitutiebedrag voor levering aan te passen of te onderdrukken (bijvoorbeeld om een toeslag voor expreslevering te begrenzen). De openbare API-versie is nu 1.1.
1.0.17
- Verbeterd: de bestellingpagina in Mijn account toont nu elk item met zijn herroepingsstatus, in aanmerking komend, al herroepen of niet in aanmerking komend, boven de herroepingsknop. Digitale items die de klant heeft ingestemd om meteen te ontvangen (Article 16(m)) worden getoond met een badge “komt niet in aanmerking voor herroeping” in plaats van stilzwijgend te worden weggelaten, en bestellingen waarbij geen enkel item in aanmerking komt, tonen nu de itemlijst met die uitleg in plaats van een algemeen bericht.
- Verbeterd: Het herroepingsformulier toont dezelfde alleen-lezen itemlijst met badges wanneer een bestelling geen items bevat die in aanmerking komen voor herroeping.
- Verbeterd: meegeleverde vertalingen vullen nu alle strings aan die nog ontbreken in het taalpakket van translate.wordpress.org, zodat strings die in een release worden toegevoegd meteen in de sitetaal verschijnen zonder te wachten tot het taalpakket is geüpdatet. Communityvertalingen uit het taalpakket houden voorrang.
- Opgelost: de e-mail bij afwijzing/gedeeltelijke afhandeling toont niet langer twee vrijwel identieke meldingen over ADR/EU Online Dispute Resolution. De melding met de klikbare link blijft behouden; de dubbele standaardtekst is verwijderd.
1.0.16
- Opgelost: de link “Recht van herroeping” in de footer van de WooCommerce e-mail en de Call To Action in Mijn account verwijzen nu naar de juiste taalversie van de informatiepagina op Polylang en WPML sites. Voorheen werd het opgeslagen pagina ID letterlijk gebruikt, waardoor de link op meertalige winkels kon ontbreken of naar de verkeerde taal wees.
- Opgelost: de herroepingstermijn en de terugbetalingsdeadline worden nu consistent getoond op alle schermen. De bestelknop in Mijn account weerspiegelt nu de ingestelde herroepingstermijn in plaats van een vast getal van 14 dagen, en het voorbeeld van de verklaring en de bevestiging na indienen weerspiegelen nu de ingestelde terugbetalingsdeadline in plaats van een vaste waarde of de verkeerde instelling.
- Opgelost: de herroeping flow voor gasten blijft nu in de taal die de bezoeker gebruikt op meertalige sites. Voorheen vielen de formulieractie, elke volgende stap en de e-mails terug op de standaardtaal van de site nadat een toegangslink was aangevraagd op een pagina in een niet-standaardtaal. Het formulier herkent nu vertaalde paginavarianten, houdt elke stap op de pagina in de huidige taal, en verstuurt zowel de magic-link e-mail als de herroeping bevestigingse-mail in de taal van de bezoeker (Polylang, WPML). De bevestiging e-mail volgt nu ook de taal van de klant bij ingediende aanvragen via Mijn account door aangemelde gebruikers; door de operator geregistreerde verklaringen behouden de sitetaal.
- Verbeterd: De optie voor de terugbetalingsdeadline wordt nu bij activering ingesteld, zodat nieuwe installaties een consistente waarde rapporteren voordat de operator het instellingenscherm bezoekt.
1.0.15
- Feature: magic-link-e-mails voor gasten verwijzen nu naar de juiste taalversie van het herroepingsformulier op meertalige sites. Polylang, WPML, TranslatePress, Weglot en qTranslate-XT worden allemaal automatisch ondersteund; de taalmeta van de bestelling die door elke plugin wordt opgeslagen, wordt gebruikt om de vertaalde pagina-URL te bepalen.
- Verbeterd: vertaling .mo-bestanden voor alle 24 officiële EU talen zijn nu gebundeld in de plugin ZIP als fallback. Gebruikers op sites waar translate.WordPress.org nog geen taalpakket heeft gepubliceerd, ontvangen vertaalde strings uit de gebundelde .mo bestanden in plaats van terug te vallen op Engels.
- Verbeterd: de vertalingen Tsjechisch (cs_CZ), Kroatisch (hr), Nederlands België (nl_BE), Nederlands Nederland (nl_NL) en Roemeens (ro_RO) zijn gesynchroniseerd met GlotPress (translate.WordPress.org); door GlotPress goedgekeurde strings zijn nu leidend.
1.0.14
- Functie: nieuw
buddypilot_withdrawal_has_consentfilter toestaan dat plugins van derden hun eigen Artikel 16(m) toestemming selectievakje integreren.trueretourneren vanuit het filter om toestemming vast te leggen voor alle digitale items in de bestelling; de plugin verwerkt de interne opslag. Geen kennis van interne meta-sleutels is vereist. - Verbeterd: wanneer het eigen toestemming selectievakje van de plugin is ingesteld op “Verborgen” in de instellingen, kan het nieuwe filter nog steeds activeren. Externe toestemming kan daarom worden vastgelegd, zelfs wanneer het ingebouwde selectievakje is uitgeschakeld.
1.0.13
- Functie: operators kunnen nu een aangifte sluiten als “Alle items afwijzen” of “Gedeeltelijke oplossing” rechtstreeks vanaf de detail pagina van de aangifte. Voorheen was alleen volledige acceptatie beschikbaar vanaf dat scherm.
- Functie: gedeeltelijke oplossingsmodus staat een beslissing per item voor accepteren/weigeren toe met een verplichte afwijzingsreden voor elk afgewezen item, zodat de klant een gespecificeerde uitkomst ontvangt in plaats van één algemene beslissing.
- Functie: e-mails over afwijzing en gedeeltelijke oplossing bevatten nu de EU ODR (Online geschillenbeslechting) platform link (ec.europa.eu/consumers/odr), zoals vereist voor grensoverschrijdende geschil meldingen onder artikel 11a.
- Functie: het klantgerichte intrekkingsformulier toont nu per item resolutie badges voor volledig afgehandelde verklaringen: geaccepteerde items tonen een bevestigingsbadge, afgewezen items tonen de afwijzingsreden en een ODR platform link. Eerder toonde het formulier een algemeen bericht “bestelling niet geschikt”.
- Verbeterd: het opnieuw openen van een verklaring reset nu het resolutietype en de operatornotitie naar null, zodat de operator met een schone lei begint bij het corrigeren van een foutieve beslissing.
- Beveiliging: financiële snapshot velden in het declaratierecord (item totaal, subtotaal, belasting) zijn onveranderlijk; ze kunnen niet worden overschreven door POST manipulatie tijdens de oplossingsstap.
- Beveiliging: Het afhandelingstype wordt gevalideerd aan de hand van een strikte server-side lijst toegestaan (accepted / rejected / partial); willekeurige waarden worden afgewezen voordat ze de database bereiken.
- Beveiliging: Al gesloten verklaringen wijzen verouderde afhandelingspogingen af met een expliciete foutmelding, waardoor onbedoeld overschrijven bij gelijktijdige operatorsessies wordt voorkomen.
1.0.12
- Opgelost: Het toestemmingsvakje van artikel 16(m) werd bij het afrekenen niet weergegeven in winkels die WooCommerce 8.6 of hoger gebruiken met een klassieke op shortcode gebaseerde checkout (bijv. Blocksy-thema). De plugin detecteert nu correct of de blokcheckout in gebruik is voordat de toestemmingsverzameling via de Additional Checkout Fields API wordt gerouteerd.
- Verbeterd: gastheroepingssessie is nu beperkt tot 15 minuten na het klikken op de magische link, waardoor het venster waarin een gedeelde of inactieve browsersessie misbruikt zou kunnen worden, wordt verkleind.
- Verbeterd: Magic link inwissel endpoint past nu snelheidsbeperking toe per bestelling per IP, consistent met het e-mail verificatie endpoint.
- Verbeterd: verklaring detail en statustoggle in het beheerpaneel verifiëren nu dat de huidige gebruiker toegang heeft tot de gekoppelde bestelling, wat zorgt voor juiste toegangscontrole op setups met meerdere verkopers.
- Verbeterd: tekst van door operatoren aangepaste toestemmingslabel wordt gesaneerd wanneer deze wordt opgeslagen, zodat de opgeslagen optiewaarde altijd schone HTML is.
- Verbeterd: plugin verzamelt of slaat het browserstring voor de user-medewerker niet langer op bij herroepingsverklaringen. Het veld diende geen actief doel en het verwijderen daarvan reduceert de voetafdruk van persoonlijke gegevens. Bestaande installaties krijgen de kolom automatisch verwijderd bij het eerste laden na het updaten (geen gegevensverlies; de juridische verklaringsgegevens blijven volledig behouden).
1.0.11
- Opgelost: De registratie van e-mailklassen van de plugin is nu per klasse geïsoleerd. Een constructorfout in een klasse verspreidt zich niet langer naar WooCommerce’s e-mailverzending en blokkeert niet langer alle transactionele WooCommerce-e-mails (nieuwe bestelling, klantverwerking, enz.).
1.0.10
- Opgelost: proberen bestellingen in opname status bulk te wijzigen naar afgerond of verwerking activeert nu een beheer bericht dat de operator informeert hoeveel bestellingen zijn overgeslagen omdat de statuswijziging hiervoor niet is toegestaan en dat die bestellingen afzonderlijk moeten worden afgehandeld.
1.0.9
- Functie: gast verificatieformulier accepteert nu aangepaste bestelnummers van externe hernummering plugins (bijv. WebToffee Advanced Order Numbers, Custom Order Numbers for WooCommerce by Tyche Softwares). Gasten kunnen het geformatteerde nummer invoeren dat in hun bevestigings e-mail wordt getoond in plaats van de interne numerieke bestelling ID.
- Functie: invoer voor bestelnummer op het gastverificatieformulier dwingt geen numeriek toetsenbord meer af op mobiele apparaten, waardoor gasten bestelnummers met prefix kunnen typen, zoals ORD-2024-1042.
- Beveiliging: invoerlengte op het gastverificatieformulier is nu beperkt vóór het oplossen van bestellingen, waardoor gemanipuleerde aanvragen geen volledige database scans kunnen activeren in winkels met aangepaste plugins voor bestelnummers geïnstalleerd.
1.0.8
- Functie: herroepingsinformatiepagina wordt nu gemaakt als native WordPress blokken, waardoor de operator de juridische formulering rechtstreeks in de blokkeneditor kan bewerken.
- Functie: Nieuwe shortcode [buddypilot_withdrawal_info_block] geeft de dynamische secties (handelscontactgegevens, retouradres, CTA-knop) afzonderlijk weer zodat ze altijd huidige instellingen weerspiegelen, zelfs na handmatige bewerkingen van de omringende tekst.
- Functie: nieuwe knop “Inhoud van informatiepagina overschrijven” in WooCommerce > instellingen > herroeping > klant ververst de pagina op elk moment met de nieuwste model meldingstekst.
- Opgelost: bestellingen die via de WooCommerce REST API zijn geïmporteerd (bijv. BaseLinker) werden steeds opnieuw geïmporteerd in een lus omdat de plugin onnodige toestemming meta naar elke nieuwe bestelling schreef. De plugin schrijft geen meta meer naar via API aangemaakte bestellingen die geen digitale items bevatten.
1.0.7
- Verbeterd: afleveringsvolging gebruikt nu een speciale databasetabel in plaats van ordermetadata, waardoor integraties voor synchronisatie van derden (bijv. BaseLinker) voorkomen dat bestellingen bij elke afleveringsstatusupdate opnieuw worden geïmporteerd.
- Verbeterd: bevestigingsscherm leest nu de ingestelde herroepingsperiode dynamisch in plaats van een vast ingestelde waarde.
- Verbeterd: snelheidsbeperking wordt nu verwerkt met één atomaire databasebewerking.
- Verbeterd: verminderde database-query op de herroepingslijstpagina.
- Opgelost: diverse codeerstandaarden en kleine veiligheidsversterking.
1.0.6
- Functie: gastklanten (niet ingelogd) kunnen nu een herroepingsverklaring rechtstreeks vanuit een speciale formumierpagina indienen. Nadat zij hun bestel-nummer en factuur-e-mail hebben ingevoerd, wordt een beveiligde eenmalige beveiligde link naar het factuuradres verzonden; erop klikken opent het volledige interactieve herroepingsformulier zonder account.
- Functie: nieuwe shortcode
[buddypilot_withdrawal_guest_form]voor de gastherroepingsformulierpagina. De pagina en shortcode kunnen met een enkele klik worden gemaakt vanuit WooCommerce > Instellingen > Herroeping > Klant. - Functie: shortcode
[buddypilot_withdrawal_information]toont nu een optionele “Herroepingsformulier online indienen” oproep tot actie-knop die linkt naar de gastformulierpagina wanneer de formulierpagina is geconfigureerd. Bestaande informatiepagina’s worden niet gewijzigd. - Functie: nieuwe transactionele e-mail “Herroepingsformulieraccesslink (gast)” met de beveiligde link; configureerbaar onder WooCommerce > Instellingen > E-mails.
1.0.5
- Plugin hernoemd naar BuddyPilot Withdrawal (Easy Returns) voor betere vindbaarheid.
- Volledige vertalingen toegevoegd voor alle 24 officiële EU-talen: bg, cs, da, de (de_DE, de_AT, de_CH), el, es, et, fi, fr (fr_FR, fr_BE, fr_CH), ga, hr, hu, it, lt, lv, mt, nl (nl_NL, nl_BE), pl, pt, ro, sk, sl, sv.
- Vertaalkwaliteit: alle 24 EU taalbestanden gecontroleerd in drie rondes; juridische terminologie geverifieerd aan de hand van officiële nationale staatsbladen (EU-richtlijn 2011/83/EU bijlage I), diakritische tekens hersteld, formeel register overal afgedwongen, meervoudsvormen gecorrigeerd en interne consistentie verbeterd.
1.0.4
- Functie: fractionele productaantallen worden nu gedetecteerd en gerapporteerd in de herroepingsverklaring. Volledige verwerking van fractionele hoeveelheden (juiste proratisering, restitutieberekening) is beschikbaar in BuddyPilot Withdrawal Pro.
- Functie: “Upgrade naar Pro” actielink toegevoegd in de pluginslijst, alleen weergegeven wanneer de Pro-versie niet actief is.
1.0.3
- Getest en bevestigd compatibel met WordPress 7.0.
- Beveiliging: nonce wordt nu geverifieerd voordat een snelheidsbeperking slot wordt verbruikt, waardoor CSRF-tests het uurbudget van een gebruiker niet kunnen uitputten.
- Beveiliging: anonieme (gast) snelheidsbeperking buckets zijn nu begrensd per gehashed IP in plaats van een gedeelde
user_id=0bucket. - Beveiliging:
sealed_mapen GET vooraf verzegelde ID’s worden vóór gebruik gevalideerd aan de hand van de bestelling, zodat gemaakte aanvragen geen verzegelde bevestigingen aan gewone items kunnen koppelen. - Beveiliging:
apply_filters('buddypilot_withdrawal_declaration_items_payload')output wordt opnieuw gevalideerd: items metitem_id=0, negatieve hoeveelheden of niet-array-waarden worden verwijderd. - Beveiliging:
PermissionCheckerblokkeert nu explicietuser_id=0ongeacht bestellingcustomer_id. - Beveiliging:
OperatorRegistrationcontroleertEXCLUDED_STATUSESbij ingang van handler en schoont de permissiecache op na bestellingopslag. - Beveiliging:
DeclarationRepositoryvalideert het format vanfiling_dateen weigert zero-date strings. - Beveiliging:
RateLimit::tally()geeftPHP_INT_MAXterug wanneer de snelheidsbeperkingtabel ontbreekt, waardoor de limiter niet in stilte een no-op wordt. - Oplossing:
round(qty, 10)inget_declared_quantities()voorkomt IEEE-754 epsilon ophoping bij fractionele product hoeveelheden. - Oplossing: overbodige
user_registerhook verwijderd uit privacybeheer; alleenwoocommerce_created_customerwordt gebruikt.
1.0.2
- Code: alle korte
bpw_/bpw-identifiers hernoemd naar het volledigebuddypilot_withdrawal_/buddypilot-withdrawal-voorvoegsel: beïnvloedt AJAX/admin-post actienamen, script-handlers, gelokaliseerd JS-object, metabox-ID, WooCommerce-veldtype, nonce-veldnamen, slotels en GET-parameters. Beheert WordPress.org unique-prefix review-vereiste.
1.0.1
- Beveiliging: alle beheer en AJAX aanvraag handlers controleren nu gebruikersrechten vóór nonce verificatie, in lijn met de WordPress beveiligingsrichtlijnen.
- Beveiliging: het AJAX pad in de handler voor operatorregistratie gebruikt nu
check_ajax_referer()in plaats vancheck_admin_referer()en geeft een correcte AJAX fout reactie terug bij nonce mislukking. - Beveiliging:
current_user_can()gate toegevoegd aan de beheer bericht handler voor de aanmaakstatus van de info-pagina. - Beveiliging: valutasymbool en scheidingsteken waarden uit gelokaliseerde prijs format gegevens worden nu aan de JavaScript kant geëscapet vóór invoeging in de DOM.
- Code: inline JavaScript verplaatst van de operator registratie template naar een in wachtrij geplaatst bestand (
assets/js/admin/operator-registration.js); strings doorgegeven viawp_localize_script(). - Code: verwijderde
load_plugin_textdomain()aanroep; WordPress 4.6 en hoger laden vertalingen automatisch voor plugins op WordPress.org.
1.0.0
- Eerste stabiele versie. Volledige implementatie van de artikel 11a herroepingsfunctie: twee-staps formulier, gastverificatie, handelsmatig inschrijving, verklaringenbeheerslijst, configureerbare periode en bezorgde statussen, vastleggen van toestemming conform artikel 16(m), Bijlage I(A)/(B) pagina generator, klant en beheer e-mails, Mijn Account herroepingsgeschiedenis, HPOS-ondersteuning, AVG/GDPR hooks, WCAG 2.2 AA naleving, Pools en Engels vertalingen.
