{"id":320288,"date":"2026-06-11T05:24:47","date_gmt":"2026-06-11T05:24:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/webtoffee-eu-withdrawal-button-for-woocommerce\/"},"modified":"2026-06-11T05:24:15","modified_gmt":"2026-06-11T05:24:15","slug":"wt-eu-withdrawal-button","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/wt-eu-withdrawal-button\/","author":15888981,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"WebToffee EU Customer Withdrawal Button for WooCommerce","header_author":"webtoffee","header_description":"Manage withdrawal of contract \/ order cancellation requests for WooCommerce orders. EU-compliant, HPOS-compatible.","assets_banners_color":"02359f","last_updated":"2026-06-11 05:24:15","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.wordpress.org\/plugins\/wt-eu-withdrawal-button","header_author_uri":"https:\/\/www.webtoffee.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":49,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"webtoffee","date":"2026-06-11 05:24:15"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3568316,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3568316,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3568316,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3568316,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3568600,"resolution":"1","location":"assets","locale":"","width":1346,"height":1552},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3568600,"resolution":"2","location":"assets","locale":"","width":2272,"height":1568},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3568600,"resolution":"3","location":"assets","locale":"","width":2196,"height":3418},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3568600,"resolution":"4","location":"assets","locale":"","width":2288,"height":1356}},"screenshots":{"1":"Withdrawal request form","2":"Withdrawal request details","3":"EU Withdrawal Button Plugin settings","4":"Admin withdrawals dashboard"}},"plugin_section":[],"plugin_tags":[266618,263925,266617,263226,286],"plugin_category":[45],"plugin_contributors":[153972],"plugin_business_model":[],"class_list":["post-320288","plugin","type-plugin","status-publish","hentry","plugin_tags-eu-compliance","plugin_tags-eu-directive","plugin_tags-eu-withdrawal","plugin_tags-right-of-withdrawal","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-webtoffee","plugin_committers-webtoffee"],"banners":{"banner":"https:\/\/ps.w.org\/wt-eu-withdrawal-button\/assets\/banner-772x250.png?rev=3568316","banner_2x":"https:\/\/ps.w.org\/wt-eu-withdrawal-button\/assets\/banner-1544x500.png?rev=3568316","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/wt-eu-withdrawal-button\/assets\/icon-128x128.png?rev=3568316","icon_2x":"https:\/\/ps.w.org\/wt-eu-withdrawal-button\/assets\/icon-256x256.png?rev=3568316","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/wt-eu-withdrawal-button\/assets\/screenshot-1.png?rev=3568600","caption":"Withdrawal request form"},{"src":"https:\/\/ps.w.org\/wt-eu-withdrawal-button\/assets\/screenshot-2.png?rev=3568600","caption":"Withdrawal request details"},{"src":"https:\/\/ps.w.org\/wt-eu-withdrawal-button\/assets\/screenshot-3.png?rev=3568600","caption":"EU Withdrawal Button Plugin settings"},{"src":"https:\/\/ps.w.org\/wt-eu-withdrawal-button\/assets\/screenshot-4.png?rev=3568600","caption":"Admin withdrawals dashboard"}],"raw_content":"<!--section=description-->\n<p>From June 19, 2026, EU Directive 2023\/2673 requires every online store selling to EU consumers to provide a clear, easily accessible online withdrawal function. Customers must be able to cancel a purchase digitally \u2014 just as easily as they placed the order.<\/p>\n\n<p><strong>EU Withdrawal Button for WooCommerce<\/strong> by WebToffee makes it straightforward to comply. The plugin adds a withdrawal button to the customer's My Account orders page, a guided withdrawal form, a two-step confirmation flow, and a dedicated admin dashboard to manage all incoming requests.<\/p>\n\n<p>No coding required. Works right out of the box.<\/p>\n\n<h4>What the plugin does<\/h4>\n\n<p><strong>For your customers:<\/strong><\/p>\n\n<ul>\n<li>A \"Request Withdrawal\" button appears directly on the My Account orders list \u2014 visible only during the active withdrawal period<\/li>\n<li>Customers can select which items to withdraw (full order or individual products)<\/li>\n<li>A simple form collects their name, email, and an optional reason<\/li>\n<li>A confirmation step prevents accidental submissions (\"Are you sure you want to submit this withdrawal request?\")<\/li>\n<li>Customers receive an email confirmation once the request is submitted<\/li>\n<\/ul>\n\n<p><strong>For you as the store admin:<\/strong><\/p>\n\n<ul>\n<li>A clean Withdrawals dashboard under WooCommerce &gt; Withdrawals shows all requests at a glance<\/li>\n<li>At-a-glance stats: open requests and approvals over the last 30 days<\/li>\n<li>Filter requests by status, date range, or order number<\/li>\n<li>View full request details \u2014 order info, customer email, request type, reason, and a complete activity log<\/li>\n<li>Approve or reject requests with one click<\/li>\n<\/ul>\n\n<h4>Key features<\/h4>\n\n<ul>\n<li><strong>Withdrawal button on the orders page<\/strong> \u2014 visible to customers within the configured withdrawal window<\/li>\n<li><strong>Partial withdrawal support<\/strong> \u2014 customers can withdraw individual items instead of the entire order<\/li>\n<li><strong>Two-step confirmation flow<\/strong> \u2014 meets the directive's requirement to confirm the customer's intent<\/li>\n<li><strong>Dedicated admin dashboard<\/strong> \u2014 manage, filter, approve, or reject all withdrawal requests in one place<\/li>\n<li><strong>Automatic footer link<\/strong> \u2014 optionally embed a withdrawal link in your store footer to meet visibility requirements<\/li>\n<li><strong>Configurable withdrawal period<\/strong> \u2014 set the window to 2, 7, 14, or 30 days (EU standard is 14 days)<\/li>\n<li><strong>Product exclusions<\/strong> \u2014 exclude virtual, downloadable, grouped, or external\/affiliate products from withdrawal eligibility<\/li>\n<li><strong>Order status automation<\/strong> \u2014 automatically update order status when a request is submitted or approved<\/li>\n<li><strong>Reason field<\/strong> \u2014 optionally require customers to provide a reason when submitting a request<\/li>\n<li><strong>Display scope control<\/strong> \u2014 show the withdrawal form globally or limit it to WooCommerce pages only<\/li>\n<li><strong>Data management<\/strong> \u2014 optionally delete all plugin data on uninstall<\/li>\n<\/ul>\n\n<h4>Why this matters<\/h4>\n\n<p>Under <a href=\"https:\/\/eur-lex.europa.eu\/eli\/dir\/2023\/2673\/oj\/eng\">EU Directive 2023\/2673<\/a>, any business that lets EU consumers sign up for or purchase something online must also let them cancel online \u2014 through the same website or app. Simply hiding a withdrawal form in a footer PDF or asking customers to email you is no longer sufficient.<\/p>\n\n<p>The directive specifically requires:<\/p>\n\n<ul>\n<li>A withdrawal function that is <strong>prominently displayed<\/strong> and <strong>continuously available<\/strong> during the withdrawal period<\/li>\n<li>The function must be <strong>clearly labelled<\/strong> (e.g. \"Withdraw from contract here\" or similar)<\/li>\n<li>A <strong>two-step confirmation<\/strong> to prevent accidental withdrawals<\/li>\n<li>An <strong>acknowledgement of receipt<\/strong> sent to the customer on a durable medium (e.g. email)<\/li>\n<\/ul>\n\n<p>This plugin implements all of the above.<\/p>\n\n<h4>Getting started<\/h4>\n\n<ol>\n<li>Install and activate the plugin<\/li>\n<li>Go to <strong>WooCommerce &gt; Withdrawals &gt; Settings<\/strong> to configure your preferences<\/li>\n<li>Set your withdrawal page, period, and footer link options<\/li>\n<li>Publish the withdrawal page (created automatically as a draft on installation)<\/li>\n<li>Test the flow by placing a test order and using the Request Withdrawal button<\/li>\n<\/ol>\n\n<h4>Support<\/h4>\n\n<p>For questions or assistance, visit our <a href=\"https:\/\/wordpress.org\/support\/plugin\/eu-withdrawal-button\/\">support page<\/a>.<\/p>\n\n<!--section=installation-->\n<h4>Automatic Installation (Recommended)<\/h4>\n\n<ol>\n<li>Log in to your WordPress admin<\/li>\n<li>Go to <strong>Plugins &gt; Add New<\/strong><\/li>\n<li>Search for <strong>EU Withdrawal Button for WooCommerce<\/strong><\/li>\n<li>Click <strong>Install Now<\/strong>, then <strong>Activate<\/strong><\/li>\n<li>Navigate to <strong>WooCommerce &gt; Withdrawals &gt; Settings<\/strong> to configure the plugin<\/li>\n<\/ol>\n\n<h4>Manual Installation<\/h4>\n\n<ol>\n<li>Download the plugin zip file<\/li>\n<li>Go to <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong><\/li>\n<li>Upload the zip file and click <strong>Install Now<\/strong><\/li>\n<li>Activate the plugin<\/li>\n<li>Navigate to <strong>WooCommerce &gt; Withdrawals &gt; Settings<\/strong> to get started<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20this%20plugin%20required%20for%20all%20woocommerce%20stores%3F\"><h3>Is this plugin required for all WooCommerce stores?<\/h3><\/dt>\n<dd><p>If your store sells to consumers in the EU, yes \u2014 from June 19, 2026, EU Directive 2023\/2673 requires an accessible online withdrawal function. This applies regardless of where your business is based.<\/p><\/dd>\n<dt id=\"what%20is%20the%20standard%20withdrawal%20period%3F\"><h3>What is the standard withdrawal period?<\/h3><\/dt>\n<dd><p>The EU standard is 14 calendar days from the date of purchase (or from when the customer receives the pre-contractual information, if later). You can configure the withdrawal period in the plugin settings.<\/p><\/dd>\n<dt id=\"can%20customers%20withdraw%20only%20part%20of%20an%20order%3F\"><h3>Can customers withdraw only part of an order?<\/h3><\/dt>\n<dd><p>Yes. When partial withdrawals are enabled in settings, customers can select individual items from an order to withdraw rather than cancelling the entire order.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20work%20for%20guest%20customers%3F\"><h3>Does the plugin work for guest customers?<\/h3><\/dt>\n<dd><p>The withdrawal button on the My Account page is visible to logged-in customers. For guest order support, you can direct customers to the standalone withdrawal page using the footer link or a shortcode.<\/p><\/dd>\n<dt id=\"where%20does%20the%20withdrawal%20button%20appear%3F\"><h3>Where does the withdrawal button appear?<\/h3><\/dt>\n<dd><p>The \"Request Withdrawal\" button appears on the customer's My Account &gt; Orders page, next to eligible orders within the active withdrawal window.<\/p><\/dd>\n<dt id=\"how%20do%20i%20add%20the%20withdrawal%20link%20to%20my%20store%20footer%3F\"><h3>How do I add the withdrawal link to my store footer?<\/h3><\/dt>\n<dd><p>Go to <strong>WooCommerce &gt; Withdrawals &gt; Settings<\/strong> and enable the <strong>Embed footer link<\/strong> option. You can customise the link text (default: \"Request Withdrawal\").<\/p><\/dd>\n<dt id=\"can%20i%20exclude%20certain%20product%20types%3F\"><h3>Can I exclude certain product types?<\/h3><\/dt>\n<dd><p>Yes. Under the Exclusions section in settings, you can exclude Virtual, Downloadable, Grouped, and External\/Affiliate products from withdrawal eligibility.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20send%20a%20confirmation%20email%20to%20customers%3F\"><h3>Does the plugin send a confirmation email to customers?<\/h3><\/dt>\n<dd><p>Yes. Customers receive an email confirmation once their withdrawal request is submitted. This satisfies the directive's requirement to acknowledge receipt on a durable medium.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20the%20data%20if%20i%20uninstall%20the%20plugin%3F\"><h3>What happens to the data if I uninstall the plugin?<\/h3><\/dt>\n<dd><p>By default, plugin data is retained when you uninstall. If you want all data (settings, withdrawal requests, database tables) removed on uninstall, enable the <strong>Delete data on uninstall<\/strong> option in settings. Note: this action is irreversible.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20guarantee%20legal%20compliance%3F\"><h3>Does this plugin guarantee legal compliance?<\/h3><\/dt>\n<dd><p>The plugin implements the technical requirements of EU Directive 2023\/2673 as understood at the time of release. However, it does not constitute legal advice. We recommend consulting a legal professional to ensure your store meets all applicable requirements in your jurisdiction.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Customer withdrawal form (logged-in and guest).<\/li>\n<li>React admin dashboard for request management.<\/li>\n<li>Custom order statuses: Pending Withdrawal, Withdrawn.<\/li>\n<li>WooCommerce Settings tab integration.<\/li>\n<li>Product type based exclusions.<\/li>\n<li>Configurable withdrawal period.<\/li>\n<li>WooCommerce email notifications.<\/li>\n<li>HPOS compatibility.<\/li>\n<li>REST API.<\/li>\n<li>My Account integration.<\/li>\n<\/ul>","raw_excerpt":"Add a legally compliant EU withdrawal button to your WooCommerce store. It allows customers to exercise their 14-day right of withdrawal online.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/320288","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=320288"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/webtoffee"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=320288"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=320288"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=320288"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=320288"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=320288"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=320288"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}