=== SK Herroepingsknop ===
Contributors: svenkersten
Requires at least: 6.1
Tested up to: 7.1
Requires PHP: 7.4
WC requires at least: 7.0
Stable tag: 1.3.3
License: GPLv2 or later

Wettelijk verplichte online herroepingsknop voor WooCommerce (EU 2023/2673, verplicht vanaf 19 juni 2026).

== Beschrijving ==

SK Herroepingsknop voegt een wettelijk verplichte online herroepingsfunctie toe aan je WooCommerce-webshop. Voldoet aan de drie harde eisen:

1. Online herroepingsverklaring met alleen de noodzakelijke velden (naam, bestelnummer, e-mail).
2. Aparte bevestigingsstap ("Ontbinding bevestigen") — twee kliks.
3. Directe e-mailbevestiging met de inhoud van de verklaring + datum en tijdstip van indiening, plus een kopie naar de winkelier.

Kenmerken:
* Gast-vriendelijk: werkt zonder account (validatie op bestelnummer + e-mail). Dit is de eis die de meeste plugins fout doen.
* Permanent bereikbaar: footer-link, Mijn account-link en de shortcode [sk_herroepingsknop].
* Bewijslog in een eigen tabel + ordernotitie + order-meta.
* HPOS-compatibel (WooCommerce custom order tables).
* Self-hosted updates via de SK-updater.

== Installatie ==

1. Upload de plugin en activeer hem.
2. Er wordt automatisch een pagina "Bestelling herroepen" aangemaakt met de shortcode [sk_herroeping_formulier].
3. Stel onder "Sven Kersten → Herroepingsknop" de knoptekst, plaatsing en notificatie-e-mail in.

== Changelog ==

= 1.3.3 =
* Security: updates are only installed when they carry a valid signature from the publisher. A tampered or unsigned update is refused and nothing is installed.
* Beheer: gedeelde beheeromgeving 2.1.0 (knoppen, contrast, opslagbalk en smalle schermen).
* Getest op WordPress 7.1.

= 1.3.2 =
* Onderhoud: de gedeelde SK-onderdelen (menu, licenties, AI-sleutels en updater) voldoen nu aan de eisen van het WordPress Plugin Review Team. Er verandert niets aan de werking; bestaande instellingen, licenties en sleutels blijven gewoon werken.

= 1.3.0 =
* Bevestigingsmails worden nu in de WooCommerce-huisstijl verstuurd (e-mailheader met logo, basiskleur en footer van de winkel).
* De herroepingspagina is herkiesbaar in de instellingen. Bij installatie adopteert de plugin een bestaande gepubliceerde pagina met de shortcode in plaats van een tweede aan te maken.
* Optioneel reden-veld op het bevestigingsscherm (standaard uit; de klant is niet verplicht een reden op te geven). De reden komt mee in de ordernotitie, het overzicht, de CSV-export en de bevestigingsmail.
* "Verder winkelen"-knop op het eindscherm, configureerbaar (aan/uit, tekst, en bestemming: winkelpagina, een gekozen pagina of een eigen URL).
* CSV-export bevat geen IP-adres meer (blijft als bewijs in de database); handmatige afhandeling legt vast wie het deed en zet een ordernotitie op de bestelling. De instelling "Type aanbod" is verwijderd.
* Gebruiksvriendelijker productselectie op de herroepingspagina: een checkbox per productregel met een "selecteer alles" (vervangt de losse knop "Hele bestelling herroepen"). Kocht de klant meerdere van hetzelfde product, dan verschijnt bij het aanvinken een aantalkiezer met plus- en min-knoppen in plaats van een kaal invoerveld. De layout is nu volledig div-gebaseerd (geen tabellen), zodat er geen thema-tabelstijlen doorlekken, en volledig responsive: op mobiel stapelen de blokken netjes, wordt de bevestigknop volledige breedte en zijn de raakvlakken touch-vriendelijk. De checkbox is een rustig wit vakje met een groen vinkje. De shortcode-uitvoer krijgt daarnaast een standaard ondermarge.
* Nieuw beheeroverzicht in het React-admin (zelfde stijl als de andere SK-plugins), onder "Sven Kersten → Herroepingsknop". Tabblad "Herroepingen" toont alle geregistreerde herroepingen met zoeken (op bestelnummer, naam of e-mail), filter op status, paginering, een directe link naar de bestelling en een CSV-export. Het tabblad "Instellingen" bevat de bestaande instellingen, nu via de REST-API.
* Automatisch statusbeheer: een herroeping wordt automatisch op "afgehandeld" gezet zodra de winkelier de bijbehorende terugbetaling of annulering in WooCommerce verwerkt (detectie via de refund- en statushooks, met vergelijking van herroepen versus terugbetaalde aantallen). Er is ook een handmatige toggle in het overzicht als vangnet voor afhandeling buiten WooCommerce om. De bron (WooCommerce of handmatig) en het tijdstip worden vastgelegd.
* Knoppen nemen nu automatisch de brandkleur van het thema over (theme-classes `button`/`wp-element-button`) in plaats van een vaste blauwe/groene kleur. De plugin dwingt geen eigen knopkleur meer af.
* Herroepingsformulier vereenvoudigd: de klant vult alleen nog bestelnummer + e-mailadres in. De naam wordt automatisch uit de geverifieerde bestelling gehaald, zodat een typfout in de naam onmogelijk is en de bevestigingsmail, ordernotitie en het bewijslog altijd de juiste naam bevatten.

= 1.2.0 =
* Gedeeltelijke herroeping: de klant kiest per bestelregel hoeveel hij wil herroepen (standaard niets), met een knop "Hele bestelling herroepen". De herroepen producten + aantallen staan in de bevestigingsmail, de ordernotitie en het bewijslog. Al herroepen aantallen worden onthouden, zodat een klant niet meer dan het resterende aantal kan herroepen.

= 1.1.1 =
* Knoptekst "Ontbinding bevestigen" → "Herroeping bevestigen" voor consistente, duidelijke bewoording.

= 1.1.0 =
* Duidelijkere standaard knoptekst ("Bestelling herroepen") + uitleg op de pagina.
* "Herroepen"-knop per bestelling in Mijn account (naast "Opnieuw bestellen"), met automatisch ingevulde gegevens voor ingelogde klanten via de order-key.
* Footer-link standaard uit; advies om de pagina via Weergave → Menu's aan een menu toe te voegen.
* Instelbare bedenktijd (standaard 14 dagen): na afloop verdwijnt de knop en zien klanten een melding met de verloopdatum. Optie om herroepen ook ná de termijn toe te staan.

= 1.0.0 =
* Eerste release: 2-staps gast-flow (geen account nodig), bewijslog, ordernotitie, e-mailbevestiging met datum/tijd naar klant en winkelier, footer-/account-link en shortcode, instellingenscherm. Ordernummer-resolver ondersteunt custom ordernummers (Booster/Sequential Order Numbers). HPOS-compatibel.
