[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fJrTblBCxiElEeD0c2TL1sFDB1Bvbe8WiLbscpj0L_44":3,"$fbglu60ap5E4ceF87fCXHHrzETjisIxxd_gIeurbFBzI":115,"$fAk8eDBOdge_pOZcXc19kTfDGYMswl1eMph1Pl4l0XEw":120},{"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":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28,"discovery_status":29,"vulnerabilities":30,"developer":31,"crawl_stats":27,"alternatives":35,"analysis":27,"fingerprints":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).",0,85,100,1,"2026-06-23T06:56:00.000Z","7.0.2","6.0","8.0",[20,21,22,23,24],"cancellation","gdpr","refund","withdrawal","woocommerce","https:\u002F\u002Fwebqueenz.com\u002Fwebqueenz-withdrawal-manager","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwebqueenz-withdrawal-manager.1.0.0.zip",null,"2026-07-22T17:31:50.256Z","no_bundle",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":14,"total_installs":11,"avg_security_score":13,"avg_patch_time_days":32,"trust_score":33,"computed_at":34},30,94,"2026-08-29T00:25:12.335Z",[36,52,66,83,99],{"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":16,"requires_at_least":17,"requires_php":47,"tags":48,"homepage":50,"download_link":51,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"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","7.4",[49,21,22,23,24],"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":53,"name":54,"version":55,"author":56,"author_profile":57,"description":58,"short_description":59,"active_installs":11,"downloaded":60,"rating":11,"num_ratings":11,"last_updated":61,"tested_up_to":16,"requires_at_least":17,"requires_php":47,"tags":62,"homepage":64,"download_link":65,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"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.",90,"2026-07-02T20:36:00.000Z",[21,22,63,23,24],"returns","","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Frich-odstupenie-od-zmluvy-pre-eshop.zip",{"slug":67,"name":68,"version":69,"author":70,"author_profile":71,"description":72,"short_description":73,"active_installs":74,"downloaded":75,"rating":13,"num_ratings":76,"last_updated":77,"tested_up_to":16,"requires_at_least":78,"requires_php":47,"tags":79,"homepage":81,"download_link":82,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"eu-order-withdrawal-button-for-woocommerce","EU Order Withdrawal Button for WooCommerce","2.3.2","vendidero","https:\u002F\u002Fprofiles.wordpress.org\u002Fvendidero\u002F","\u003Cp>EU Order Withdrawal Button for WooCommerce adds compliance with the \u003Ca href=\"https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Fdir\u002F2023\u002F2673\u002Foj\u002Feng\" rel=\"nofollow ugc\">EU directive 2023\u002F2673\u003C\u002Fa> to WooCommerce. With the help of this little plugin you may easily allow your customers to submit (partial) withdrawal requests to their orders.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cem>Withdrawal request form\u003C\u002Fem> – Use a shortcode to embed a withdrawal request form which works both for guest orders and registered customers.\u003C\u002Fli>\n\u003Cli>\u003Cem>Manage withdrawals\u003C\u002Fem> – Easily manage withdrawals from your WooCommerce order page by either confirming or rejecting requests.\u003C\u002Fli>\n\u003Cli>\u003Cem>Send confirmation emails\u003C\u002Fem> – Automatically confirm receipt of the withdrawal by email including all required information.\u003C\u002Fli>\n\u003Cli>\u003Cem>Partial withdrawals\u003C\u002Fem> – Optionally allow customers to submit partial withdrawal requests.\u003C\u002Fli>\n\u003Cli>\u003Cem>GDPR ready\u003C\u002Fem> – Comes with privacy policy proposal, support for personal data export and erasure.\u003C\u002Fli>\n\u003Cli>\u003Cem>WPML compatibility\u003C\u002Fem> – Comes with built-in compatibility for multilingual shops using WPML.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Initial setup and withdrawal button placement\u003C\u002Fh4>\n\u003Cp>After installation, a new page (withdraw from contract) is created as a draft. This page includes the [eu_owb_order_withdrawal_request_form] shortcode to output the withdrawal form.\u003C\u002Fp>\n\u003Col>\n\u003Cli>Review the page created and your settings under WooCommerce > Settings > Advanced > Withdrawals (In case you are using our plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwoocommerce-germanized\u002F\" rel=\"ugc\">Germanized for WooCommerce\u003C\u002Fa> find your settings under WooCommerce > Settings > Germanized > General)\u003C\u002Fli>\n\u003Cli>Publish the page containing the withdrawal form shortcode\u003C\u002Fli>\n\u003Cli>Make sure that the withdrawal button is shown in your footer on shop-related pages\u003C\u002Fli>\n\u003Cli>Review the email templates provided to confirm the receipt, confirmation and rejection of withdrawals under WooCommerce > Settings > Emails\u003C\u002Fli>\n\u003Cli>Test the withdrawal procedure both as a guest and as a customer\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>If you don’t want the button to be injected automatically, disable the related setting and either use the shortcode [eu_owb_order_withdrawal_button] to output the button or manually create a link to your withdrawal page within your theme or pagebuilder.\u003C\u002Fp>\n\u003Ch4>Integrated with Shiptastic for WooCommerce\u003C\u002Fh4>\n\u003Cp>Use our plugin \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fshiptastic-for-woocommerce\u002F\" rel=\"ugc\">Shiptastic for WooCommerce\u003C\u002Fa> to handle returns with ease. After confirming a withdrawal request, Shiptastic automatically adds a return shipment including all items of the original request. Provide your customer with all the information needed to return the goods to you. Use Shiptastic to exclude certain products from being returnable at all.\u003C\u002Fp>\n","This plugin helps to comply with the latest EU directive 2023\u002F2673 by embedding a withdrawal button within your WooCommerce store.",4000,16993,5,"2026-07-09T14:07:00.000Z","5.4",[20,80,49,23,24],"compliance","https:\u002F\u002Fvendidero.com\u002F","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feu-order-withdrawal-button-for-woocommerce.2.3.2.zip",{"slug":84,"name":85,"version":86,"author":87,"author_profile":88,"description":89,"short_description":90,"active_installs":91,"downloaded":92,"rating":13,"num_ratings":93,"last_updated":94,"tested_up_to":16,"requires_at_least":17,"requires_php":47,"tags":95,"homepage":97,"download_link":98,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"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",[80,96,21,23,24],"consumer-rights","https:\u002F\u002Fservicios.ayudawp.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Feu-withdrawal-compliance.2.1.0.zip",{"slug":100,"name":101,"version":102,"author":103,"author_profile":104,"description":105,"short_description":106,"active_installs":107,"downloaded":108,"rating":13,"num_ratings":109,"last_updated":110,"tested_up_to":16,"requires_at_least":111,"requires_php":18,"tags":112,"homepage":64,"download_link":114,"security_score":13,"vuln_count":11,"unpatched_count":11,"last_vuln_date":27,"fetched_at":28},"bitron-right-of-withdrawal","Bitron Right of Withdrawal","1.7.1","oaron","https:\u002F\u002Fprofiles.wordpress.org\u002Foaron\u002F","\u003Cp>From 19 June 2026, EU member states require every consumer-facing online shop to provide an \u003Cstrong>online withdrawal function\u003C\u002Fstrong> — not just static information, but a continuously available electronic interface where the consumer can declare intent to withdraw, and from which the shop sends an automatic confirmation on a durable medium. In Hungary the same rule applies through the amendment of Government Decree 45\u002F2014.\u003C\u002Fp>\n\u003Cp>Bitron Right of Withdrawal delivers exactly that, accessibly.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>What the plugin does\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cul>\n\u003Cli>A continuously available, accessible withdrawal form — embeddable via the \u003Ccode>[bitrow_form]\u003C\u002Fcode> shortcode or the \u003Cem>Withdrawal Form\u003C\u002Fem> Gutenberg block, so it drops into any classic-editor page, a block-built layout, or a page builder that handles either.\u003C\u002Fli>\n\u003Cli>Tight WooCommerce integration: the form is surfaced to logged-in customers as a \u003Cem>Withdrawal\u003C\u002Fem> item in their \u003Cem>My Account\u003C\u002Fem> menu, but only while they have at least one order still inside the window — so a customer with nothing eligible doesn’t see a dead link.\u003C\u002Fli>\n\u003Cli>A withdrawal link is automatically attached to WooCommerce’s customer order emails (processing, completed, invoice) while the window is open — a discreet text link (not a prominent button) to avoid accidental clicks. Its position in the email (top, after the order details, or bottom — bottom by default) and both the surrounding message text and the link label are configurable under \u003Cem>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Email\u003C\u002Fem>. HTML and plain-text variants, with a filter to extend the list of carrier emails.\u003C\u002Fli>\n\u003Cli>Guest and logged-in customer paths. A logged-in customer sees a select of their own in-window orders. For guests, optional \u003Cstrong>email verification\u003C\u002Fstrong>: with the free \u003Ca href=\"https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fonecode-login\u002F\" rel=\"ugc\">OneCode Login\u003C\u002Fa> plugin active, the guest proves they own their email with a one-time code, and the form then loads that email’s orders just like for a logged-in customer — closing the gap where anyone who knew an order number and the billing email could file on someone else’s behalf. When email verification is not in force, an unverified guest is never shown any order data: instead of looking up an order, they file a free-text withdrawal declaration (no order is matched server-side, no line items or totals are disclosed), which is recorded flagged as unverified for the shop to match by hand. Order data is therefore only ever shown to logged-in or email-verified customers.\u003C\u002Fli>\n\u003Cli>Item-level partial withdrawal. After the customer picks an order, they tick exactly which line items (and quantities) they want to withdraw from — the form is not all-or-nothing.\u003C\u002Fli>\n\u003Cli>Bank-account capture for non-card payments. When the original gateway can’t refund automatically (e.g. cash on delivery, bank transfer), the customer enters a Hungarian IBAN or domestic GIRO account number — validated client- and server-side with MOD-97 \u002F CDV checks — so the shop has everything to wire the refund manually.\u003C\u002Fli>\n\u003Cli>Customizable form copy and brand colors. An optional intro paragraph above the form and the submit-button colors (background + text) are configurable from \u003Cem>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Form\u003C\u002Fem>, with a live WCAG contrast meter that announces the ratio as you type so a custom brand color cannot quietly drop below AA. An “advanced” panel additionally exposes the form body text, wrapper background, and input\u002Ffieldset border colors for themes that need the form to blend in — these three are not contrast-checked and carry an explicit “you own the contrast” warning. The same values can be overridden per-instance through \u003Ccode>[bitrow_form]\u003C\u002Fcode> shortcode attributes or the block’s \u003Cem>Inspector\u003C\u002Fem> panel.\u003C\u002Fli>\n\u003Cli>Automatic confirmation email to the customer (durable medium) and notification to the shop admin, with editable subject and body templates for both — empty fields fall back to safe i18n defaults so the plugin is functional out of the box. The admin notification recipient is a configurable email address (defaults to the site administration email); leave it empty to switch admin notifications off.\u003C\u002Fli>\n\u003Cli>Optional business-customer exclusion: because the right of withdrawal is a consumer right, shops that also sell to VAT-registered businesses can switch the online form off for orders carrying a business marker (e.g. a VAT-number checkout field). Business buyers are shown a contact pointer instead; consumer orders are unaffected. It’s a technical filter, not legal advice.\u003C\u002Fli>\n\u003Cli>Per-product and per-category withdrawal exemptions for the CRD §16 \u002F 45-2014 §29 carve-outs (perishables, custom-made, sealed digital downloads, etc.). The withdrawal form still shows exempted items inside an eligible order so the customer sees what they bought, but the quantity input is locked at zero with a visible “Not eligible for withdrawal” badge; orders that consist entirely of exempt items are blocked at step 1 with a contact pointer. A separate \u003Cem>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Exclusions\u003C\u002Fem> tab manages the lists with searchable autocompletes.\u003C\u002Fli>\n\u003Cli>Exclusion type split — excluded by law vs waivable. The exclusion settings separate two legally distinct cases: “excluded by law” items (perishables, custom-made, opened sealed goods) where the right never applies and no customer action is involved, and “waivable” items where the right exists but the customer can expressly give it up. Each case has its own product and category pickers; existing exclusions keep behaving as “by law”.\u003C\u002Fli>\n\u003Cli>Checkout withdrawal waiver. For waivable goods (typically digital content), the shop can show a consent checkbox at checkout through which the customer expressly waives the right of withdrawal for the affected items. It appears only when the cart actually contains a waivable item, works on both the classic shortcode checkout and the block-based (Store API) checkout, can be optional or mandatory, and records the consent on the order as evidence (timestamp, IP, a fingerprint of the statement text, the covered products and the mode). Off by default; enable and word it under \u003Cem>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> Exclusions\u003C\u002Fem>.\u003C\u002Fli>\n\u003Cli>“Withdrawals” hub in the customer’s \u003Cem>My Account\u003C\u002Fem> area — a single durable, log-in-gated landing page for everything withdrawal-related: a one-click button to start a new declaration (when the form page is configured), plus the full list of past declarations submitted from the account (reference number, date, order link, items, refund preference, status). The menu item appears only when the customer has at least one past record OR an order still inside the withdrawal window; the list itself is privacy-scoped to the customer’s own account email and never reveals records filed under a different email.\u003C\u002Fli>\n\u003Cli>Minimal record-keeping with unique \u003Ccode>BITROW-XXXXXX\u003C\u002Fcode> references for evidentiary value, plus a per-record detail page in the admin.\u003C\u002Fli>\n\u003Cli>Admin can mark a record as \u003Cem>closed\u003C\u002Fem> (and reopen it) once the case is resolved, with timestamp and the closing user recorded — keeps the working list focused on what’s still pending.\u003C\u002Fli>\n\u003Cli>Withdrawal status on the order screen. When an order has an associated withdrawal, the WooCommerce order-edit screen shows a “Right of withdrawal” panel with the withdrawal’s status and a direct link to its record.\u003C\u002Fli>\n\u003Cli>Optional withdrawal column on the orders list. A \u003Cem>Settings \u003Cspan aria-hidden=\"true\" class=\"wp-exclude-emoji\">→\u003C\u002Fspan> General\u003C\u002Fem> switch (off by default) adds a column to the WooCommerce orders list flagging which orders have a withdrawal and its status (a dash when none). HPOS- and legacy-orders compatible.\u003C\u002Fli>\n\u003Cli>WCAG 2.1 AA accessibility throughout — programmatic labels, focus management, live regions, sufficient contrast.\u003C\u002Fli>\n\u003Cli>GDPR integration with WordPress’ personal data export and erase tools, plus a suggested paragraph for the Privacy Policy Guide.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>\u003Cstrong>Compatibility\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin integrates with WooCommerce orders. It declares HPOS (High-Performance Order Storage) compatibility and uses the WooCommerce CRUD API throughout. WooCommerce is referenced for compatibility only — the trademark is not used in the plugin name or slug.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Important — what this plugin does NOT do\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This is a technical tool, not legal advice, and does not by itself guarantee legal compliance. The plugin does not generate Terms of Service text, privacy-policy text, or other legal content — those must be prepared by your own lawyer. The confirmation email contains only a factual acknowledgement (received, when, with which ID, what content); any “what happens next” wording is the shop operator’s own policy and must come from you.\u003C\u002Fp>\n\u003Cp>The plugin records each withdrawal and notifies you, but it does not issue refunds automatically. Refunds remain a deliberate admin action through WooCommerce’s standard refund interface.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Privacy\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>The plugin stores only what is necessary to acknowledge and document the withdrawal: name, email, order reference, optional note, timestamps and a unique identifier. No IP address is stored in plain text. On plugin removal the stored records are kept by default (so an accidental deactivation cannot destroy evidence); a setting lets you opt in to deletion at uninstall.\u003C\u002Fp>\n\u003Ch3>Pro version\u003C\u002Fh3>\n\u003Cp>The free plugin covers the full legal compliance core on its own. \u003Cstrong>Bitron Right of Withdrawal Pro\u003C\u002Fstrong> adds a convenience and automation layer on top, for shops that process withdrawals regularly:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>One-click WooCommerce refund\u003C\u002Fstrong> — issue the refund straight from the withdrawal record, instead of re-entering it by hand in WooCommerce.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Status management and history\u003C\u002Fstrong> — a richer status workflow (received, in progress, goods returned, refunded, rejected) with a full audit trail of who changed what and when.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Automation rules\u003C\u002Fstrong> — define rules that act on incoming withdrawals automatically (status transitions, notifications), so routine cases handle themselves.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Custom form fields\u003C\u002Fstrong> — add your own fields to the withdrawal form and store them on the record.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Searchable admin + CSV export\u003C\u002Fstrong> — find any declaration fast and export the list for accounting or reporting.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Webhooks\u003C\u002Fstrong> — push withdrawal events to your CRM, ERP or any external system in real time.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>REST API\u003C\u002Fstrong> — read and manage withdrawal records programmatically from your own integrations.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The Pro plugin is standalone: it contains the full compliance core plus the convenience layer, so you install it instead of the free plugin, not alongside it. Pro adds convenience, not extra compliance — the free plugin already makes you compliant.\u003C\u002Fp>\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fbitron.hu\u002Fwoocommerce-elallas\" rel=\"nofollow ugc\">Learn more and see pricing\u003C\u002Fa>\u003C\u002Fp>\n","Accessible online withdrawal form. Built for the EU Consumer Rights Directive update effective 19 June 2026.",300,1638,4,"2026-07-06T10:05:00.000Z","6.4",[113,96,21,22,23],"accessibility","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fbitron-right-of-withdrawal.1.7.1.zip",{"error":116,"url":117,"statusCode":118,"statusMessage":119,"message":119},true,"http:\u002F\u002Flocalhost\u002Fapi\u002Fplugins\u002Fwebqueenz-withdrawal-manager\u002Fbundle",404,"no bundle for this plugin yet",{"slug":4,"current_version":6,"total_versions":14,"versions":121},[122],{"version":6,"download_url":26,"svn_tag_url":123,"released_at":27,"has_diff":124,"diff_files_changed":125,"diff_lines":27,"trac_diff_url":27,"vulnerabilities":126,"is_current":116},"https:\u002F\u002Fplugins.svn.wordpress.org\u002Fwebqueenz-withdrawal-manager\u002Ftags\u002F1.0.0\u002F",false,[],[]]