[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fYOwy7Qjw3R7dxZTSensOWu7o_OWM29eVQ0dwHj2Sp68":3,"$fwy_UYuwPWqeUiBZlkcmuCEK9zIk76cHYLbSJpC7eqpo":122,"$fz_RZS5jemd5eTcsaaxe-0IWqeIAfQPuBYATHnjlaRC4":127},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":11,"num_ratings":11,"last_updated":13,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":17,"homepage":23,"download_link":24,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27,"discovery_status":28,"vulnerabilities":29,"developer":30,"crawl_stats":26,"alternatives":35,"analysis":26,"fingerprints":26},"rich-odstupenie-od-zmluvy-pre-eshop","Rich online odstúpenie od zmluvy","1.2.1","resersoft","https:\u002F\u002Fprofiles.wordpress.org\u002Fresersoft\u002F","\u003Cp>Rich online odstúpenie od zmluvy is a free WordPress plugin for e-shops that need a simple, professional way to collect contract withdrawal and return requests online.\u003C\u002Fp>\n\u003Cp>Customers can open the form in a modal popup, fill in their details and send the request without leaving the current page. Store owners can manage submitted requests in WordPress, export them to CSV, send notifications, optionally verify WooCommerce orders and protect the form with spam prevention tools.\u003C\u002Fp>\n\u003Cp>The plugin is useful for WooCommerce stores, but the modal form can also be used on a standard WordPress website when you only need an online withdrawal request form.\u003C\u002Fp>\n\u003Cp>The plugin is compatible with WordPress 7.0 and PHP 8.5, while keeping support for WordPress 6.0+ and PHP 7.4+.\u003C\u002Fp>\n\u003Ch4>Main features in English\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Free to use under the GPL license\u003C\u002Fli>\n\u003Cli>Modal popup withdrawal form\u003C\u002Fli>\n\u003Cli>AJAX submission without page reload\u003C\u002Fli>\n\u003Cli>Button shortcode and text link shortcode\u003C\u002Fli>\n\u003Cli>Hash link support for menus, footers and page builders\u003C\u002Fli>\n\u003Cli>Optional WooCommerce order verification by order number and email\u003C\u002Fli>\n\u003Cli>Optional 14-day withdrawal period check for verified orders\u003C\u002Fli>\n\u003Cli>Configurable custom form fields\u003C\u002Fli>\n\u003Cli>Stored requests available in the WordPress admin\u003C\u002Fli>\n\u003Cli>CSV export of submitted requests\u003C\u002Fli>\n\u003Cli>Customer and administrator email notifications\u003C\u002Fli>\n\u003Cli>Optional GDPR consent checkbox\u003C\u002Fli>\n\u003Cli>Built-in honeypot protection\u003C\u002Fli>\n\u003Cli>Optional Google reCAPTCHA v2 and v3\u003C\u002Fli>\n\u003Cli>Translation-ready text domain\u003C\u002Fli>\n\u003Cli>Responsive design for mobile devices\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Popis po slovensky\u003C\u002Fh4>\n\u003Cp>Rich online odstúpenie od zmluvy je bezplatný WordPress plugin pre e-shopy, ktoré chcú zákazníkom ponúknuť jednoduchý online formulár na odstúpenie od zmluvy alebo vrátenie tovaru.\u003C\u002Fp>\n\u003Cp>Formulár sa otvorí ako moderné modal okno nad aktuálnou stránkou, takže zákazník nemusí odchádzať na samostatnú stránku ani hľadať papierový formulár. Odoslané žiadosti sa ukladajú priamo vo WordPresse, kde si ich administrátor môže prezerať, vyhľadávať, dopĺňať poznámkami a exportovať do CSV.\u003C\u002Fp>\n\u003Cp>Plugin sa dá nastaviť bez programovania. Môžete upraviť texty tlačidiel, názov formulára, povinné a nepovinné polia, GDPR súhlas, e-mailové notifikácie, overenie WooCommerce objednávky aj ochranu proti spamu cez honeypot alebo Google reCAPTCHA.\u003C\u002Fp>\n\u003Cp>Plugin je kompatibilný s WordPress 7.0 a PHP 8.5, pričom zachováva podporu pre WordPress 6.0+ a PHP 7.4+.\u003C\u002Fp>\n\u003Ch4>Hlavné funkcie po slovensky\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Bezplatný online formulár na odstúpenie od zmluvy\u003C\u002Fli>\n\u003Cli>Modal popup formulár bez presmerovania zákazníka\u003C\u002Fli>\n\u003Cli>Shortcode pre tlačidlo aj textový odkaz\u003C\u002Fli>\n\u003Cli>Otvorenie formulára cez odkaz \u003Ccode>#odstupenie-od-zmluvy\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>Prispôsobiteľné formulárové polia bez programovania\u003C\u002Fli>\n\u003Cli>Ukladanie žiadostí v administrácii WordPressu\u003C\u002Fli>\n\u003Cli>Export žiadostí do CSV\u003C\u002Fli>\n\u003Cli>E-mailové potvrdenie pre zákazníka a upozornenie pre administrátora\u003C\u002Fli>\n\u003Cli>Voliteľné overenie WooCommerce objednávky podľa čísla objednávky a e-mailu\u003C\u002Fli>\n\u003Cli>Voliteľná orientačná kontrola 14-dňovej lehoty pri overenej objednávke\u003C\u002Fli>\n\u003Cli>Voliteľný GDPR súhlas s vlastným textom a odkazom\u003C\u002Fli>\n\u003Cli>Ochrana proti spamu cez honeypot\u003C\u002Fli>\n\u003Cli>Voliteľná Google reCAPTCHA v2 alebo v3\u003C\u002Fli>\n\u003Cli>Responzívne zobrazenie pre mobilné zariadenia\u003C\u002Fli>\n\u003Cli>Pripravené na preklady cez text domain\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Modal usage\u003C\u002Fh4>\n\u003Cp>Open the modal with one of these shortcodes:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[rich_withdrawal_modal_button]\n\n[rich_withdrawal_modal_link]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>You can also open the modal from any custom link by using:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>#odstupenie-od-zmluvy\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Ch4>Použitie modalu\u003C\u002Fh4>\n\u003Cp>Modal otvoríte jedným z týchto shortcodov:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>[rich_withdrawal_modal_button]\n\n[rich_withdrawal_modal_link]\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Formulár môžete otvoriť aj cez vlastný odkaz:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>#odstupenie-od-zmluvy\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Tento odkaz sa dá použiť v menu, footeri, tlačidle alebo page builderi.\u003C\u002Fp>\n\u003Ch4>WooCommerce verification\u003C\u002Fh4>\n\u003Cp>When order verification is enabled, the plugin can check whether:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>the order number exists,\u003C\u002Fli>\n\u003Cli>the submitted email matches the order email.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>When strict verification is enabled, the form will not be submitted unless both values match a valid WooCommerce order.\u003C\u002Fp>\n\u003Ch4>WooCommerce overenie objednávky\u003C\u002Fh4>\n\u003Cp>Ak zapnete overenie objednávky, plugin vie skontrolovať:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>či číslo objednávky existuje,\u003C\u002Fli>\n\u003Cli>či zadaný e-mail súhlasí s e-mailom pri objednávke.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Pri zapnutom vyžadovaní platnej objednávky sa formulár odošle iba vtedy, keď údaje zodpovedajú existujúcej WooCommerce objednávke.\u003C\u002Fp>\n\u003Ch4>GDPR\u003C\u002Fh4>\n\u003Cp>The plugin supports an optional consent checkbox with:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>custom consent text,\u003C\u002Fli>\n\u003Cli>custom link label,\u003C\u002Fli>\n\u003Cli>selected WordPress privacy page,\u003C\u002Fli>\n\u003Cli>custom privacy URL.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Plugin podporuje voliteľný GDPR súhlas s vlastným textom, vlastným názvom odkazu, výberom WordPress stránky ochrany osobných údajov alebo vlastnou URL adresou.\u003C\u002Fp>\n\u003Cp>Use the placeholder below inside the consent text:\u003C\u002Fp>\n\u003Cpre>\u003Ccode>{gdpr_link}\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>The plugin will automatically replace it with a clickable privacy link.\u003C\u002Fp>\n\u003Ch3>External services\u003C\u002Fh3>\n\u003Ch4>Google reCAPTCHA\u003C\u002Fh4>\n\u003Cp>The plugin can optionally connect to Google reCAPTCHA to help protect the form against spam and bots.\u003C\u002Fp>\n\u003Cp>What the service is used for:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Bot and spam protection for the public withdrawal form.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>What data is sent and when:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>When reCAPTCHA is enabled, the visitor’s browser loads Google reCAPTCHA resources from Google servers when the form is displayed.\u003C\u002Fli>\n\u003Cli>Google may receive the visitor’s IP address, browser and device information, referrer, interaction data, and the reCAPTCHA token request needed to evaluate abuse risk.\u003C\u002Fli>\n\u003Cli>When the form is submitted, the plugin sends the reCAPTCHA response token to Google for server-side verification.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Service provider links:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Privacy Policy: https:\u002F\u002Fpolicies.google.com\u002Fprivacy\u003C\u002Fli>\n\u003Cli>Terms of Service: https:\u002F\u002Fpolicies.google.com\u002Fterms\u003C\u002Fli>\n\u003Cli>reCAPTCHA details: https:\u002F\u002Fdevelopers.google.com\u002Frecaptcha\u003C\u002Fli>\n\u003C\u002Ful>\n","Free online contract withdrawal form for WordPress and WooCommerce stores, with custom fields, CSV export, GDPR consent and optional reCAPTCHA.",0,90,"2026-07-02T20:36:00.000Z","7.0.2","6.0","7.4",[18,19,20,21,22],"gdpr","refund","returns","withdrawal","woocommerce","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frich-odstupenie-od-zmluvy-pre-eshop.zip",100,null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":11,"avg_security_score":25,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},1,30,94,"2026-08-29T00:26:29.202Z",[36,51,66,81,105],{"slug":37,"name":38,"version":39,"author":40,"author_profile":41,"description":42,"short_description":43,"active_installs":44,"downloaded":45,"rating":11,"num_ratings":11,"last_updated":46,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":47,"homepage":49,"download_link":50,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"purchase-contract-withdrawal-button-for-woocommerce","Purchase Contract Withdrawal Button for WooCommerce","1.3.3","jakubkasparek","https:\u002F\u002Fprofiles.wordpress.org\u002Fjakubkasparek\u002F","\u003Cp>Purchase Contract Withdrawal Button for WooCommerce adds a clearly-labeled “Withdraw from purchase contract” button to each customer’s order detail page in WooCommerce My Account. It implements the two-step submission process required by EU consumer law: the customer clicks the button, reviews their order details, optionally provides a refund bank account and reason, and then explicitly confirms.\u003C\u002Fp>\n\u003Cp>After submission:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>The order is moved to a configurable status (default: On hold)\u003C\u002Fli>\n\u003Cli>A note is added to the order with the customer’s reason and refund account\u003C\u002Fli>\n\u003Cli>The customer receives a confirmation email\u003C\u002Fli>\n\u003Cli>The store administrator receives a notification email with all submission details\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Both emails are registered as standard WooCommerce email classes and can be customized in \u003Cstrong>WooCommerce \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Emails\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Legal context\u003C\u002Fh4>\n\u003Cp>This plugin is designed to help merchants comply with EU Directive 2023\u002F2673, which requires online merchants to provide consumers with a direct online function to withdraw from a contract — the same way they could enter into it. In the Czech Republic, this obligation enters into force on \u003Cstrong>19 June 2026\u003C\u002Fstrong> under § 1830a of the Civil Code (the so-called “button amendment 2.0”). Similar transposition is required across all EU member states.\u003C\u002Fp>\n\u003Cp>The plugin is not legal advice. Merchants remain responsible for ensuring their full implementation (including terms and conditions, refund processing, and goods return) complies with applicable law.\u003C\u002Fp>\n\u003Ch4>Features\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Two-step submission\u003C\u002Fstrong> — button click \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> form with details \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> explicit confirmation\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Guest shortcode\u003C\u002Fstrong> — optional \u003Ccode>[pcwb_withdrawal_form]\u003C\u002Fcode> for non-logged-in customers (order number + billing email lookup, rate-limited)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable cooling-off period\u003C\u002Fstrong> — default 14 days, adjustable per store\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Date of delivery meta box\u003C\u002Fstrong> — admin can record when the goods were received; the cooling-off period then runs from that date (legally correct under EU law)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable eligible statuses\u003C\u002Fstrong> — choose which order statuses show the button\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable post-submission status\u003C\u002Fstrong> — typically On hold or Processing\u003C\u002Fli>\n\u003Cli>\u003Cstrong>WooCommerce email integration\u003C\u002Fstrong> — customer + admin emails as native WC_Email classes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Admin overview\u003C\u002Fstrong> — dedicated “Withdrawals” screen under WooCommerce: filter by pending\u002Fresolved, search, CSV export, bulk “Mark as resolved”\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order actions\u003C\u002Fstrong> — admins can submit a withdrawal on behalf of the customer (e.g. phone request) and mark requests resolved from the order edit screen\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Translatable\u003C\u002Fstrong> — full text domain, .pot included, all 24 official EU languages bundled (Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Irish, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Slovak, Slovenian, Spanish, Swedish)\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Theme-overridable templates\u003C\u002Fstrong> — copy \u003Ccode>templates\u002Fwithdrawal-form.php\u003C\u002Fcode> or \u003Ccode>templates\u002Fguest-lookup.php\u003C\u002Fcode> into your theme to customize\u003C\u002Fli>\n\u003Cli>\u003Cstrong>HPOS-compatible\u003C\u002Fstrong> — works with WooCommerce’s High-Performance Order Storage\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Filters and actions\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Ccode>pcwb_eligible_statuses\u003C\u002Fcode> — array of statuses where the button is shown\u003C\u002Fli>\n\u003Cli>\u003Ccode>pcwb_period_days\u003C\u002Fcode> — cooling-off period override\u003C\u002Fli>\n\u003Cli>\u003Ccode>pcwb_period_reference_date\u003C\u002Fcode> ($date, $order) — override the cooling-off reference date\u003C\u002Fli>\n\u003Cli>\u003Ccode>pcwb_new_status\u003C\u002Fcode> — order status applied after submission\u003C\u002Fli>\n\u003Cli>\u003Ccode>pcwb_admin_recipient\u003C\u002Fcode> — admin email recipient override\u003C\u002Fli>\n\u003Cli>\u003Ccode>pcwb_after_submit\u003C\u002Fcode> ($order, $reason, $account, $source) — fires after a successful submission (source = customer|guest|admin)\u003C\u002Fli>\n\u003Cli>\u003Ccode>pcwb_after_resolve\u003C\u002Fcode> ($order, $resolved_by_user_id) — fires when an admin marks a withdrawal resolved\u003C\u002Fli>\n\u003C\u002Ful>\n","Adds a withdrawal button to WooCommerce My Account orders. Two-step submission with nonce, configurable cooling-off, automated emails.",40,376,"2026-06-19T05:24:00.000Z",[48,18,19,21,22],"eu","https:\u002F\u002Fgithub.com\u002Fkasparek-net\u002Fpurchase-contract-withdrawal-button-for-woocommerce","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fpurchase-contract-withdrawal-button-for-woocommerce.1.3.3.zip",{"slug":52,"name":53,"version":54,"author":55,"author_profile":56,"description":57,"short_description":58,"active_installs":11,"downloaded":59,"rating":11,"num_ratings":11,"last_updated":60,"tested_up_to":14,"requires_at_least":61,"requires_php":16,"tags":62,"homepage":64,"download_link":65,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"gtg-recesso-online","GTG – Recesso Online","1.0.2","gtechgroup","https:\u002F\u002Fprofiles.wordpress.org\u002Fgtechgroup\u002F","\u003Cp>GTG – Recesso Online lets customers (including guests) submit a withdrawal declaration in a simple, traceable way. The plugin RECORDS and NOTIFIES the request: it does NOT issue refunds, cancel orders, change stock, close subscriptions or create return labels automatically. The store administrator reviews every request manually.\u003C\u002Fp>\n\u003Cp>Key features:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Public page plus shortcodes, accessible without login.\u003C\u002Fli>\n\u003Cli>Secure verification by order number and billing email (no personal data in URLs: signed nonces\u002Ftransients are used).\u003C\u002Fli>\n\u003Cli>Two-step flow with no dark patterns, ending with a clear “Confirm withdrawal” button. Works without JavaScript.\u003C\u002Fli>\n\u003Cli>Durable receipt (email with full content, date and time) plus a JSON snapshot of the request.\u003C\u002Fli>\n\u003Cli>Configurable withdrawal period (order\u002Fpayment\u002Fcompletion\u002Fshipping\u002Fdelivery date) with filters for tracking plugins.\u003C\u002Fli>\n\u003Cli>Exclusions by category\u002Fproduct\u002Fvirtual\u002Fdownloadable plus a product metabox (warnings\u002Fmanual review only).\u003C\u002Fli>\n\u003Cli>B2C\u002FB2B handling, duplicate detection, audit trail, CSV export.\u003C\u002Fli>\n\u003Cli>Emails integrated with WooCommerce (template override, header\u002Ffooter) plus a wp_mail fallback; compatible with SMTP plugins.\u003C\u002Fli>\n\u003Cli>Cache\u002FCDN protection, noindex on pages containing personal data, defensive multilingual compatibility (WPML\u002FPolylang\u002FTranslatePress).\u003C\u002Fli>\n\u003Cli>Privacy: personal-data exporter\u002Feraser plus suggested policy text.\u003C\u002Fli>\n\u003Cli>HPOS compatible. Compatible with Elementor\u002FWPBakery via shortcode (optional widgets when active).\u003C\u002Fli>\n\u003Cli>White-label options and a staging mode (disables emails).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>WooCommerce is the only functional dependency; without it the plugin degrades gracefully and shows an admin notice.\u003C\u002Fp>\n\u003Cp>This plugin is designed to support the consumer right of withdrawal under EU distance-selling rules, but it does not provide legal advice and does not replace your own terms and conditions.\u003C\u002Fp>\n\u003Ch4>Translations\u003C\u002Fh4>\n\u003Cp>The interface is fully translatable and ships with a complete Italian translation (it_IT) plus a translation template (.pot) for every other language. Translations for all official EU languages are bundled with the plugin.\u003C\u002Fp>\n\u003Ch3>Shortcodes\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>[gtg_recesso_form] – the withdrawal form (two steps).\u003C\u002Fli>\n\u003Cli>[gtg_recesso_link] – a text link to the withdrawal page.\u003C\u002Fli>\n\u003Cli>[gtg_recesso_button] – a button to the withdrawal page.\u003C\u002Fli>\n\u003C\u002Ful>\n","Let customers (including guests) submit a withdrawal request for WooCommerce orders. It records and notifies only; no automatic refunds.",72,"2026-07-10T08:01:00.000Z","6.2",[63,18,20,21,22],"consumer-protection","https:\u002F\u002Fsoccorsowp.it\u002Fgtg-recesso-online\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fgtg-recesso-online.1.0.2.zip",{"slug":67,"name":68,"version":69,"author":70,"author_profile":71,"description":72,"short_description":73,"active_installs":11,"downloaded":74,"rating":25,"num_ratings":31,"last_updated":75,"tested_up_to":14,"requires_at_least":15,"requires_php":76,"tags":77,"homepage":79,"download_link":80,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"webqueenz-withdrawal-manager","Web Queenz Withdrawal Manager for WooCommerce","1.0.0","webqueenz","https:\u002F\u002Fprofiles.wordpress.org\u002Fwebqueenz\u002F","\u003Cp>\u003Cstrong>Web Queenz Withdrawal Manager for WooCommerce\u003C\u002Fstrong> is a production-quality WooCommerce plugin that implements the EU consumer withdrawal right workflow directly inside your store — for both registered customers and guests.\u003C\u002Fp>\n\u003Cp>Built to comply with \u003Cstrong>EU Directive 2011\u002F83\u002FEU\u003C\u002Fstrong> and the new \u003Cstrong>Directive (EU) 2023\u002F2673 “Withdrawal Button” requirement\u003C\u002Fstrong> (effective June 19, 2026), the plugin provides a complete withdrawal management system with the mandated two-step confirmation flow, a professional admin dashboard, automated email notifications, and GDPR-ready data handling.\u003C\u002Fp>\n\u003Ch4>Core Features\u003C\u002Fh4>\n\u003Cp>\u003Cstrong>Customer Workflow\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>“Withdraw From Contract Here” button on My Account orders and order detail pages, per Article 11a labelling requirements\u003C\u002Fli>\n\u003Cli>Two-step withdrawal flow — statement step followed by a separate “Confirm Withdrawal” function, satisfying the Article 11a two-step pattern\u003C\u002Fli>\n\u003Cli>Eligibility validation — 14-day window, order status checks, item-level availability\u003C\u002Fli>\n\u003Cli>Product-level and partial withdrawal support\u003C\u002Fli>\n\u003Cli>Refund or exchange selection\u003C\u002Fli>\n\u003Cli>Optional customer reason field\u003C\u002Fli>\n\u003Cli>My Account \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Withdrawals history tab\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Guest Withdrawal Portal\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Dedicated guest withdrawal page (auto-created on activation)\u003C\u002Fli>\n\u003Cli>Secure order ID + billing email validation\u003C\u002Fli>\n\u003Cli>Enumeration protection — generic error messages prevent order\u002Femail fishing\u003C\u002Fli>\n\u003Cli>Session-based secure multi-step flow\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Admin Dashboard\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Operational dashboard with status counts (Pending, Approved, Completed, Rejected)\u003C\u002Fli>\n\u003Cli>Full requests list table with search, filters, sorting, and pagination\u003C\u002Fli>\n\u003Cli>Single request detail view — customer info, order link, item snapshots, timeline\u003C\u002Fli>\n\u003Cli>Controlled status transitions (pending \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> approved \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> completed etc.)\u003C\u002Fli>\n\u003Cli>Internal admin notes system (append-only, never shown to customers)\u003C\u002Fli>\n\u003Cli>Activity timeline — full audit log per request\u003C\u002Fli>\n\u003Cli>Bulk actions (approve, reject, complete) with validation and feedback\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Email Notifications\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Admin notification on new request submission\u003C\u002Fli>\n\u003Cli>Customer confirmation email with reference number\u003C\u002Fli>\n\u003Cli>Customer status update emails for approved, rejected, and completed requests\u003C\u002Fli>\n\u003Cli>Template-based HTML emails — theme-overridable\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Settings\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Configurable withdrawal window (minimum 14 days — EU law enforced)\u003C\u002Fli>\n\u003Cli>Guest withdrawals toggle\u003C\u002Fli>\n\u003Cli>Exchange option toggle\u003C\u002Fli>\n\u003Cli>Required reason toggle\u003C\u002Fli>\n\u003Cli>Admin notification email\u003C\u002Fli>\n\u003Cli>Customer email toggles\u003C\u002Fli>\n\u003Cli>Data retention on uninstall setting\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Technical\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>WooCommerce HPOS compatible (High Performance Order Storage)\u003C\u002Fli>\n\u003Cli>Modern OOP PHP architecture\u003C\u002Fli>\n\u003Cli>Translation ready\u003C\u002Fli>\n\u003Cli>GDPR data export and erasure support\u003C\u002Fli>\n\u003Cli>WordPress privacy policy content integration\u003C\u002Fli>\n\u003Cli>Secure — nonce verification, capability checks, sanitization, escaping throughout\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developer Notes\u003C\u002Fh4>\n\u003Cp>The plugin is built with a clean modular architecture:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Entity\u002Frepository pattern for withdrawal records\u003C\u002Fli>\n\u003Cli>Centralized eligibility validation engine\u003C\u002Fli>\n\u003Cli>Event-driven email architecture\u003C\u002Fli>\n\u003Cli>Append-only timeline and notes storage\u003C\u002Fli>\n\u003Cli>Controlled status transition system\u003C\u002Fli>\n\u003Cli>Core services loaded on all request contexts (frontend, admin, AJAX)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>About\u003C\u002Fh4>\n\u003Cp>Web Queenz Withdrawal Manager for WooCommerce is developed by \u003Cstrong>Ali Adeel\u003C\u002Fstrong> and maintained by \u003Ca href=\"https:\u002F\u002Fwebqueenz.com\" rel=\"nofollow ugc\">Web Queenz\u003C\u002Fa>.\u003C\u002Fp>\n","A professional-grade free WooCommerce plugin for EU withdrawal and cancellation directive compliance (EU Directive 2011\u002F83\u002FEU).",85,"2026-06-23T06:56:00.000Z","8.0",[78,18,19,21,22],"cancellation","https:\u002F\u002Fwebqueenz.com\u002Fwebqueenz-withdrawal-manager","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwebqueenz-withdrawal-manager.1.0.0.zip",{"slug":82,"name":83,"version":84,"author":85,"author_profile":86,"description":87,"short_description":88,"active_installs":89,"downloaded":90,"rating":25,"num_ratings":91,"last_updated":92,"tested_up_to":14,"requires_at_least":93,"requires_php":16,"tags":94,"homepage":100,"download_link":101,"security_score":102,"vuln_count":103,"unpatched_count":11,"last_vuln_date":104,"fetched_at":27},"flexible-refund-and-return-order-for-woocommerce","Flexible Refund for WooCommerce – EU One Click Return","1.2.3","wpdesk","https:\u002F\u002Fprofiles.wordpress.org\u002Fwpdesk\u002F","\u003Cp>Flexible Refund for WooCommerce – EU One Click Return is a plugin that lets you manage refund and return requests. Your customers will be able to send a refund request directly from the My Account page. The plugin will handle return and refund requests and communication with your customers directly in WooCommerce! You may also inform customers about the privacy and refund policy to help you with returns and warranty requests.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>The plugin helps you align with the EU ‘One Click Return’ directive\u003C\u002Fstrong> by letting customers submit and \u003Cstrong>Withdrawal\u003C\u002Fstrong> refund requests in one click from their WooCommerce account while store admins keep a full status history — including every \u003Cstrong>Withdrawal\u003C\u002Fstrong> event — and automated notifications.\u003C\u002Fp>\n\u003Ch3>Flexible Refund for WooCommerce – EU One Click Return – Plugin Features\u003C\u002Fh3>\n\u003Cp>See the main features of the free version:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Enable the \u003Cstrong>refund and return system for WooCommerce\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Cash \u002F On bank account refund type\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Allow shipping costs refund too\u003C\u002Fli>\n\u003Cli>Handle full refunds for WooCommerce orders\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Refund form builder\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Text, textarea, checkbox, radio, select with description, CSS class, and additional form fields’ settings\u003C\u002Fli>\n\u003Cli>Describe your refund and return policy, terms and conditions, or conditions for returns and warranty requests for WooCommerce orders with the form as well\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Add privacy and refund policy checkbox\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Include the terms and conditions text and conditions to accept\u003C\u002Fli>\n\u003Cli>Describe the return policy and refund requirements of your WooCommerce store\u003C\u002Fli>\n\u003Cli>Refund button for an order on the customer My Account page -> Orders\u003C\u002Fli>\n\u003Cli>Refund form for an order\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Withdrawal\u003C\u002Fstrong> the refund request with the cancel button\u003C\u002Fli>\n\u003Cli>Refund Request management page\u003C\u002Fli>\n\u003Cli>Decide about the refund status for a WooCommerce order directly from the Order Edit Screen\u003C\u002Fli>\n\u003Cli>Add notes to the customer about the refund request status change\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic emails to the customer\u003C\u002Fstrong> after the WooCommerce refund request status changes\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Edit and customize the content of these notifications\u003C\u002Fstrong>\u003C\u002Fli>\n\u003Cli>Handle the refund communication and the process faster\u003C\u002Fli>\n\u003Cli>Send an email to the store administrator about the WooCommerce refund request\u003C\u002Fli>\n\u003Cli>Adjust the order returns with the plugin\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatible with WooCommerce Subscriptions\u003C\u002Fstrong> and \u003Ca href=\"https:\u002F\u002Fwpdesk.link\u002Fflexible-subscriptions-refund-readme\" rel=\"nofollow ugc\">\u003Cstrong>Flexible Subscriptions\u003C\u002Fstrong>\u003C\u002Fa>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Visit \u003Ca href=\"https:\u002F\u002Fwpdesk.net\u002Fsk\u002Fflexible-refund-readme-docs\" rel=\"nofollow ugc\">\u003Cstrong>Flexible Refund Docs\u003C\u002Fstrong>\u003C\u002Fa> to see all features of the plugin & how to set up a refund and return system for your WooCommerce orders.\u003C\u002Fp>\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\u002FmBhu-ULO3BU?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>\n\u003Ch3>Flexible Refund for WooCommerce – EU One Click Return – PRO Features\u003C\u002Fh3>\n\u003Cp>Do you need more automation for WooCommerce refunds? You may manage the refund system automatically with \u003Ca href=\"https:\u002F\u002Fwww.wpdesk.net\u002Fsk\u002Fflexible-refund-plugin-pro\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Flexible Refund for WooCommerce – EU One Click Return PRO\u003C\u002Fstrong>\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>See some of its features:\u003C\u002Fstrong>\u003Cbr \u002F>\n* [PRO] \u003Cstrong>Enable the conditions for the refund button visibility\u003C\u002Fstrong>\u003Cbr \u002F>\n* [PRO] \u003Cstrong>[NEW] Enable refund for shop customers who do not have an account (guests)\u003C\u002Fstrong>\u003Cbr \u002F>\n* [PRO] Refund button for specific user roles, order statuses, product categories, products, and payment methods\u003Cbr \u002F>\n* [PRO] \u003Cstrong>Partial refunds\u003C\u002Fstrong>\u003Cbr \u002F>\n* [PRO] Change the refund type to an \u003Cstrong>automatic WooCommerce coupon\u003C\u002Fstrong>\u003Cbr \u002F>\n* [PRO] \u003Cstrong>Auto refund option to accept order refund requests automatically\u003C\u002Fstrong>\u003Cbr \u002F>\n* [PRO] \u003Cstrong>Hide the refund button\u003C\u002Fstrong> after a specified time (days, weeks, months, years)\u003Cbr \u002F>\n* [PRO] Additional form fields (Multiselect, Upload, HTML)\u003Cbr \u002F>\n* [PRO] Add the privacy and refund policy checkbox and link to the terms and conditions page you set in WooCommerce\u003Cbr \u002F>\n* [PRO] Use as a WooCommerce warranty plugin\u003Cbr \u002F>\n* [PRO] \u003Cstrong>Let customers upload files for warranty requests\u003C\u002Fstrong>\u003Cbr \u002F>\n* [PRO] Benefit from your return and warranty management system for WooCommerce (with automatic refunds)\u003Cbr \u002F>\n* [PRO] Use the Multiselect form field to collect data about refunds and returns\u003Cbr \u002F>\n* [PRO] \u003Cstrong>Priority email support\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.wpdesk.net\u002Fsk\u002Fflexible-refund-plugin-pro\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Upgrade to PRO Now &rarr;\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch4>Try refunds and returns for WooCommerce – Live Demo\u003C\u002Fh4>\n\u003Cp>Test Flexible Refund for WooCommerce – EU One Click Return (free and PRO) in \u003Ca href=\"https:\u002F\u002Fwpdesk.link\u002Fdemo-fr\" rel=\"nofollow ugc\">\u003Cstrong>your free demo\u003C\u002Fstrong>\u003C\u002Fa>. The demo also lets you preview the full \u003Cstrong>Withdrawal\u003C\u002Fstrong> flow from the customer’s side.\u003C\u002Fp>\n\u003Ch3>The Flexible Refund for WooCommerce – EU One Click Return Plugin Checklist\u003C\u002Fh3>\n\u003Cp>The benefits and scenarios for the plugin to help you manage your advanced refund system in WooCommerce.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Enable the advanced refund system for WooCommerce with a free plugin\u003C\u002Fstrong> 🔄\u003C\u002Fli>\n\u003Cli>Let customers ask for a \u003Cstrong>refund, return and exchange products, or warranty requests in WooCommerce\u003C\u002Fstrong> 🔁\u003C\u002Fli>\n\u003Cli>Choose to refund \u003Cstrong>cash or send automatic WooCommerce discount coupons\u003C\u002Fstrong> 💲\u003C\u002Fli>\n\u003Cli>Allow customers a \u003Cstrong>Withdrawal\u003C\u002Fstrong> of a refund request for a WooCommerce order ↩️\u003C\u002Fli>\n\u003Cli>Use and customize the \u003Cstrong>refund form builder\u003C\u002Fstrong> with multiple fields and options 🎛️\u003C\u002Fli>\n\u003Cli>Accept, deny, and \u003Cstrong>manage all WooCommerce refunds and returns in one place\u003C\u002Fstrong> ⚙️\u003C\u002Fli>\n\u003Cli>Adjust the email templates to personalize the communication for refunds, returns, and warranty requests in WooCommerce 📨\u003C\u002Fli>\n\u003Cli>Enable \u003Cstrong>partial refunds and automatic returns\u003C\u002Fstrong> in WooCommerce (PRO) 💞\u003C\u002Fli>\n\u003Cli>Get \u003Cstrong>professional assistance\u003C\u002Fstrong> for the plugin on the plugin forum or through priority email support (PRO) 🚀\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.wpdesk.net\u002Fsk\u002Fflexible-refund-plugin-pro\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Upgrade to PRO &rarr;\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Languages\u003C\u002Fh3>\n\u003Cp>The Flexible Refund for WooCommerce – EU One Click Return plugin is available in:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>English\u003C\u002Fli>\n\u003Cli>Polish\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>You may help us \u003Ca href=\"https:\u002F\u002Ftranslate.wordpress.org\u002Fprojects\u002Fwp-plugins\u002Fflexible-refund-and-return-order-for-woocommerce\" rel=\"nofollow ugc\">translate the plugin\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch3>Docs\u003C\u002Fh3>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwpdesk.net\u002Fsk\u002Fflexible-refund-readme-docs\" rel=\"nofollow ugc\">View Flexible Refund for WooCommerce – EU One Click Return Documentation\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Support Policy\u003C\u002Fh3>\n\u003Cp>We provide support for the free version in the \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Fflexible-refund-and-return-order-for-woocommerce\u002F\" rel=\"ugc\">plugin Support Forum\u003C\u002Fa>. You may purchase the PRO to receive priority email support and all PRO features. \u003Ca href=\"https:\u002F\u002Fwww.wpdesk.net\u002Fsk\u002Fflexible-refund-plugin-pro\u002F\" rel=\"nofollow ugc\">\u003Cstrong>Upgrade Now &rarr;\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch3>Flexible Refund for WooCommerce – EU One Click Return in a nutshell\u003C\u002Fh3>\n\u003Cp>Flexible Refund for WooCommerce – EU One Click Return is a plugin you need when you want to handle return and refund requests directly in your store.\u003C\u002Fp>\n\u003Cp>The plugin helps you to add a refund form and allows your customers to request an order refund or return directly from the My Account page. Also, communicate about the WooCommerce refund with a customer by using refund request order statuses, notes, and emails. Add a privacy and refund policy (or terms and conditions) checkbox for users to accept to proceed with the refund for WooCommerce orders. Define conditions for returns and warranty requests in WooCommerce with the form fields and description.\u003C\u002Fp>\n\u003Cp>The PRO version will help you handle the refund process automatically by setting conditions for refund button visibility, managing partial refunds, enabling auto refunds, hiding the refund button after some time, and choosing a new refund type (on WooCommerce coupon). You may also let customers upload a file for returns and warranty requests. Moreover, add a link to the privacy and refund policy page and your WooCommerce terms and conditions.\u003C\u002Fp>\n\u003Ch3>Data use policy\u003C\u002Fh3>\n\u003Cp>Learn about \u003Ca href=\"https:\u002F\u002Fwpdesk.net\u002Fsk\u002Fflexible-refunds-privacy\u002F\" rel=\"nofollow ugc\">Use of Data Policy by WP Desk Plugins\u003C\u002Fa>\u003C\u002Fp>\n","WooCommerce refund and returns process made simple. Let your customers request a refund and return products directly from the My Account page.",2000,58816,2,"2026-07-21T10:22:00.000Z","6.4",[95,96,97,98,99],"eu-return-directive","one-click-return","woocommerce-cancel-order","woocommerce-refund","woocommerce-returns","https:\u002F\u002Fwpdesk.link\u002Fflexible-refunds","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fflexible-refund-and-return-order-for-woocommerce.1.2.3.zip",96,3,"2026-07-08 00:00:00",{"slug":106,"name":107,"version":108,"author":109,"author_profile":110,"description":111,"short_description":112,"active_installs":113,"downloaded":114,"rating":25,"num_ratings":115,"last_updated":116,"tested_up_to":14,"requires_at_least":15,"requires_php":16,"tags":117,"homepage":120,"download_link":121,"security_score":25,"vuln_count":11,"unpatched_count":11,"last_vuln_date":26,"fetched_at":27},"eu-withdrawal-compliance","EU Withdrawal Compliance","2.1.0","Fernando Tellado","https:\u002F\u002Fprofiles.wordpress.org\u002Ffernandot\u002F","\u003Cp>From \u003Cstrong>June 19, 2026\u003C\u002Fstrong>, EU Directive 2023\u002F2673 obliges every online retailer in the European Union to offer a digital withdrawal function that is at least as easy to use as the purchase flow itself. Most plugins in the directory stop at “a button”. This one ships the \u003Cstrong>complete toolkit\u003C\u002Fstrong> every EU store needs to comply — and a few things competitors don’t offer at any price.\u003C\u002Fp>\n\u003Cp>The plugin helps you implement the right of withdrawal requirements of Directive 2011\u002F83\u002FEU on consumer rights, as amended by Directive (EU) 2019\u002F2161 (the Omnibus Directive).\u003C\u002Fp>\n\u003Ch4>Only this plugin in the directory ships, all of it, for free\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Two-step confirmation function (Art. 11a(3))\u003C\u002Fstrong> — the EU-wide baseline of the online withdrawal right. The public form leads to a review screen with a read-only summary and a dedicated “Confirm withdrawal” button; the request is registered only when that button is pressed, preventing the unintended exercise of the right. Held server-side between the two steps in a single-use token, so it works even without JavaScript.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Complete durable-medium acknowledgement of receipt (Art. 11a(4))\u003C\u002Fstrong>: the confirmation email reproduces the full content of the declaration (name, order, order date, scope, affected products) and the exact date and time of submission, carrying a \u003Cstrong>verifiable SHA-256 receipt hash\u003C\u002Fstrong> as tamper-evident proof — recomputable from the stored fields if a dispute arises.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Annex I.B model withdrawal form\u003C\u002Fstrong> (Directive 2011\u002F83\u002FEU) generated dynamically from your shop data, rendered as a collapsible block below the public form, with a printable view on the same URL. Meets the pre-contractual information obligation of Art. 6(1)(h).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Double-consent checkboxes at the WooCommerce checkout\u003C\u002Fstrong> for the two consents the directive expects to apply specific exceptions:\n\u003Cul>\n\u003Cli>Mandatory consent for digital content (Art. 16(m)) — blocks the place-order step until accepted.\u003C\u002Fli>\n\u003Cli>Optional consent for services started within the 14-day window (Art. 14(4)(a)) — enables pro-rated billing if the customer later withdraws.\u003Cbr \u002F>\nEvery consent is persisted on the order with the exact text shown, accepted\u002Fdeclined state, timestamp, IP and user agent — durable proof in case of dispute.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Single “Withdrawal status” dropdown per product and per category\u003C\u002Fstrong> with four explicit options (Standard, Digital content, Service started early, Other Article 16 exception). Drives both the Article 16 exclusion flag and the matching checkout consent in one place, with full subcategory inheritance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable public notice on excluded products\u003C\u002Fstrong>, rendered between price and add-to-cart, with separate title+body for digital content and other Article 16 exceptions.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Article 16 exclusions with category inheritance\u003C\u002Fstrong> — competing plugins gate this behind a paid Pro tier; here it’s free.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Native GDPR integration\u003C\u002Fstrong>: suggested Privacy Policy snippet + personal-data exporter + eraser, all keyed on the customer email — no second GDPR plugin to install.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Standalone mode\u003C\u002Fstrong>: the form, shortcode, request log, email notifications, SHA-256 receipt hash, Annex I.B model and GDPR integration all run \u003Cstrong>without WooCommerce\u003C\u002Fstrong>. The plugin always lives in its own top-level \u003Cstrong>Withdrawals\u003C\u002Fstrong> menu (with a \u003Cstrong>Settings\u003C\u002Fstrong> submenu), with or without WooCommerce — same path on every install.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Public-facing pieces\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Public withdrawal page automatically created on activation with a neutral, translation-ready template and the form embedded via shortcode (with a “review with a legal advisor” disclaimer).\u003C\u002Fli>\n\u003Cli>\u003Ccode>[ayudawp_withdrawal_form]\u003C\u002Fcode> shortcode for embedding the form anywhere on the site.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[ayudawp_withdrawal_link]\u003C\u002Fcode> shortcode for a permanent link to the withdrawal page from any widget area, footer or template part — helps meet the “clearly identifiable” requirement of Article 11a of Directive 2023\u002F2673 without forcing a specific footer layout.\u003C\u002Fli>\n\u003Cli>\u003Ccode>[ayudawp_withdrawal_excluded_notice]\u003C\u002Fcode> shortcode to place the excluded-product notice with page builders (Divi, Elementor, Bricks, ShopLentor) that render their own product template and skip the standard WooCommerce hooks.\u003C\u002Fli>\n\u003Cli>HTML5-semantic form with HTML5 validation, honeypot anti-spam, escaped output, sanitized input and CSRF nonces.\u003C\u002Fli>\n\u003Cli>Privacy-policy acceptance checkbox before submit, linked to the WordPress-configured Privacy Policy page.\u003C\u002Fli>\n\u003Cli>Frontend and backend links generated by the plugin carry \u003Ccode>rel=\"noopener nofollow\"\u003C\u002Fcode> to keep the site’s link equity contained.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>WooCommerce-specific pieces (auto-activated when WooCommerce is detected)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>My Account \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Right of withdrawal\u003C\u002Fstrong> endpoint with a per-order “Withdraw” button shown while the order is in an eligible status, deep-linked to the form with the order pre-filled.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Withdrawal notice injected into transactional emails\u003C\u002Fstrong> (processing, completed, customer invoice) with a direct link to the form pre-filled with the order number. Eligible order statuses configurable; admin emails never receive the notice.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automatic verification of the order\u002Femail pair\u003C\u002Fstrong> when WooCommerce is active: the request is matched to a real order and gated by the configured eligible statuses. The 14-day deadline is surfaced as an advisory flag for the admin, not an automatic rejection (the period legally runs from delivery, which the shop verifies).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Optional “Accept unmatched requests” mode\u003C\u002Fstrong>: register requests that do not match any order as \u003Cem>Unverified\u003C\u002Fem> for manual review instead of rejecting them upfront, highlighted across the admin (notification email, list badge, detail warning and CSV column). Off by default.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable advisory deadline\u003C\u002Fstrong>: choose order date vs. WooCommerce completion date as the basis, plus optional grace days, for the deadline flag surfaced to the admin — all from the settings UI, no code.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Order-number compatibility\u003C\u002Fstrong> with Sequential Order Numbers (free and Pro) and Custom Order Numbers for WooCommerce (both Tyche and WPFactory) out of the box, plus a filter to add any other numbering plugin or resolver.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>“Withdrawal” column\u003C\u002Fstrong> on the WooCommerce orders screen (legacy and HPOS) showing the status of any linked request, toggleable from Screen Options.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Private order notes\u003C\u002Fstrong> added at every lifecycle step (request received, accepted, rejected, completed) including any admin comment.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>HPOS-compatible\u003C\u002Fstrong> from day one, declared via \u003Ccode>FeaturesUtil::declare_compatibility()\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Admin tooling\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>Full request log\u003C\u002Fstrong> as a private custom post type with status lifecycle (pending \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> accepted \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> rejected \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> completed), customer details, scope (full \u002F partial), IP, user agent and UTC submission timestamp for legal traceability.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>CSV export of the request log\u003C\u002Fstrong> for accounting and consumer-protection audits: an “Export to CSV” bulk action on the listing plus a filtered export by status and date range under \u003Cstrong>Withdrawals \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Export withdrawals\u003C\u002Fstrong>. Columns include submission and resolution timestamps, scope, status, acknowledgement-delivery flag, receipt hash and excluded items, with cells escaped against CSV\u002Fformula injection.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Audit trail per request\u003C\u002Fstrong>: resolution timestamp recorded on every status change and a flag for whether the acknowledgement email was accepted for delivery (with its timestamp), both shown in the request detail and the CSV as burden-of-proof evidence.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bulk actions\u003C\u002Fstrong> to mark several requests as accepted, rejected or completed at once, with email notification on transition.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Status metabox\u003C\u002Fstrong> with required comment when rejecting, optional comment when completing — comment forwarded to the customer email.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Acknowledgement email to the customer\u003C\u002Fstrong> on confirmation: the Art. 11a(4) durable-medium receipt with the full declaration content, the date and time of submission and the SHA-256 hash as proof, plus a follow-up email on every status transition.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Notification email to the shop admin\u003C\u002Fstrong> with reply-to set to the customer, sanitized against header injection.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Captured checkout consents\u003C\u002Fstrong> surfaced in the request detail metabox: exact text, accepted\u002Fdeclined state, timestamp, IP, user agent — durable proof on file.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Consistent admin menu\u003C\u002Fstrong>: always a top-level \u003Cstrong>Withdrawals\u003C\u002Fstrong> menu with a \u003Cstrong>Settings\u003C\u002Fstrong> submenu, regardless of whether WooCommerce is active. Same path on every install.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Legal disclaimer block\u003C\u002Fstrong> in the settings page making it explicit that the plugin provides optional technical tools and does not guarantee legal compliance.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Mandatory \u002F Recommended \u002F Optional tags\u003C\u002Fstrong> on every setting description so the merchant can scan the form quickly.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Built for production\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Conditional asset loading: CSS only loads on the withdrawal page, single-product pages that actually show the excluded notice, and plugin admin screens.\u003C\u002Fli>\n\u003Cli>Translation-ready, bundled es_ES translation, follows WordPress Coding Standards, fully escaped output and sanitized input, capability checks and nonces on every admin action.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>11 documented filters and 4 actions\u003C\u002Fstrong> for developers and agencies to extend the plugin without forking.\u003C\u002Fli>\n\u003Cli>PHP 7.4+, WordPress 6.0+, WooCommerce 7.0+ (optional).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Why this plugin?\u003C\u002Fh3>\n\u003Cp>The EU directive becomes enforceable in every member state on June 19, 2026, so the WordPress.org directory is filling up with “withdrawal button” plugins. This one stands out for verifiable reasons:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Fully free, no paid tier.\u003C\u002Fstrong> No premium add-on, no feature locked behind an upsell, no “Pro” version on the horizon. Everything documented on this page is what you get on install.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Two-step “confirm withdrawal” function built in\u003C\u002Fstrong>, the EU-wide baseline of Article 11a(3): the public form shows a read-only review screen and registers the request only after explicit confirmation, fully server-side and working without JavaScript — where many “button-only” plugins register the request on the very first click.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The only plugin in the directory\u003C\u002Fstrong> that issues a SHA-256 receipt hash as durable-medium proof of every withdrawal request, recoverable from the stored fields if a dispute later arises.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The only plugin in the directory\u003C\u002Fstrong> that ships the \u003Cstrong>Annex I.B model withdrawal form\u003C\u002Fstrong> dynamically generated from the shop data, with a printable view — meeting the Art. 6(1)(h) information obligation that the new directive does \u003Cem>not\u003C\u002Fem> replace.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The only plugin in the directory\u003C\u002Fstrong> that injects the \u003Cstrong>two consent checkboxes\u003C\u002Fstrong> (Art. 16(m) digital content and Art. 14(4)(a) service started early) at the WooCommerce checkout, with durable proof persisted on the order.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>The only plugin in the directory\u003C\u002Fstrong> that ships \u003Cstrong>Article 16 product\u002Fcategory exclusions with full subcategory inheritance\u003C\u002Fstrong> — competing plugins gate this behind their own paid Pro tier.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Native integration with the WordPress GDPR tools\u003C\u002Fstrong> (Privacy Policy snippet + personal-data exporter and eraser) — no second GDPR plugin to install.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Standalone or with WooCommerce.\u003C\u002Fstrong> Works without WooCommerce as a self-contained tool (form, shortcode, log, emails, SHA-256, GDPR, Annex I.B) and lights up store-specific features automatically when WooCommerce is detected.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Compatible by default\u003C\u002Fstrong> with Sequential Order Numbers (free and Pro) and Custom Order Numbers for WooCommerce (Tyche and WPFactory), with a filter for any other numbering scheme.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Configurable from the settings UI\u003C\u002Fstrong>, without writing code: deadline basis (order date vs. completion date) and grace days plus an optional strict deadline mode, eligible order statuses, withdrawal page, notification email (now accepting several recipients), email sender and editable status-email texts, consent text per type, excluded-notice text per type, editable form intro, optional B2B consumer self-declaration, Annex I.B trader address\u002Fphone\u002Femail, and which roles may manage requests.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Developer-friendly\u003C\u002Fstrong>: 11 documented filters + 4 actions so agencies can extend it without forking.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Maintained by a Spanish WordPress trainer with 20+ years on the platform\u003C\u002Fstrong>: bundled es_ES translation, prompt replies on the WordPress.org support forum and an active roadmap of free improvements (classic widget, Gutenberg block, dashboard widget, custom WC order status and more — all free).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Roadmap\u003C\u002Fh3>\n\u003Cp>Planned for upcoming free versions:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>WooCommerce Checkout block support\u003C\u002Fstrong> for the Art. 16(m) and Art. 14(4)(a) consent checkboxes, using \u003Ccode>woocommerce_register_additional_checkout_field()\u003C\u002Fcode> so the consents work on stores that have already migrated from the classic \u003Ccode>[woocommerce_checkout]\u003C\u002Fcode> shortcode to the block.\u003C\u002Fli>\n\u003Cli>Classic widget to surface the withdrawal link in themes with widget areas.\u003C\u002Fli>\n\u003Cli>Gutenberg block for the withdrawal link, fully supported in block themes (align, color, typography).\u003C\u002Fli>\n\u003Cli>Dashboard widget with counters, pending requests and monthly basic stats.\u003C\u002Fli>\n\u003Cli>Custom WooCommerce order status “Withdrawal requested” with automatic transition on acceptance.\u003C\u002Fli>\n\u003Cli>Urgency indicators in the request list (days remaining, expired).\u003C\u002Fli>\n\u003Cli>PDF download of the request with the SHA-256 receipt hash printed on it, reusing the same standalone-print infrastructure as the Annex I.B view.\u003C\u002Fli>\n\u003Cli>Signed token in the email link so guest customers can check status without logging in.\u003C\u002Fli>\n\u003Cli>Rate limiting on the public form to prevent abuse.\u003C\u002Fli>\n\u003Cli>Optional IBAN field to speed up manual refunds.\u003C\u002Fli>\n\u003Cli>HTML email templates that inherit the WooCommerce email theme.\u003C\u002Fli>\n\u003Cli>Optional modal display mode for the shortcode.\u003C\u002Fli>\n\u003Cli>Visible audit log on each request detail screen (status transitions, admin comments, email-delivery timestamps).\u003C\u002Fli>\n\u003Cli>Optional opt-in auto-injection of the withdrawal link in \u003Ccode>wp_footer\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch3>Privacy\u003C\u002Fh3>\n\u003Cp>This plugin stores the following personal data for each withdrawal request, exclusively to fulfil the legal traceability of consumer rights and to allow the shop to handle the request:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Customer name and email address (required to contact the consumer about the request).\u003C\u002Fli>\n\u003Cli>Order reference and order date (required to validate the request against the purchase).\u003C\u002Fli>\n\u003Cli>IP address and User-Agent string (required to evidence when and how the request was submitted, in line with the directive’s “durable medium” requirement).\u003C\u002Fli>\n\u003Cli>Submission timestamp (UTC) and SHA-256 receipt hash (required to recompute and verify the integrity of the original submission if disputed).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Data is stored as a private custom post type entry (\u003Ccode>ayudawp_withdrawal\u003C\u002Fcode>) accessible only to administrators. The plugin does not transmit any data to third-party services; all communication happens between the shop and the customer via standard WordPress emails.\u003C\u002Fp>\n\u003Cp>You should add a section to your site’s privacy policy describing this storage. The plugin contributes a suggested Privacy Policy snippet that you can paste from \u003Cstrong>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Privacy \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Policy Guide\u003C\u002Fstrong>. Withdrawal data is also exposed to the native WordPress \u003Cstrong>Tools \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Export Personal Data\u003C\u002Fstrong> and \u003Cstrong>Tools \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Erase Personal Data\u003C\u002Fstrong> screens (filtered by customer email).\u003C\u002Fp>\n\u003Ch3>Support\u003C\u002Fh3>\n\u003Cp>Need private support or custom development?\u003C\u002Fp>\n\u003Cp>Do you need one-on-one help, priority troubleshooting, or a custom feature, integration, or tweak built specifically for your site? I offer private support and custom development. Just \u003Ca href=\"mailto:eu-withdrawal-compliance@ayudawp.com\" rel=\"nofollow ugc\">contact me\u003C\u002Fa> and tell me what you need.\u003C\u002Fp>\n\u003Cp>Need help or have suggestions?\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fservicios.ayudawp.com\" rel=\"nofollow ugc\">Official website\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fsupport\u002Fplugin\u002Feu-withdrawal-compliance\u002F\" rel=\"ugc\">WordPress support forum\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002FAyudaWordPressES\" rel=\"nofollow ugc\">YouTube channel\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fayudawp.com\" rel=\"nofollow ugc\">Documentation and tutorials\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Love the plugin? Please leave us a 5-star review and help spread the word!\u003C\u002Fp>\n\u003Ch3>About AyudaWP.com\u003C\u002Fh3>\n\u003Cp>We are specialists in WordPress security, SEO, AI and performance optimization plugins. We create tools that solve real problems for WordPress site owners while maintaining the highest coding standards and accessibility requirements.\u003C\u002Fp>\n","Free, complete EU Directive 2023\u002F2673 toolkit: withdrawal button, checkout consents, Annex I.B form, Article 16 exclusions, SHA-256 proof.",1000,5163,14,"2026-07-17T22:30:00.000Z",[118,119,18,21,22],"compliance","consumer-rights","https:\u002F\u002Fservicios.ayudawp.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feu-withdrawal-compliance.2.1.0.zip",{"error":123,"url":124,"statusCode":125,"statusMessage":126,"message":126},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Frich-odstupenie-od-zmluvy-pre-eshop\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":11,"versions":128},[]]