{"id":12555,"date":"2026-04-21T12:53:06","date_gmt":"2026-04-21T09:53:06","guid":{"rendered":"https:\/\/riin.eu\/withdrawal-button-for-woocommerce-store-a-step-by-step-guide\/"},"modified":"2026-04-21T12:57:22","modified_gmt":"2026-04-21T09:57:22","slug":"withdrawal-button-for-woocommerce-store-a-step-by-step-guide","status":"publish","type":"post","link":"https:\/\/riin.eu\/en\/withdrawal-button-for-woocommerce-store-a-step-by-step-guide\/","title":{"rendered":"Withdrawal Button for WooCommerce Store: A Step-by-Step Guide"},"content":{"rendered":"\n<p>I still receive questions like, &#8220;Is this withdrawal button thing actually mandatory, or is it just more sales talk?&#8221; It is actually mandatory. EU Directive 2023\/2673 states that as of <strong>June 19, 2026<\/strong>, every e-shop selling to private consumers must have a simple digital withdrawal button \u2014 one click and the customer initiates the withdrawal without having to write an email. If you have a WooCommerce store, this affects you directly. This article is a practical checklist: go through it point by point and see where your store stands today.    <\/p>\n\n<h2 class=\"wp-block-heading\">What is the withdrawal button, actually?<\/h2>\n\n<p>In short: a clickable button on the customer&#8217;s order page that initiates the 14-day right of withdrawal with <strong>a single click<\/strong>. The customer does not have to search for an email address, write an application, or make a call. They log in, find the order, press the button, fill out a short form (which product, why, bank account), and that is it \u2014 the system sends them a confirmation and you a notification.  <\/p>\n\n<p>The idea behind the directive is simple: a contract concluded digitally must also be terminable digitally. The barrier of sitting behind a phone or email is removed. <\/p>\n\n<p>In Estonia, this was implemented through an amendment to the Law of Obligations Act, which enters into force on <strong>June 19, 2026<\/strong>. From that date, every B2C e-shop must be in compliance with the requirements. <\/p>\n\n<h2 class=\"wp-block-heading\">Guide: 9 Things to Check in Your WooCommerce Store<\/h2>\n\n<p>Work through these points while keeping your e-shop open in parallel. Everything that remains unchecked is what you need to address before June 19, 2026. <\/p>\n\n<h3 class=\"wp-block-heading\">1. Does your store sell to private consumers at all?<\/h3>\n\n<p>If you sell only to legal entities (B2B) and have mandatory company registration in the shopping cart, you do not need to worry \u2014 the right of withdrawal in terms of consumer protection does not apply to B2B transactions. However, <strong>if even a single private individual can make a purchase in your store<\/strong>, the button requirement applies to you. <\/p>\n\n<p>Check: Perform a test purchase yourself without company details. Did it go through? Then you are B2C and the button is mandatory.  <\/p>\n\n<h3 class=\"wp-block-heading\">2. Are the withdrawal terms written and findable?<\/h3>\n\n<p>This is the foundation \u2014 the button requirement comes in addition to the existing information requirement, not instead of it. Review the following: <\/p>\n\n<ul class=\"wp-block-list\">\n<li>The terms of the right of withdrawal are on a separate page (not mixed into the general terms and conditions)<\/li>\n\n\n\n<li>The 14-day deadline is referenced<\/li>\n\n\n\n<li>It is stated who bears the return costs (you or the customer)<\/li>\n\n\n\n<li>The link to the terms is near the shopping cart and in the footer<\/li>\n<\/ul>\n\n<h3 class=\"wp-block-heading\">3. Does the customer have an order history where the button can be found?<\/h3>\n\n<p>WooCommerce provides a &#8220;My Account&#8221; page with order history for logged-in customers. However, in many stores, <strong>purchases are made as a guest<\/strong> (guest checkout) and no account is created. In this case, the withdrawal link must be sent in the confirmation email or be accessible via a unique order link.  <\/p>\n\n<p>Check: Perform a test purchase using guest checkout. Can you reach the order page from the confirmation email? Could you theoretically withdraw from there?  <\/p>\n<p><!-- TOOTESOOVITUS 1: taganemisnupu plugin WooCommerce'ile \u2014 Lite\/Basic\/Pro pakettidega, mis katavad direktiivi 2023\/2673 n\u00f5uded --><\/p>\n\n<h3 class=\"wp-block-heading\">4. Does the withdrawal form ask for the correct data?<\/h3>\n\n<p>According to the directive, the form must collect:<\/p>\n\n<ul class=\"wp-block-list\">\n<li>Order number (or link automatically)<\/li>\n\n\n\n<li>Selection of product or products (in case of partial withdrawal)<\/li>\n\n\n\n<li>Reason for withdrawal (recommended, not mandatory)<\/li>\n\n\n\n<li>Bank account for the refund<\/li>\n\n\n\n<li>Customer confirmation that they have read the withdrawal terms<\/li>\n<\/ul>\n\n<p>If you currently only have &#8220;send an email to info@&#8230;&#8221; \u2014 that is not a form, it is an obstacle.<\/p>\n\n<h3 class=\"wp-block-heading\">5. Does the system send a confirmation automatically?<\/h3>\n\n<p>When the customer presses the button, they must <strong>immediately<\/strong> receive confirmation that the withdrawal application has been received. This is not just a matter of convenience \u2014 it is evidence. In the event of a dispute, the customer must be able to show that they sent the application within the deadline.  <\/p>\n\n<p>A good system sends two emails: one to the customer (confirmation with the date) and one to you (notification that a withdrawal application has been received).<\/p>\n\n<h3 class=\"wp-block-heading\">6. Do you have a management view for withdrawal applications?<\/h3>\n\n<p>If you have 40 withdrawal applications by the end of the year, you cannot manage them among emails. A proper solution gives you a separate list in the WooCommerce admin panel: which applications have been received, which are in progress, which are completed, and to whom money has been refunded. Essentially the same logic as order management.  <\/p>\n\n<h3 class=\"wp-block-heading\">7. Is the return status reflected in the order?<\/h3>\n\n<p>If a customer has withdrawn, this should also be visible in the order status. WooCommerce has a &#8220;refunded&#8221; status, but changing it manually means extra work. An automated solution links the withdrawal application directly to the order.  <\/p>\n\n<h3 class=\"wp-block-heading\">8. Does the solution support your languages?<\/h3>\n\n<p>If you have a multilingual store (Estonian + Finnish + English with WPML, as is typical for our clients&#8217; setups), the button and form must work in every language. A Finnish customer receives the form in Finnish and the confirmation in Finnish. This is a detail worth testing separately.  <\/p>\n<p><!-- TOOTESOOVITUS 2: taganemisnupu plugin WPML tugi \u2014 mitmekeelsete e-poodide jaoks automaatne t\u00f5lkevalmidus --><\/p>\n\n<h3 class=\"wp-block-heading\">9. Have you actually tested the solution?<\/h3>\n\n<p>This is the point where most shopkeepers slip up. You install a plugin, see that the admin view exists, check off the task, and forget about it. But <strong>does the customer actually reach the button<\/strong>? Does the form work on mobile? Does the confirmation email arrive, and not in the spam folder?    <\/p>\n\n<p>Go through the entire process yourself \u2014 from purchase to receiving the refund \u2014 before you consider the matter finished.<\/p>\n\n<h2 class=\"wp-block-heading\">How to get the button working in a WooCommerce store?<\/h2>\n\n<p>Three options:<\/p>\n\n<p><strong>Option 1: Build a custom solution yourself.<\/strong> It&#8217;s possible, but it involves developers, testing, and maintenance. It&#8217;s not practical for a small business owner.<\/p>\n\n<p><strong>Option 2: Use an existing plugin.<\/strong> The fastest way. The plugin does all the work \u2014 adds a button under &#8220;My Account&#8221;, places a link in the confirmation email, gives you a management view, and sends automatic notifications. You set the terms (who covers the return shipping, what the restricted reasons are) and you&#8217;re all set. <\/p>\n\n<p><strong>Option 3: Wait until the last minute.<\/strong> The worst option. As June 2026 approaches, developers will be overloaded and speed will come at a premium.<\/p>\n\n<p>I created the withdrawal button plugin specifically so that there would be no need to tell clients to &#8220;go buy some foreign solution and hope it fits.&#8221; On the <a href=\"https:\/\/riin.eu\/en\/eu-withdrawal-button\/\">withdrawal button plugin<\/a> page, you can see exactly what is included \u2014 the Lite version covers the basic function, while Pro adds reports and WPML support.<\/p>\n<p><!-- TOOTESOOVITUS 3: taganemisnupu plugina test-keskkond \u2014 saad proovida kogu funktsionaalsust enne ostu otsust --><\/p>\n\n<p><strong>If you want to actually feel<\/strong> how the button works and whether it fits your e-shop workflow before purchasing, there is a test environment at <a href=\"https:\/\/plugin.riin.eu\/\">plugin.riin.eu<\/a>. There you can play through the entire user experience at no extra cost \u2014 both from the customer&#8217;s view (how the button looks, how the form is filled) and the admin view (how applications are received and how to manage them). <\/p>\n<p><!-- TOOTESOOVITUS 4: kodulehe hooldus WooCommerce e-poele \u2014 taganemisnupu paigaldus ja seadistus hoolduse raames --><\/p>\n\n<h2 class=\"wp-block-heading\">And now \u2014 open your computer, test it<\/h2>\n\n<p>The most practical benefit of this article is if you <strong>actually<\/strong> go through the checklist. Take 20 minutes, log into the admin panel, make a test purchase, look at the customer account, try the email. The earlier you find a hole, the less stress there will be as June approaches.  <\/p>\n\n<p>If it turns out that the current solution is not suitable, write to <a href=\"mailto:riin@riin.eu\">riin@riin.eu<\/a> \u2014 we will look together at whether a plugin, custom development, or some other option is right for you. And if you want to try it yourself before spending, go to the <a href=\"https:\/\/plugin.riin.eu\/\">plugin.riin.eu<\/a> page \u2014 it was made just for that. <\/p>\n\n<h2 class=\"wp-block-heading\">Frequently Asked Questions<\/h2>\n\n<h3 class=\"wp-block-heading\">Is the withdrawal button mandatory for all e-shops?<\/h3>\n\n<p>Yes, for all e-shops selling to private consumers (B2C) in the EU and whose contracts are subject to the 14-day right of withdrawal. B2B-only stores and services exempt from the right of withdrawal (e.g., customized products) are not subject to the button requirement. If you sell to even one regular customer, you must install the button.  <\/p>\n\n<h3 class=\"wp-block-heading\">What happens if the button is not in place by the June 19, 2026 deadline?<\/h3>\n\n<p>The Consumer Protection and Technical Regulatory Authority (TTJA) may issue a precept and a fine. But before that, the greater risk is that a customer complains \u2014 and in the event of a complaint, you must prove that the button requirement was met.  <\/p>\n\n<h3 class=\"wp-block-heading\">Can I test the withdrawal button plugin before purchasing?<\/h3>\n\n<p>Yes. I have a test environment at plugin.riin.eu where you can try out the full functionality of the plugin at no extra cost. You can check if it fits your workflow and only then decide.  <\/p>\n\n<h3 class=\"wp-block-heading\">Is it enough if I write &#8216;please notify of withdrawal by email&#8217; in the terms?<\/h3>\n\n<p>No, it is not enough. The directive specifically requires a BUTTON \u2014 this means a clickable element under the customer&#8217;s account or on the order page, where a single click initiates the withdrawal process. Email text in the terms does not fulfill the requirement.  <\/p>\n\n<h3 class=\"wp-block-heading\">Does the button have to be only on the e-shop website or also in the confirmation email?<\/h3>\n\n<p>The link to the withdrawal option must be easily findable for the customer \u2014 in practice, this means a button on the order page (for logged-in customers) and a link in the order confirmation email. This way, a customer who purchased as a guest can also gain access. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>The withdrawal button for WooCommerce stores must be in place by June 19, 2026. A practical checklist for e-shop owners \u2014 what to check, what to fix, and how to test. <\/p>\n","protected":false},"author":1,"featured_media":12556,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_focus_keyword":"withdrawal button for woocommerce store","rank_math_description":"The withdrawal button for WooCommerce stores must be in place by June 19, 2026. A practical checklist for e-shop owners \u2014 what to check, what to fix, and how to test. ","rank_math_title":"Withdrawal Button for WooCommerce Store \u2014 Checklist for the 2026 Deadline","rank_math_canonical_url":"","rank_math_robots":"","footnotes":""},"categories":[143,46],"tags":[159,158,34,157,144],"class_list":["post-12555","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-e-shop","category-wordpress-en","tag-e-commerce-compliance","tag-eu-directive-2","tag-web-shop","tag-withdrawal-button","tag-woocommerce"],"astra-portfolio-type":null,"astra-site-call-to-action":null,"_links":{"self":[{"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/posts\/12555","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/comments?post=12555"}],"version-history":[{"count":2,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/posts\/12555\/revisions"}],"predecessor-version":[{"id":12560,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/posts\/12555\/revisions\/12560"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/media\/12556"}],"wp:attachment":[{"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/media?parent=12555"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/categories?post=12555"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/riin.eu\/en\/wp-json\/wp\/v2\/tags?post=12555"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}