[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fBmkirvf3cgmk56szeLeL-KY5TLbrQmnH5dU_OpHA3YA":3,"$f4JQExQnSebA8kX5FjNdm0jFe83Wf2y0x83bR_TlikSM":125,"$fpXxS9xqjTMZhbdjZUT6X-wUK_4X6yvPMAoERItlhqiw":130},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":25,"download_link":26,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29,"discovery_status":30,"vulnerabilities":31,"developer":32,"crawl_stats":28,"alternatives":40,"analysis":28,"fingerprints":28},"wt-eu-withdrawal-button","WebToffee EU Order Withdrawal Button for WooCommerce","1.0.7","WebToffee","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebtoffee\u002F","\u003Cp>From June 19, 2026, EU Directive 2023\u002F2673 requires every online store selling to EU consumers to provide a clear, easily accessible online withdrawal function. Customers must be able to cancel a purchase digitally — just as easily as they placed the order.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>EU Withdrawal Button for WooCommerce\u003C\u002Fstrong> by WebToffee makes it straightforward to comply. The plugin adds a withdrawal button to the customer’s My Account orders page, a guided withdrawal form, a two-step confirmation flow, and a dedicated admin dashboard to manage all incoming requests.\u003C\u002Fp>\n\u003Cp>No coding required. Works right out of the box.\u003C\u002Fp>\n\u003Ch4>What the plugin does\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>For your customers:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A “Request Withdrawal” button appears directly on the My Account orders list — visible only during the active withdrawal period\u003C\u002Fli>\n\u003Cli>Customers can select which items to withdraw (full order or individual products)\u003C\u002Fli>\n\u003Cli>A simple form collects their name, email, and an optional reason\u003C\u002Fli>\n\u003Cli>A confirmation step prevents accidental submissions (“Are you sure you want to submit this withdrawal request?”)\u003C\u002Fli>\n\u003Cli>Customers receive an email confirmation once the request is submitted\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>For you as the store admin:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A clean Withdrawals dashboard under WooCommerce > Withdrawals shows all requests at a glance\u003C\u002Fli>\n\u003Cli>At-a-glance stats: open requests and approvals over the last 30 days\u003C\u002Fli>\n\u003Cli>Filter requests by status, date range, or search (order # or receipt hash)\u003C\u002Fli>\n\u003Cli>View full request details — order info, customer email, request type, reason, and a complete activity log\u003C\u002Fli>\n\u003Cli>Approve or reject requests with one click\u003C\u002Fli>\n\u003Cli>Configure who receives admin withdrawal notification emails — defaults to your store email, with support for multiple recipients\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Key features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Withdrawal button on the orders page\u003C\u002Fstrong> — visible to customers within the configured withdrawal window\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Partial withdrawal support\u003C\u002Fstrong> — customers can withdraw individual items instead of the entire order\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two-step confirmation flow\u003C\u002Fstrong> — meets the directive’s requirement to confirm the customer’s intent\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Dedicated admin dashboard\u003C\u002Fstrong> — manage, filter, approve, or reject all withdrawal requests in one place\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add footer link\u003C\u002Fstrong> — optionally embed a withdrawal link in your store footer to meet visibility requirements\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Guest withdrawal support\u003C\u002Fstrong> — guest users can submit their order number and billing email, which is matched against WooCommerce order history, then confirmed via an email verification step before the request is created\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Withdrawal button shortcode\u003C\u002Fstrong> — use \u003Ccode>[wt_eu_order_withdrawal]\u003C\u002Fcode> to place a withdrawal button on any page or post.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable withdrawal period\u003C\u002Fstrong> — set the window to 2, 7, 14, or 30 days (EU standard is 14 days), starting from order created or a chosen WooCommerce order status\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Product exclusions\u003C\u002Fstrong> — exclude by product type, entire categories, or specific individual products\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin notification recipients\u003C\u002Fstrong> — choose one or more email addresses to receive new withdrawal request alerts (store email added by default)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customer contact email\u003C\u002Fstrong> — set the address shown to customers in rejection emails so they know who to reach out to\u003C\u002Fli>\n\u003Cli>\u003Cstrong>SHA-256 receipt hash\u003C\u002Fstrong> — every withdrawal request gets a unique SHA-256 receipt hash, included in withdrawal notification emails and shown in the request details on the admin dashboard, for easy reference and record-keeping\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order status automation\u003C\u002Fstrong> — automatically update order status when a request is submitted or approved\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reason field\u003C\u002Fstrong> — optionally require customers to provide a reason when submitting a request\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Display scope control\u003C\u002Fstrong> — show the withdrawal form globally or limit it to WooCommerce pages only\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Data management\u003C\u002Fstrong> — optionally delete all plugin data on uninstall\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Why this matters\u003C\u002Fh4>\n\u003Cp>Under \u003Ca href=\"https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Fdir\u002F2023\u002F2673\u002Foj\u002Feng\" rel=\"nofollow ugc\">EU Directive 2023\u002F2673\u003C\u002Fa>, any business that lets EU consumers sign up for or purchase something online must also let them cancel online — through the same website or app. Simply hiding a withdrawal form in a footer PDF or asking customers to email you is no longer sufficient.\u003C\u002Fp>\n\u003Cp>The directive specifically requires:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A withdrawal function that is \u003Cstrong>prominently displayed\u003C\u002Fstrong> and \u003Cstrong>continuously available\u003C\u002Fstrong> during the withdrawal period\u003C\u002Fli>\n\u003Cli>The function must be \u003Cstrong>clearly labelled\u003C\u002Fstrong> (e.g. “Withdraw from contract here” or similar)\u003C\u002Fli>\n\u003Cli>A \u003Cstrong>two-step confirmation\u003C\u002Fstrong> to prevent accidental withdrawals\u003C\u002Fli>\n\u003Cli>An \u003Cstrong>acknowledgement of receipt\u003C\u002Fstrong> sent to the customer on a durable medium (e.g. email)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin implements all of the above.\u003C\u002Fp>\n\u003Ch4>Getting started\u003C\u002Fh4>\n\u003Cp>For a complete walkthrough, see the \u003Ca href=\"https:\u002F\u002Fwww.webtoffee.com\u002Fdocs\u002Fwoocommerce-eu-withdrawal\u002Fhow-to-setup-woocommerce-order-withdrawal-button-to-comply-with-eu-directives\u002F\" rel=\"nofollow ugc\">setup guide\u003C\u002Fa> or watch the video below.\u003Cbr \u002F>\n\u003Cspan class=\"embed-youtube\" style=\"text-align:center; display: block;\">\u003Ciframe loading=\"lazy\" class=\"youtube-player\" width=\"750\" height=\"422\" src=\"https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FhXjS5bEtIJY?version=3&rel=1&showsearch=0&showinfo=1&iv_load_policy=1&fs=1&hl=en-US&autohide=2&wmode=transparent\" allowfullscreen=\"true\" style=\"border:0;\" sandbox=\"allow-scripts allow-same-origin allow-popups allow-presentation allow-popups-to-escape-sandbox\">\u003C\u002Fiframe>\u003C\u002Fspan>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Install and activate the plugin\u003C\u002Fli>\n\u003Cli>Go to \u003Cstrong>WooCommerce > Withdrawals > Settings\u003C\u002Fstrong> to configure your preferences\u003C\u002Fli>\n\u003Cli>Set your withdrawal page, period, and footer link options\u003C\u002Fli>\n\u003Cli>Publish the withdrawal page (created automatically as a draft on installation)\u003C\u002Fli>\n\u003Cli>Test the flow by placing a test order and using the Request Withdrawal button\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Support\u003C\u002Fh4>\n\u003Cp>For questions or assistance, visit our \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fwt-eu-withdrawal-button\u002F\" rel=\"ugc\">support page\u003C\u002Fa>.\u003C\u002Fp>\n","Add a legally compliant EU withdrawal button to your WooCommerce store. It allows customers to exercise their 14-day right of withdrawal online.",1000,3342,100,8,"2026-07-13T05:11:00.000Z","7.0.2","6.0","7.4",[20,21,22,23,24],"eu-compliance","eu-directive","eu-withdrawal","right-of-withdrawal","woocommerce","https:\u002F\u002Fwww.wordpress.org\u002Fplugins\u002Fwt-eu-withdrawal-button","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwt-eu-withdrawal-button.1.0.7.zip",0,null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":33,"display_name":7,"profile_url":8,"plugin_count":34,"total_installs":35,"avg_security_score":36,"avg_patch_time_days":37,"trust_score":38,"computed_at":39},"webtoffee",20,366980,97,144,77,"2026-08-28T18:51:26.163Z",[41,60,77,93,108],{"slug":42,"name":43,"version":44,"author":45,"author_profile":46,"description":47,"short_description":48,"active_installs":49,"downloaded":50,"rating":13,"num_ratings":51,"last_updated":52,"tested_up_to":16,"requires_at_least":53,"requires_php":18,"tags":54,"homepage":58,"download_link":59,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"buddypilot-withdrawal","BuddyPilot Withdrawal – Easy Returns for WooCommerce","1.0.21","BuddyPilot","https:\u002F\u002Fprofiles.wordpress.org\u002Fbuddypilot\u002F","\u003Cp>\u003Cstrong>BuddyPilot Withdrawal – Easy Returns for WooCommerce\u003C\u002Fstrong> adds a complete returns and withdrawal workflow to your store: the mandatory EU withdrawal button required by \u003Cstrong>Article 11a of EU Directive 2023\u002F2673\u003C\u002Fstrong>, an online return form for customers, and a declarations dashboard for the operator.\u003C\u002Fp>\n\u003Cp>From \u003Cstrong>19 June 2026\u003C\u002Fstrong>, every WooCommerce store with EU customers must provide a clearly visible, easily accessible withdrawal function (“withdraw from contract here” button) alongside the existing right of withdrawal informational requirements.\u003C\u002Fp>\n\u003Cp>The plugin works alongside your return policy: the customer withdraws from the contract online during the cooling-off period (14 days by default, configurable), and you process the WooCommerce return and refund with native tools.\u003C\u002Fp>\n\u003Ch4>What the plugin does\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Customer-facing\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Article 11a compliant “Withdraw from contract here” button\u003C\u002Fstrong> on the My Account order detail page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two-step withdrawal form\u003C\u002Fstrong>: item selection, declaration preview, one-click confirm\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Variable product support\u003C\u002Fstrong>: each variant (size, colour, etc.) appears with its full attribute labels as a separate line in the withdrawal form\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Guest checkout support\u003C\u002Fstrong> via direct verification flow (email + order number, no login required)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>My Account withdrawal history\u003C\u002Fstrong> list and declaration detail page\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Article 16(m) consent capture\u003C\u002Fstrong> at checkout for digital and virtual goods (configurable: required, optional, or hidden)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Customer declaration email\u003C\u002Fstrong> serving as the durable-medium acknowledgement required by Article 11a(3)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Withdrawal resolved email\u003C\u002Fstrong> sent to the customer after the operator closes the declaration; includes the EU ODR platform link (ec.europa.eu\u002Fconsumers\u002Fodr) when any item is rejected\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Per-item resolution status\u003C\u002Fstrong> visible in the withdrawal form after a declaration is closed: each item shows an “accepted” or “rejected” badge with the rejection reason and ODR link, so the customer understands the outcome without contacting support\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Operator-facing\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Order edit metabox\u003C\u002Fstrong> for registering declarations received via phone, mail or in person\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Standalone “Add new declaration” page\u003C\u002Fstrong> for high-volume operator queues without leaving the declarations list\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Declarations list\u003C\u002Fstrong> with search, filtering and sorting in WooCommerce admin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Declaration detail page\u003C\u002Fstrong> with full audit trail and resolution workflow: accept all, reject all, or partial resolution with per-item decisions and individual rejection reasons\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin notification email\u003C\u002Fstrong> sent immediately when a customer submits a withdrawal\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Legal and compliance\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Custom order status\u003C\u002Fstrong> \u003Ccode>wc-withdrawal\u003C\u002Fcode> (optional, plugin-registered) with a full change history logged as WooCommerce order notes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Annex I(A) withdrawal information page\u003C\u002Fstrong> available to generate with one click from Settings\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Annex I(B) model withdrawal form page\u003C\u002Fstrong> available to generate with one click from Settings, published as a WordPress page and auto-linked from order emails and My Account\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable refund period\u003C\u002Fstrong> (default 14 days, matches your contract terms)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable “delivered” statuses\u003C\u002Fstrong> that start the withdrawal clock\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Return cost attribution\u003C\u002Fstrong> (consumer pays or trader pays, per Annex I(A) requirements)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>GDPR personal data export and anonymisation\u003C\u002Fstrong> compatible with WordPress privacy tools\u003C\u002Fli>\n\u003Cli>\u003Cstrong>HPOS compatibility\u003C\u002Fstrong> (High-Performance Order Storage) and legacy post-meta mode\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WCAG 2.2 AA accessibility\u003C\u002Fstrong> compliance on all customer-facing forms\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Polish and English translations\u003C\u002Fstrong> included\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Pro addon\u003C\u002Fh4>\n\u003Cp>Extended functionality is available via the \u003Ca href=\"https:\u002F\u002Fbuddypilot.io\u002Fplugins\u002Fwithdrawal-pro\u002F\" rel=\"nofollow ugc\">BuddyPilot Withdrawal Pro\u003C\u002Fa> addon:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Operator-approved automatic refund built from declared items (one click from the declaration screen)\u003C\u002Fli>\n\u003Cli>Download-count verification: restores withdrawal right when a digital product was never actually downloaded, reducing unjustified refusal of refunds\u003C\u002Fli>\n\u003Cli>WooCommerce Subscriptions support: cancels future renewals, prorates the current billing period per Article 9(2)(b)(iii)\u003C\u002Fli>\n\u003Cli>WooCommerce Product Bundles support: automatic handling by bundle type; for per-item bundles with a configured discount, choose whether partial returns keep the paid amount or forfeit the entire bundle discount\u003C\u002Fli>\n\u003Cli>PDF export of the legal withdrawal declaration\u003C\u002Fli>\n\u003Cli>Country-specific Annex I(B) form generation\u003C\u002Fli>\n\u003C\u002Ful>\n","Easy returns for WooCommerce: EU withdrawal button (Directive 2023\u002F2673), online return form, cooling-off period tracking and operator workflow.",200,1852,3,"2026-07-17T15:52:00.000Z","5.8",[55,56,23,57,24],"compliance","returns","withdrawal","https:\u002F\u002Fbuddypilot.io\u002Fplugins\u002Fwithdrawal\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbuddypilot-withdrawal.1.0.21.zip",{"slug":61,"name":62,"version":63,"author":64,"author_profile":65,"description":66,"short_description":67,"active_installs":49,"downloaded":68,"rating":13,"num_ratings":69,"last_updated":70,"tested_up_to":71,"requires_at_least":53,"requires_php":18,"tags":72,"homepage":75,"download_link":76,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"odstupenie-od-zmluvy","Spotrebiteľské práva pre WooCommerce","2.6.1","onlinefotka","https:\u002F\u002Fprofiles.wordpress.org\u002Fonlinefotka\u002F","\u003Ch4>🇸🇰 Slovenský popis\u003C\u002Fh4>\n\u003Cp>Tento plugin pridáva do vášho WooCommerce e-shopu \u003Cstrong>online formuláre na odstúpenie od zmluvy a reklamácie\u003C\u002Fstrong>, plne v súlade s európskou Smernicou EÚ 2023\u002F2673 a slovenským zákonom č. 108\u002F2024 Z. z. o ochrane spotrebiteľa.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Pre koho je to určené:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Pre slovenských prevádzkovateľov WooCommerce e-shopov, ktorí potrebujú:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Splniť zákonnú povinnosť\u003C\u002Fstrong> podľa EÚ smernice 2023\u002F2673 (účinná od 19. 6. 2026), ktorá vyžaduje aby každý e-shop mal funkciu „Odstúpiť od zmluvy tu” priamo na webe (nie len PDF na stiahnutie).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Zjednodušiť proces reklamácií\u003C\u002Fstrong> — zákazník vyplní reklamáciu online, nemusí tlačiť papierový formulár, môže priložiť fotografie vady.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mať poriadok v reklamáciách\u003C\u002Fstrong> — všetky odoslané reklamácie sa zhromaždia v administračnom rozhraní, kde môžete vyplniť reklamačný protokol, sledovať stav a vytlačiť oficiálny dokument.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Hlavné funkcie:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Odstúpenie od zmluvy\u003C\u002Fstrong> — formulár cez shortcode \u003Ccode>[withdrawal_form]\u003C\u002Fcode>, tlačidlo „Odstúpiť od zmluvy tu” pri každej objednávke v Mojom účte, automatická kontrola 14-dňovej lehoty (po vypršaní sa tlačidlo skryje), HTML potvrdenie s presným dátumom a časom odoslania (zákonný dôkaz na trvalom nosiči).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reklamácie\u003C\u002Fstrong> — kompletný online reklamačný formulár cez shortcode \u003Ccode>[complaint_form]\u003C\u002Fcode> (alias \u003Ccode>[reklamacia]\u003C\u002Fcode>), všetky polia zo štandardného slovenského papierového formulára: meno\u002Ffirma, telefón, e-mail, IBAN, výrobca, model, výrobné číslo, dátum predaja, číslo objednávky\u002Ffaktúry, popis vady. Voliteľné nahrávanie fotografií vady (drag & drop, JPG\u002FPNG\u002FWEBP\u002FHEIC, do 5 MB).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Reklamačný protokol\u003C\u002Fstrong> — admin vyplní rozhodnutie (výmena\u002Fvrátenie ceny\u002Fzamietnutie), dátumy, IBAN na vrátenie. Vytlačiteľný A4 protokol (browser-natívne uloženie do PDF), pripravený na archiváciu.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>30-dňová zákonná lehota\u003C\u002Fstrong> — plugin posiela 5 dní pred uplynutím automatickú pripomienku adminovi (cez WP Cron). Žiadna pokuta od ÚZP za zameškané reklamácie.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Údaje predávajúceho\u003C\u002Fstrong> — vyplníte IČO, DIČ, IČ DPH a adresu raz, zobrazuje sa v hlavičke formulárov aj na tlačenom protokole. Berie sa primárne z WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Nastavenia \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Všeobecné, voliteľný override.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Plne preložené do slovenčiny\u003C\u002Fstrong> — formuláre aj admin rozhranie.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Čo plugin NEROBÍ:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Automatické refundy ani zmenu stavu objednávky vo WooCommerce\u003C\u002Fli>\n\u003Cli>Generovanie dobropisov alebo vratových štítkov\u003C\u002Fli>\n\u003Cli>Napojenie na dopravcov\u003C\u002Fli>\n\u003Cli>Výnimky z práva na odstúpenie (digitálny obsah, hygienický tovar atď.)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Tieto kroky rieši prevádzkovateľ manuálne podľa svojich obchodných podmienok.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Inštalácia v 3 krokoch:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Aktivujte plugin\u003C\u002Fli>\n\u003Cli>Vytvorte 2 stránky a vložte do nich shortcode \u003Ccode>[withdrawal_form]\u003C\u002Fcode> a \u003Ccode>[complaint_form]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>V \u003Cem>Spotrebiteľské práva \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Nastavenia\u003C\u002Fem> zadajte URL týchto stránok + vyplňte IČO\u002FDIČ ak ste firma\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>🇬🇧 English description\u003C\u002Fh4>\n\u003Cp>This plugin adds online forms for both \u003Cstrong>withdrawal from contract\u003C\u002Fstrong> and \u003Cstrong>complaints (reklamácie)\u003C\u002Fstrong> to your WooCommerce store, fully compliant with EU Directive 2023\u002F2673 and Slovak Act No. 108\u002F2024 Coll. on consumer protection.\u003C\u002Fp>\n\u003Ch4>Withdrawal from contract\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Shortcode \u003Ccode>[withdrawal_form]\u003C\u002Fcode> — embeddable on any page\u003C\u002Fli>\n\u003Cli>“Withdraw from contract here” button on every order in My Account (hides after 14 days)\u003C\u002Fli>\n\u003Cli>Automatic 14-day withdrawal-period check — visual and server-side blocking after expiry\u003C\u002Fli>\n\u003Cli>Automatic form pre-fill for logged-in customers\u003C\u002Fli>\n\u003Cli>Order ownership verification: e-mail or postcode for guest checkouts\u003C\u002Fli>\n\u003Cli>HTML confirmation e-mail with submission date and time (legal proof on a durable medium)\u003C\u002Fli>\n\u003Cli>HTML notification e-mail to the shop owner — supports multiple recipients (comma-separated)\u003C\u002Fli>\n\u003Cli>Rate limiting — max 10 attempts per hour per IP (admins bypass)\u003C\u002Fli>\n\u003Cli>Legally exact button wording per Articles 1 and 3 of the directive\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Complaints (reklamácie)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Shortcode \u003Ccode>[complaint_form]\u003C\u002Fcode> (alias \u003Ccode>[reklamacia]\u003C\u002Fcode>)\u003C\u002Fli>\n\u003Cli>All fields matching the standard Slovak complaint form: buyer details, IBAN, brand, model, serial number, sale date, order number, invoice, defect description\u003C\u002Fli>\n\u003Cli>Brand and model are optional — focus is on the defect description\u003C\u002Fli>\n\u003Cli>Separate “Order number” field — auto-filled from order dropdown for logged-in customers, manual text input for guests\u003C\u002Fli>\n\u003Cli>Optional photo upload with drag & drop (up to 5 photos by default, configurable)\u003C\u002Fli>\n\u003Cli>Secure photo handling — real MIME-type verification (JPG, PNG, WEBP, HEIC), .htaccess protection, random filename hash, realpath safety check\u003C\u002Fli>\n\u003Cli>Auto-fill from order selection for logged-in customers (brand, model, sale date, order number, invoice number)\u003C\u002Fli>\n\u003Cli>Admin complaint list with filter (by status), search (name, e-mail, invoice, order number, ID) and pagination\u003C\u002Fli>\n\u003Cli>Admin “Reklamačný protokol” form — fill resolution (exchange \u002F refund \u002F rejected), expert assessment contact, dates\u003C\u002Fli>\n\u003Cli>Status pipeline: New \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> In progress \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Resolved \u002F Rejected (coloured badges)\u003C\u002Fli>\n\u003Cli>“Date resolved” is required when closing a complaint (auto-fills today if empty)\u003C\u002Fli>\n\u003Cli>Internal notes field (private) — visible only to admins, NOT included in print or customer e-mails\u003C\u002Fli>\n\u003Cli>Delete action with confirmation and disk cleanup of attached photos\u003C\u002Fli>\n\u003Cli>Optional status update e-mail to customer\u003C\u002Fli>\n\u003Cli>Printable A4 view — buyer-filled form + protocol on one page (browser-native print to PDF)\u003C\u002Fli>\n\u003Cli>Seller info settings — IČO, DIČ, IČ DPH, correspondence address (hybrid: WC Store Address + plugin overrides)\u003C\u002Fli>\n\u003Cli>WP Cron daily reminder e-mail to admin 5 days before the 30-day legal deadline expires (each complaint reminded only once)\u003C\u002Fli>\n\u003Cli>30-day legal deadline reminder per Act No. 108\u002F2024 Coll.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Common features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Dedicated top-level admin menu \u003Cstrong>“Spotrebiteľské práva”\u003C\u002Fstrong> (Consumer Rights) with 3 clean submenus: Withdrawals from contract, Complaints, Settings\u003C\u002Fli>\n\u003Cli>Database log of all submissions (separate tables for withdrawals and complaints)\u003C\u002Fli>\n\u003Cli>Full multilingual support (EN, SK, CS, HU, DE, PL) — auto-detected from WordPress Site Language\u003C\u002Fli>\n\u003Cli>HPOS and legacy WooCommerce compatibility\u003C\u002Fli>\n\u003Cli>WordPress Privacy Policy integration in GDPR consent\u003C\u002Fli>\n\u003Cli>Automatic DB schema upgrades — new columns are added on plugin load if missing (no manual SQL needed)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WooCommerce compatibility\u003C\u002Fh4>\n\u003Cp>The plugin works with both order-storage systems:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>HPOS (High Performance Order Storage) — new \u003Ccode>wc_orders\u003C\u002Fcode> tables, WooCommerce 7.1+\u003C\u002Fli>\n\u003Cli>Legacy — classic storage via WordPress posts\u002Fpostmeta\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Switching is fully automatic. HPOS compatibility is declared via \u003Ccode>FeaturesUtil\u003C\u002Fcode> — the plugin shows a green compatibility badge in WooCommerce > Settings > Advanced.\u003C\u002Fp>\n\u003Ch4>Legislation\u003C\u002Fh4>\n\u003Cp>The plugin is designed in compliance with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>EU Directive 2023\u002F2673 (effective 19 June 2026)\u003C\u002Fli>\n\u003Cli>Slovak Act No. 108\u002F2024 Coll. on consumer protection (replaced Act No. 102\u002F2014 Coll. effective 1 July 2024)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>What the plugin does NOT do\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Exceptions from the right of withdrawal (digital content, hygiene goods, etc.)\u003C\u002Fli>\n\u003Cli>Automatic refunds or order status changes in WooCommerce\u003C\u002Fli>\n\u003Cli>Generating credit notes or return labels\u003C\u002Fli>\n\u003Cli>Carrier integration\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>These steps are handled by the shop owner manually according to their terms and conditions.\u003C\u002Fp>\n\u003Ch4>Usage\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Withdrawal from contract:\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create a page and insert the shortcode \u003Ccode>[withdrawal_form]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>In \u003Cstrong>Consumer Rights \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings\u003C\u002Fstrong>, enter the URL of that page\u003C\u002Fli>\n\u003Cli>Add a link to that page in your site footer\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Complaints (reklamácie):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Col>\n\u003Cli>Create a separate page and insert the shortcode \u003Ccode>[complaint_form]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>In \u003Cstrong>Consumer Rights \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings\u003C\u002Fstrong>, enter the URL of that page\u003C\u002Fli>\n\u003Cli>Fill in the Seller info section (IČO\u002FDIČ if applicable) — these details appear on the printed protocol\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\u003Cstrong>Withdrawal link in WooCommerce emails (YayMail \u002F email customizers):\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Use the \u003Ccode>[withdrawal_link]\u003C\u002Fcode> shortcode inside any WooCommerce email template (YayMail, Kadence Emails, Email Customizer for WooCommerce, etc.) to insert a pre-filled link to the withdrawal form. The link automatically includes the correct order key so the customer lands on the form with their order pre-filled.\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[withdrawal_link] — inserts a link with the default label \"Withdraw from contract\"\n[withdrawal_link label=\"Cancel order\"] — custom link text\n[withdrawal_link label=\"Withdraw\" class=\"btn btn-primary\"] — with CSS class(es) on the `\u003Ca>` tag\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The shortcode only works inside WooCommerce transactional emails (e.g. Order Completed). It reads the current order from the email context automatically. Outside of an email context it returns an empty string. The withdrawal form page URL must be configured in \u003Cstrong>Consumer Rights \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings\u003C\u002Fstrong>.\u003C\u002Fp>\n","Withdrawal-from-contract & complaint (reklamácia) forms for WooCommerce. EU Directive 2023\u002F2673 + SK Act 108\u002F2024 ready.",1717,1,"2026-07-09T06:33:00.000Z","7.1",[73,21,74,57,24],"consumer-rights","gdpr","https:\u002F\u002Fonlinefotka.sk\u002Fodstupenie-od-zmluvy","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fodstupenie-od-zmluvy.2.6.1.zip",{"slug":78,"name":79,"version":80,"author":81,"author_profile":82,"description":83,"short_description":84,"active_installs":13,"downloaded":85,"rating":27,"num_ratings":27,"last_updated":86,"tested_up_to":16,"requires_at_least":53,"requires_php":87,"tags":88,"homepage":91,"download_link":92,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"wwu-withdrawal-button","WWU Right of Withdrawal for Popular Ecommerce Platforms","1.4.0","Edoardo G.","https:\u002F\u002Fprofiles.wordpress.org\u002Fmredodos\u002F","\u003Cp>Product page & docs: \u003Ca href=\"https:\u002F\u002Fwebwakeup.it\u002Fwwu-withdrawal-button\u002F\" rel=\"nofollow ugc\">webwakeup.it\u002Fwwu-withdrawal-button\u003C\u002Fa> | source code, issues & contributions: \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FAn-Idea-For-Business\u002Fwwu-withdrawal-button\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>\u003C\u002Fp>\n\u003Cp>From 19 June 2026, EU law (Directive (EU) 2023\u002F2673, new Art. 11a of the Consumer Rights Directive; Italy: Art. 54-bis Codice del Consumo) requires online stores to provide a \u003Cstrong>withdrawal function\u003C\u002Fstrong> that lets consumers withdraw from a distance contract as easily as they concluded it. WWU Withdrawal Button adds that function — and everything around it you need to run it and to prove you did it right — to WooCommerce, FluentCart and Easy Digital Downloads.\u003C\u002Fp>\n\u003Ch4>How it works (in plain terms)\u003C\u002Fh4>\n\u003Col>\n\u003Cli>An eligible customer opens their order and clicks the statutory \u003Cstrong>“Withdraw from contract here”\u003C\u002Fstrong> button — in their account, from a link in the order e-mail, or on a public page (no account needed: they look the order up with its number + e-mail).\u003C\u002Fli>\n\u003Cli>A simple \u003Cstrong>two-step form\u003C\u002Fstrong> appears: they review what they are withdrawing from (optionally ticking only some items — partial withdrawal is allowed), then confirm. No reason required, no hoops.\u003C\u002Fli>\n\u003Cli>The instant they confirm, the customer receives an \u003Cstrong>acknowledgement of receipt on a durable medium\u003C\u002Fstrong> — an e-mail, a PDF copy and a permanent verifiable link — showing exactly what was withdrawn and the precise date and time. The order is flagged “withdrawal requested”.\u003C\u002Fli>\n\u003Cli>Every step is written to a \u003Cstrong>tamper-evident, append-only log\u003C\u002Fstrong> (hash-chained and timestamped) so you can prove what happened and when. You then handle the refund as usual — the plugin records that too.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>That is the whole customer experience. Everything below exists to make it correct, easy to run, and defensible.\u003C\u002Fp>\n\u003Ch4>For your customers\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>A prominently displayed, legible button with the \u003Cstrong>exact statutory wording per language\u003C\u002Fstrong> (IT, EN, DE, FR, ES, SV — extensible).\u003C\u002Fli>\n\u003Cli>The button appears where customers actually look: the \u003Cstrong>account area\u003C\u002Fstrong> (order list, order detail, a dedicated “Right of withdrawal” tab), a \u003Cstrong>link inside order e-mails\u003C\u002Fstrong>, a \u003Cstrong>public self-service page\u003C\u002Fstrong> with guest lookup, and anywhere via \u003Cstrong>shortcodes\u003C\u002Fstrong> or the \u003Cstrong>Gutenberg block\u003C\u002Fstrong>.\u003C\u002Fli>\n\u003Cli>A short, reassuring \u003Cstrong>step-by-step guide\u003C\u002Fstrong> during the flow (timing, refund, returns); the wording and the withdrawal window (≥14 days — you may grant more) are editable.\u003C\u002Fli>\n\u003Cli>When an order is genuinely exempt, a clear \u003Cstrong>“why is the button not here” note\u003C\u002Fstrong> explains the specific legal exception, instead of leaving the customer confused.\u003C\u002Fli>\n\u003Cli>A human-readable \u003Cstrong>verification certificate\u003C\u002Fstrong> for the receipt (integrity, order, date, hash) — not raw code.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>For you (the merchant)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>An onboarding \u003Cstrong>Dashboard\u003C\u002Fstrong> with a setup checklist (one-click fixes), a plain “how it works” walkthrough, and a “where the button appears \u002F why it might not” explainer.\u003C\u002Fli>\n\u003Cli>A one-click \u003Cstrong>e-mail delivery test\u003C\u002Fstrong> that detects your SMTP plugin and proves the receipt actually reaches the inbox — the #1 cause of “nothing happened”.\u003C\u002Fli>\n\u003Cli>A \u003Cstrong>Requests dashboard\u003C\u002Fstrong> to manage every withdrawal: status (open \u002F processed \u002F refunded), a chain-integrity badge, and one-click \u003Cstrong>mark processed\u003C\u002Fstrong>, \u003Cstrong>resend receipt\u003C\u002Fstrong> and \u003Cstrong>open the order to refund\u003C\u002Fstrong> (the refund is logged as proof you met the 14 days). Subscription and partial-withdrawal requests are flagged.\u003C\u002Fli>\n\u003Cli>A \u003Cstrong>Compliance page\u003C\u002Fstrong>: a go-live countdown, the statutory labels in use, the document checklist with ready-to-paste clauses, and environment warnings (Complianz \u002F cache \u002F multilingual) to fix.\u003C\u002Fli>\n\u003Cli>Receipts are \u003Cstrong>real WooCommerce e-mails\u003C\u002Fstrong> (your logo, colours, header) with a preview. The withdrawal button and form \u003Cstrong>inherit your theme’s typography and colour presets\u003C\u002Fstrong> out of the box, so they blend in automatically; for finer control, restyle every part from \u003Cstrong>Appearance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Customize \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Additional CSS\u003C\u002Fstrong> (built into WordPress), targeting the plugin’s documented CSS variables and classes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Smart legal handling (so you don’t have to think about it)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Subscriptions\u003C\u002Fstrong> — the law gives one 14-day right per contract, so the button shows on the \u003Cstrong>initial order only\u003C\u002Fstrong> and is hidden on renewals (WooCommerce Subscriptions, FluentCart, EDD Recurring). Fail-safe, with opt-in overrides.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Partial withdrawal\u003C\u002Fstrong> — customers can withdraw from only some items of an order.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Art. 59 exemptions\u003C\u002Fstrong> — tag products or categories by the specific statutory reason (events on a fixed date, digital content with immediate access, a service fully performed…). For the conditional reasons the plugin captures the customer’s \u003Cstrong>express consent at checkout\u003C\u002Fstrong> (WooCommerce classic + block, FluentCart, EDD), stores it as evidence, sends the required durable-medium confirmation, and only then hides the button. \u003Cstrong>Physical products always keep the right\u003C\u002Fstrong> — never hidden by mistake.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Applicability by country\u003C\u002Fstrong> — EU\u002FEEA consumers only (default) or always; B2B (VAT) orders can be treated as out of scope.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Evidence, timestamps & integrity\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>The immutable log is \u003Cstrong>append-only and hash-chained\u003C\u002Fstrong> (HMAC-keyed with your site secret), so tampering is detectable.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Recommended\u003C\u002Fstrong> trusted timestamping (off by default — one click to enable): free, independently-verifiable \u003Cstrong>OpenTimestamps\u003C\u002Fstrong> (Bitcoin) anchoring, or a \u003Cstrong>qualified eIDAS RFC 3161\u003C\u002Fstrong> timestamp (a free Sectigo endpoint, or your national authority — Aruba, InfoCert, D-Trust, Universign, FNMT, SwissSign), for an independent \u003Cstrong>“data certa”\u003C\u002Fstrong> of when each withdrawal was received. The hash chain is the baseline evidence on its own; once you enable a provider, failed stamps retry automatically and any not-yet-anchored records are surfaced in the admin. (It is off by default only because WordPress.org requires external calls to be opt-in — the plugin prompts you to switch it on.)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Privacy & GDPR\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>The log commits to an \u003Cstrong>anonymised IP\u003C\u002Fstrong>; the full IP lives separately and is \u003Cstrong>erased after a configurable retention\u003C\u002Fstrong> (10 years by default).\u003C\u002Fli>\n\u003Cli>A \u003Cstrong>Consent records\u003C\u002Fstrong> screen lists and exports the exemption consents (CSV). Two ready-to-paste privacy clauses are generated (withdrawal log + exemption-consent), on a legitimate-interest basis. The uninstaller keeps the evidence log by default (legal hold) unless you opt to erase it.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Documents & compliance\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Generates the \u003Cstrong>Annex I-B model withdrawal form\u003C\u002Fstrong> — with its “To …” recipient line filled from your \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Seller details\u003C\u002Fstrong> (business name, geographical address, contact e-mail) — and ready clauses for \u003Cstrong>pre-contractual information, Terms & Conditions and Privacy\u003C\u002Fstrong> — and reminds you, clearly, that installing the button is \u003Cstrong>not enough\u003C\u002Fstrong>: your Terms and pre-contractual withdrawal article must be updated to describe the new button modality (the plugin gives you the exact text to paste).\u003C\u002Fli>\n\u003Cli>A single \u003Cstrong>consolidated “Right of withdrawal” notice\u003C\u002Fstrong>, assembled live from your settings and the Art. 59 exceptions you selected, published three ways: the \u003Cstrong>\u003Ccode>[webwakeupwdb_policy]\u003C\u002Fcode> shortcode\u003C\u002Fstrong>, an \u003Cstrong>auto-created page\u003C\u002Fstrong> (one click to recreate it if you delete it) or a downloadable \u003Cstrong>PDF\u003C\u002Fstrong> — all managed from \u003Cstrong>Compliance \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> “Informativa sul diritto di recesso”\u003C\u002Fstrong> (preview \u002F create \u002F open \u002F \u003Cstrong>freeze\u003C\u002Fstrong> to static HTML \u002F download). Optionally, two opt-in toggles append the same clauses to your \u003Cstrong>Complianz\u003C\u002Fstrong> Privacy Policy and Terms & Conditions (EU-only, off by default, with a live preview). It complements — it does \u003Cstrong>not\u003C\u002Fstrong> replace — your own legal texts.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Integrations & automation\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>A \u003Cstrong>read-only REST API\u003C\u002Fstrong> (authenticated with a standard Application Password) to list requests and check an order’s withdrawal status, plus an optional \u003Cstrong>signed webhook\u003C\u002Fstrong> (HMAC-SHA256) fired the moment a withdrawal is confirmed — for Zapier, Make, n8n, a CRM or a helpdesk. Privacy-first: the consumer’s IP is never exposed. \u003Cstrong>33 documented hooks\u002Ffilters\u003C\u002Fstrong> for developers.\u003C\u002Fli>\n\u003Cli>Plays nicely with \u003Cstrong>Complianz\u003C\u002Fstrong>, \u003Cstrong>TranslatePress\u003C\u002Fstrong> and page-cache plugins (WP Rocket \u002F LiteSpeed \u002F W3TC).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Platforms & licence\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>WooCommerce (HPOS + legacy), FluentCart and Easy Digital Downloads (3.0+)\u003C\u002Fstrong> through a common adapter — one plugin for all three. On FluentCart it can step aside automatically if FluentCart ships its own native withdrawal add-on, so customers never see two buttons.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Free and open source\u003C\u002Fstrong> (GPLv3) — no upsell, no tracking, no remote scripts or fonts loaded on your site. Passed a full multi-dimension security audit (0 critical \u002F 0 high).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>This plugin is a technical aid to compliance and is \u003Cstrong>not legal advice\u003C\u002Fstrong>. Have your own counsel review your store’s documents.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Cp>This plugin makes \u003Cstrong>no external calls by default\u003C\u002Fstrong>. Every outbound connection listed below is \u003Cstrong>opt-in\u003C\u002Fstrong> and stays \u003Cstrong>off\u003C\u002Fstrong> until you explicitly enable it in the settings. The tamper-evident log works fully offline — it is append-only and hash-chained with your site secret — so timestamping only \u003Cem>adds\u003C\u002Fem> an extra, independently-verifiable anchor; it is never required for the plugin to function.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>OpenTimestamps\u003C\u002Fstrong> (opt-in, off by default) — only if you set the timestamp provider to “OpenTimestamps” (Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Receipt & evidence) does the plugin connect to the OpenTimestamps public calendar servers to obtain a free, trusted timestamp (a “data certa”) for the log.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>What is sent:\u003C\u002Fstrong> only a SHA-256 hash (a one-way digest) of the immutable-log record, plus a random privacy nonce. No personal data, order content, names, emails or IP addresses are ever sent — only an opaque hash that cannot be reversed.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>When:\u003C\u002Fstrong> only while the provider is enabled — once when a withdrawal is confirmed (to submit the hash) and periodically via WP-Cron (to retrieve the Bitcoin-anchored proof). Nothing is ever sent while the provider is “None” (the default).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Where:\u003C\u002Fstrong> the OpenTimestamps public calendars (a.pool.opentimestamps.org, b.pool.opentimestamps.org, a.pool.eternitywall.com, ots.btc.catallaxy.com).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Service info \u002F privacy:\u003C\u002Fstrong> https:\u002F\u002Fopentimestamps.org\u002F\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>RFC 3161 \u002F eIDAS timestamp authority\u003C\u002Fstrong> (opt-in, off by default) — if you instead set the provider to an RFC 3161 authority, the same one-way SHA-256 hash (no personal data) is sent to the authority URL \u003Cstrong>you\u003C\u002Fstrong> configure. This is a provider you choose and contract with directly (examples: a free Sectigo endpoint, or a national authority such as Aruba, InfoCert, D-Trust, Universign, FNMT, SwissSign); please review that provider’s own terms of service and privacy policy. No such call is made until you enable it.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Outbound webhook\u003C\u002Fstrong> (opt-in, off by default — Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Integrations) — if enabled, the plugin sends a signed POST to the endpoint URL \u003Cstrong>you\u003C\u002Fstrong> specify whenever a withdrawal is confirmed. The payload carries a verification hash and contract reference, never the consumer’s IP address.\u003C\u002Fp>\n\u003Cp>No other external services are used. The plugin does not load remote scripts, fonts or trackers on your site.\u003C\u002Fp>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>The plugin records withdrawal declarations (name, identified contract, email, IP address, date and time) in an append-only, tamper-evident log on \u003Cstrong>your own server\u003C\u002Fstrong>, because Art. 54-bis requires this as legal evidence (GDPR Art. 6(1)(c)\u002F(f)). It generates a ready-to-paste privacy clause for your policy. Data is retained for a configurable period (10 years by default), and the uninstaller keeps the evidence log by default (legal hold) unless you opt to erase it.\u003C\u002Fp>\n\u003Cp>For the conditional Art. 59 exemptions, the plugin also stores the consumer’s checkout consent + acknowledgement (the agreed wording, a hash, the date\u002Ftime and — unless you turn it off — the IP) as evidence to prove the exemption is valid. The lawful basis is \u003Cstrong>legitimate interest\u003C\u002Fstrong> (GDPR Art. 6(1)(f); defence of legal claims), \u003Cstrong>not\u003C\u002Fstrong> GDPR consent. The IP lives only on the order (never in the immutable log) and is automatically anonymised once the retention period lapses. A second ready-to-paste privacy clause is generated for this processing.\u003C\u002Fp>\n","EU statutory withdrawal button (Art. 11a) for WooCommerce, FluentCart & EDD: two-step flow, durable-medium receipt, tamper-evident log.",501,"2026-07-02T21:42:00.000Z","8.1",[89,74,90,23,24],"fluentcart","recesso","https:\u002F\u002Fwebwakeup.it\u002Fwwu-withdrawal-button\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwwu-withdrawal-button.1.4.0.zip",{"slug":94,"name":95,"version":96,"author":97,"author_profile":98,"description":99,"short_description":100,"active_installs":101,"downloaded":102,"rating":13,"num_ratings":69,"last_updated":103,"tested_up_to":71,"requires_at_least":17,"requires_php":18,"tags":104,"homepage":106,"download_link":107,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"apg-withdrawal-for-woocommerce","APG Withdrawal for WooCommerce","0.6.1","Art Project Group","https:\u002F\u002Fprofiles.wordpress.org\u002Fartprojectgroup\u002F","\u003Cp>\u003Cstrong>APG Withdrawal for WooCommerce\u003C\u002Fstrong> adds to your WooCommerce store a complete online right of withdrawal workflow compliant with EU consumer protection legislation.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Customer withdrawal form via the \u003Ccode>[apg_withdrawal_form]\u003C\u002Fcode> shortcode.\u003C\u002Fli>\n\u003Cli>Configurable withdrawal window (days) and deadline source (completed or created date).\u003C\u002Fli>\n\u003Cli>Optional extra grace days on top of the standard withdrawal window.\u003C\u002Fli>\n\u003Cli>Active request detection: hides the withdrawal button if a request is already open for the order.\u003C\u002Fli>\n\u003Cli>Optional digital-content waiver checkbox at checkout (both classic shortcode and block-based checkout): a configurable selector chooses when to display it — never, only on virtual products (or per-product \u003Ccode>_apg_withdrawal_type = digital\u003C\u002Fcode>), on every order, or on selected categories and\u002For selected products. The customer’s choice is persisted to order meta as legal evidence.\u003C\u002Fli>\n\u003Cli>Admin request log with full request details (custom post type).\u003C\u002Fli>\n\u003Cli>IP address and browser identifier storage options for legal evidence.\u003C\u002Fli>\n\u003Cli>Email notification to the store admin on every new request.\u003C\u002Fli>\n\u003Cli>Automatic customer acknowledgement email on submission.\u003C\u002Fli>\n\u003Cli>Customer status update emails when the request is accepted, rejected or completed.\u003C\u002Fli>\n\u003Cli>Automation: updates the withdrawal request status automatically when the linked WooCommerce order changes status.\u003C\u002Fli>\n\u003Cli>My Account integration: customers can view their withdrawal request history.\u003C\u002Fli>\n\u003Cli>CSV export of all withdrawal requests.\u003C\u002Fli>\n\u003Cli>100% compatible with HPOS (High-Performance Order Storage).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English: by \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002F\" rel=\"nofollow ugc\">Art Project Group\u003C\u002Fa> (default language).\u003C\u002Fli>\n\u003Cli>Spanish: by \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002F\" rel=\"nofollow ugc\">Art Project Group\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>More information\u003C\u002Fh4>\n\u003Cp>You can learn more about \u003Cstrong>APG Withdrawal for WooCommerce\u003C\u002Fstrong> on our \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Fplugins-para-woocommerce\u002Fapg-withdrawal-for-woocommerce\" rel=\"nofollow ugc\">official website\u003C\u002Fa>, and follow the development on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fartprojectgroup\u002Fapg-withdrawal-for-woocommerce\" rel=\"nofollow ugc\">GitHub\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Thanks\u003C\u002Fh3>\n\u003Cp>Thanks to everyone who uses the plugin, helps improve it, makes a donation or encourages us with their comments.\u003C\u002Fp>\n\u003Cp>If you find this plugin useful, you can support its development with a \u003Ca href=\"https:\u002F\u002Fartprojectgroup.es\u002Ftienda\u002Fdonacion\" rel=\"nofollow ugc\">small donation\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to the WordPress.org Plugins API to fetch information about the plugin (such as the rating). It sends the plugin slug when requesting data. More information: https:\u002F\u002Fwordpress.org\u002Fabout\u002Fprivacy\u002F\u003C\u002Fp>\n","Add to WooCommerce an online withdrawal workflow with customer form, My Account integration and admin request log.",40,545,"2026-06-25T08:13:00.000Z",[73,105,23,57,24],"refund","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fapg-withdrawal-for-woocommerce\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fapg-withdrawal-for-woocommerce.0.6.1.zip",{"slug":109,"name":110,"version":111,"author":112,"author_profile":113,"description":114,"short_description":115,"active_installs":116,"downloaded":117,"rating":27,"num_ratings":27,"last_updated":118,"tested_up_to":16,"requires_at_least":119,"requires_php":87,"tags":120,"homepage":123,"download_link":124,"security_score":13,"vuln_count":27,"unpatched_count":27,"last_vuln_date":28,"fetched_at":29},"mits-one-click-return-eu-20232673","MITS One Click Return – EU 2023\u002F2673","0.4.2","wpaluchmits","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpaluchmits\u002F","\u003Cp>\u003Cstrong>One Click Return for WooCommerce\u003C\u002Fstrong> is a compliance-first plugin that implements the digital right of withdrawal required by \u003Cstrong>EU Directive 2023\u002F2673 (Art. 11a)\u003C\u002Fstrong> directly in your WooCommerce store.\u003C\u002Fp>\n\u003Cp>Built and maintained by \u003Cstrong>\u003Ca href=\"https:\u002F\u002Fmits.pl\" rel=\"nofollow ugc\">MITS\u003C\u002Fa>\u003C\u002Fstrong> – a software house from Lublin, Poland, specialising in WooCommerce, web applications and e-commerce solutions.\u003C\u002Fp>\n\u003Cp>Unlike generic refund plugins, this plugin was built \u003Cem>from the ground up\u003C\u002Fem> for the directive – every feature maps directly to a legal requirement.\u003C\u002Fp>\n\u003Ch4>How it works\u003C\u002Fh4>\n\u003Col>\n\u003Cli>Customer clicks “Return order” – from their account, the footer link, or directly from the order confirmation email.\u003C\u002Fli>\n\u003Cli>A 2-step form opens: Step 1 identifies the order (email + order number, no login required). Step 2 selects items and confirms.\u003C\u002Fli>\n\u003Cli>The customer receives an \u003Cstrong>instant confirmation email\u003C\u002Fstrong> (required by Art. 11a as a “durable medium”).\u003C\u002Fli>\n\u003Cli>Store staff receives a notification and manages the withdrawal from WooCommerce admin.\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Key features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Compliance out of the box\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>✅ Compliant with EU Directive 2023\u002F2673 \u002F Art. 11a\u003C\u002Fli>\n\u003Cli>✅ Persistent footer link on every page (Art. 11a requirement)\u003C\u002Fli>\n\u003Cli>✅ Confirmation email as durable medium (Art. 2(10) of Directive 2011\u002F83\u002FEU)\u003C\u002Fli>\n\u003Cli>✅ Magic link – customers access their form without logging in\u003C\u002Fli>\n\u003Cli>✅ Statutory exclusions (Art. 38 of the Consumer Rights Act) – mark product categories that are exempt\u003C\u002Fli>\n\u003Cli>✅ Configurable withdrawal period (default: 14 days as required by law)\u003C\u002Fli>\n\u003Cli>✅ GDPR: built-in data exporter and eraser\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>WooCommerce integration\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>2-step withdrawal form via shortcode \u003Ccode>[mits_withdrawal_form]\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>“Withdraw” button in My Account \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Orders\u003C\u002Fli>\n\u003Cli>Link in WooCommerce order confirmation and delivery emails\u003C\u002Fli>\n\u003Cli>Admin cockpit: overview dashboard, submissions list, settings – all in one place\u003C\u002Fli>\n\u003Cli>Custom post type for withdrawals with 5 statuses: Pending, Confirmed, Goods Received, Refunded, Cancelled\u003C\u002Fli>\n\u003Cli>Status change directly from the withdrawal edit screen\u003C\u002Fli>\n\u003Cli>HPOS (High-Performance Order Storage) compatible\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Developer-friendly\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Clean PHP 8.1+ codebase with strict types\u003C\u002Fli>\n\u003Cli>Hooks and filters at every step (\u003Ccode>mits_withdrawal_submitted\u003C\u002Fcode>, \u003Ccode>mits_withdrawal_is_product_excluded\u003C\u002Fcode>, …)\u003C\u002Fli>\n\u003Cli>Composer autoloader, PSR-4 namespace \u003Ccode>MITS\\Withdrawal\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Requirements\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>WordPress 6.4+\u003C\u002Fli>\n\u003Cli>WooCommerce 10.5+\u003C\u002Fli>\n\u003Cli>PHP 8.1+\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Languages\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>Polish (\u003Ccode>pl_PL\u003C\u002Fcode>)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Documentation, Pro add-on, and support – \u003Ca href=\"https:\u002F\u002Fmits.pl\" rel=\"nofollow ugc\">mits.pl\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>Found a bug? Open an issue on the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fmits-one-click-return-eu-20232673\u002F\" rel=\"ugc\">support forum\u003C\u002Fa>.\u003C\u002Fp>\n","WooCommerce one-click withdrawal form - EU Directive 2023\u002F2673 (Art. 11a) compliant. Confirmation email, magic link & GDPR tools.",10,219,"2026-06-26T09:17:00.000Z","6.4",[21,121,122,57,24],"one-click-return","return","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fmits-one-click-return-eu-20232673.0.4.2.zip",{"error":126,"url":127,"statusCode":128,"statusMessage":129,"message":129},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fwt-eu-withdrawal-button\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":14,"versions":131},[132,138,145,152,159,166,173,180],{"version":6,"download_url":26,"svn_tag_url":133,"released_at":28,"has_diff":134,"diff_files_changed":135,"diff_lines":28,"trac_diff_url":136,"vulnerabilities":137,"is_current":126},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwt-eu-withdrawal-button\u002Ftags\u002F1.0.7\u002F",false,[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.6&new_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.7",[],{"version":139,"download_url":140,"svn_tag_url":141,"released_at":28,"has_diff":134,"diff_files_changed":142,"diff_lines":28,"trac_diff_url":143,"vulnerabilities":144,"is_current":134},"1.0.6","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwt-eu-withdrawal-button.1.0.6.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwt-eu-withdrawal-button\u002Ftags\u002F1.0.6\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.5&new_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.6",[],{"version":146,"download_url":147,"svn_tag_url":148,"released_at":28,"has_diff":134,"diff_files_changed":149,"diff_lines":28,"trac_diff_url":150,"vulnerabilities":151,"is_current":134},"1.0.5","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwt-eu-withdrawal-button.1.0.5.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwt-eu-withdrawal-button\u002Ftags\u002F1.0.5\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.4&new_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.5",[],{"version":153,"download_url":154,"svn_tag_url":155,"released_at":28,"has_diff":134,"diff_files_changed":156,"diff_lines":28,"trac_diff_url":157,"vulnerabilities":158,"is_current":134},"1.0.4","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwt-eu-withdrawal-button.1.0.4.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwt-eu-withdrawal-button\u002Ftags\u002F1.0.4\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.3&new_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.4",[],{"version":160,"download_url":161,"svn_tag_url":162,"released_at":28,"has_diff":134,"diff_files_changed":163,"diff_lines":28,"trac_diff_url":164,"vulnerabilities":165,"is_current":134},"1.0.3","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwt-eu-withdrawal-button.1.0.3.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwt-eu-withdrawal-button\u002Ftags\u002F1.0.3\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.2&new_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.3",[],{"version":167,"download_url":168,"svn_tag_url":169,"released_at":28,"has_diff":134,"diff_files_changed":170,"diff_lines":28,"trac_diff_url":171,"vulnerabilities":172,"is_current":134},"1.0.2","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwt-eu-withdrawal-button.1.0.2.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwt-eu-withdrawal-button\u002Ftags\u002F1.0.2\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.1&new_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.2",[],{"version":174,"download_url":175,"svn_tag_url":176,"released_at":28,"has_diff":134,"diff_files_changed":177,"diff_lines":28,"trac_diff_url":178,"vulnerabilities":179,"is_current":134},"1.0.1","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwt-eu-withdrawal-button.1.0.1.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwt-eu-withdrawal-button\u002Ftags\u002F1.0.1\u002F",[],"https:\u002F\u002Fplugins.trac.wordpress.org\u002Fchangeset?old_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.0&new_path=%2Fwt-eu-withdrawal-button%2Ftags%2F1.0.1",[],{"version":181,"download_url":182,"svn_tag_url":183,"released_at":28,"has_diff":134,"diff_files_changed":184,"diff_lines":28,"trac_diff_url":28,"vulnerabilities":185,"is_current":134},"1.0.0","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwt-eu-withdrawal-button.1.0.0.zip","https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwt-eu-withdrawal-button\u002Ftags\u002F1.0.0\u002F",[],[]]