{"id":11528,"date":"2026-06-18T04:06:42","date_gmt":"2026-06-17T20:06:42","guid":{"rendered":"https:\/\/aeosub.com\/bitron-right-of-withdrawal\/"},"modified":"2026-06-18T04:06:42","modified_gmt":"2026-06-17T20:06:42","slug":"bitron-right-of-withdrawal","status":"publish","type":"post","link":"https:\/\/aeosub.com\/zh\/bitron-right-of-withdrawal\/","title":{"rendered":"Bitron Right of Withdrawal"},"content":{"rendered":"<div class=\"plugin-expert-review\" style=\"border: 1px solid #e2e8f0;border-left: 4px solid #4a3bca;border-radius: 10px;padding: 20px;margin-bottom: 25px;background: #fff;font-family: -apple-system, system-ui, sans-serif\">\n<div style=\"font-weight: bold;font-size: 1.1em;color: #4a3bca;margin-bottom: 10px\">LethaldiranMX Insight<\/div>\n<div style=\"color: #4a5568;font-size: 14px;line-height: 1.6\">\n<div>\n<p>Bitron Right of Withdrawal addresses a critical compliance gap for European e-commerce operators ahead of the June 2026 EU Consumer Rights Directive update. By transforming a historically manual, friction-heavy legal requirement into an automated, accessible self-service workflow, it mitigates administrative overhead for WooCommerce merchants while ensuring strict regulatory alignment. The inclusion of item-level partial withdrawals and integrated bank-account validation for offline payment methods demonstrates a deep understanding of real-world transactional logistics.<\/p>\n<p><strong>Best Fit &amp; Operational Role:<\/strong> This plugin is an essential addition for B2C WooCommerce merchants operating within the EU\u2014particularly those in Hungary or shops dealing with Hungarian customers where Government Decree 45\/2014 applies. It integrates directly into the WooCommerce transactional stack, dynamically rendering the withdrawal interface in the customer&#8217;s My Account area and appending compliant calls-to-action to standard order emails only when the withdrawal window is active. It solves the operational headache of manually processing return intents and collecting secure bank details for non-card refunds.<\/p>\n<p><strong>Potential Limitations &amp; Pitfalls:<\/strong> While highly functional, the plugin introduces minor operational dependencies; secure guest verification relies on the external &#8220;OneCode Login&#8221; plugin to prevent unauthorized third-party filings, meaning administrators must manage an additional dependency for maximum security. Additionally, the built-in bank account validation is tailored specifically to Hungarian IBAN and domestic GIRO formats (MOD-97 \/ CDV checks), which may require custom filters or updates if your store processes non-card refunds for customers in other EU banking jurisdictions.<\/p>\n<\/div>\n<\/div><\/div>\n<div class=\"plugin-info-card\" style=\"border: 1px solid #e2e8f0;border-radius: 10px;overflow: hidden;margin-bottom: 30px;font-family: -apple-system, system-ui, sans-serif;background: #fff\">\n<div style=\"padding: 20px;border-bottom: 1px solid #edf2f7;background: #fafafa;display: flex;align-items: flex-start\">\n                <img decoding=\"async\" src=\"https:\/\/s.w.org\/plugins\/geopattern-icon\/bitron-right-of-withdrawal.svg\" alt=\"Bitron Right of Withdrawal icon\" loading=\"lazy\" style=\"width: 45px;height: 45px;border-radius: 8px;margin-right: 15px\"> <\/p>\n<div style=\"flex: 1;line-height: 1.2\">\n<div style=\"font-weight: bold;font-size: 1.1em;color: #1a202c\">Plugin Specification<\/div>\n<p>                    <small style=\"color: #718096\">WordPress.org Official Data<\/small>\n                <\/div>\n<\/p><\/div>\n<table style=\"width: 100%;border-collapse: collapse;font-size: 14px\">\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;width: 35%;color: #4a5568;background: #fcfcfc\">Developer<\/th>\n<td style=\"padding: 12px 20px;font-weight: 500\"><a href=\"https:\/\/profiles.wordpress.org\/oaron\/\" target=\"_blank\" rel=\"noopener\">oaron<\/a><\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Version<\/th>\n<td style=\"padding: 12px 20px\">v1.5<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Active Installs<\/th>\n<td style=\"padding: 12px 20px\">100 +<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Requires \/ Tested<\/th>\n<td style=\"padding: 12px 20px\">6.4 \/ 7.0<\/td>\n<\/tr>\n<tr style=\"border-bottom: 1px solid #edf2f7\">\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Last Updated<\/th>\n<td style=\"padding: 12px 20px\">2026-06-17 8:05pm GMT<\/td>\n<\/tr>\n<tr>\n<th style=\"padding: 12px 20px;text-align: left;color: #4a5568;background: #fcfcfc\">Official Link<\/th>\n<td style=\"padding: 12px 20px\"><a href=\"https:\/\/wordpress.org\/plugins\/bitron-right-of-withdrawal\/\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"text-decoration: none;color: #4a3bca;font-weight: bold\">View Details -&gt;<\/a><\/td>\n<\/tr>\n<\/table><\/div>\n<div class=\"plugin-short-desc\" style=\"margin: 20px 0;padding: 12px 15px;background: #f9fafb;border-left: 4px solid #4a3bca;border-radius: 6px;font-style: italic;color: #4a5568\">Accessible online withdrawal form. Built for the EU Consumer Rights Directive update effective 19 June 2026.<\/div>\n<p>From 19 June 2026, EU member states require every consumer-facing online shop to provide an <strong>online withdrawal function<\/strong> \u2014 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\/2014.<\/p>\n<p>Bitron Right of Withdrawal delivers exactly that, accessibly.<\/p>\n<p><strong>What the plugin does<\/strong><\/p>\n<ul>\n<li>A continuously available, accessible withdrawal form \u2014 embeddable via the <code>[bitrow_form]<\/code> shortcode or the <em>Withdrawal Form<\/em> Gutenberg block, so it drops into any classic-editor page, a block-built layout, or a page builder that handles either.<\/li>\n<li>Tight WooCommerce integration: the form is surfaced to logged-in customers as a <em>Withdrawal<\/em> item in their <em>My Account<\/em> menu, but only while they have at least one order still inside the window \u2014 so a customer with nothing eligible doesn&#8217;t see a dead link.<\/li>\n<li>Withdrawal CTA is automatically attached to WooCommerce&#8217;s customer order emails (processing, completed, invoice) while the window is open \u2014 HTML and plain-text variants, with a filter to extend the list of carrier emails.<\/li>\n<li>Guest and logged-in customer paths. A logged-in customer sees a select of their own in-window orders. For guests, optional <strong>email verification<\/strong>: with the free <a href=\"https:\/\/wordpress.org\/plugins\/onecode-login\/\" rel=\"ugc noopener\" target=\"_blank\">OneCode Login<\/a> plugin active, the guest proves they own their email with a one-time code, and the form then loads that email&#8217;s orders just like for a logged-in customer \u2014 closing the gap where anyone who knew an order number and the billing email could file on someone else&#8217;s behalf. When OneCode Login isn&#8217;t installed, the classic order-number + email path still works, so the plugin remains fully standalone.<\/li>\n<li>Item-level partial withdrawal. After the customer picks an order, they tick exactly which line items (and quantities) they want to withdraw from \u2014 the form is not all-or-nothing.<\/li>\n<li>Bank-account capture for non-card payments. When the original gateway can&#8217;t refund automatically (e.g. cash on delivery, bank transfer), the customer enters a Hungarian IBAN or domestic GIRO account number \u2014 validated client- and server-side with MOD-97 \/ CDV checks \u2014 so the shop has everything to wire the refund manually.<\/li>\n<li>Customizable form copy and brand colors. An optional intro paragraph above the form and the submit-button colors (background + text) are configurable from <em>Settings <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> Form<\/em>, with a live WCAG contrast meter that announces the ratio as you type so a custom brand color cannot quietly drop below AA. An &#8220;advanced&#8221; panel additionally exposes the form body text, wrapper background, and input\/fieldset border colors for themes that need the form to blend in \u2014 these three are not contrast-checked and carry an explicit &#8220;you own the contrast&#8221; warning. The same values can be overridden per-instance through <code>[bitrow_form]<\/code> shortcode attributes or the block&#8217;s <em>Inspector<\/em> panel.<\/li>\n<li>Automatic confirmation email to the customer (durable medium) and notification to the shop admin, with editable subject and body templates for both \u2014 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.<\/li>\n<li>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&#8217;s a technical filter, not legal advice.<\/li>\n<li>Per-product and per-category withdrawal exemptions for the CRD \u00a716 \/ 45-2014 \u00a729 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 &#8220;Not eligible for withdrawal&#8221; badge; orders that consist entirely of exempt items are blocked at step 1 with a contact pointer. A separate <em>Settings <span aria-hidden=\"true\" class=\"wp-exclude-emoji\">\u2192<\/span> Exclusions<\/em> tab manages both lists with searchable autocompletes.<\/li>\n<li>&#8220;Withdrawals&#8221; hub in the customer&#8217;s <em>My Account<\/em> area \u2014 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&#8217;s own account email and never reveals records filed under a different email.<\/li>\n<li>Minimal record-keeping with unique <code>BITROW-XXXXXX<\/code> references for evidentiary value, plus a per-record detail page in the admin.<\/li>\n<li>Admin can mark a record as <em>closed<\/em> (and reopen it) once the case is resolved, with timestamp and the closing user recorded \u2014 keeps the working list focused on what&#8217;s still pending.<\/li>\n<li>WCAG 2.1 AA accessibility throughout \u2014 programmatic labels, focus management, live regions, sufficient contrast.<\/li>\n<li>GDPR integration with WordPress&#8217; personal data export and erase tools, plus a suggested paragraph for the Privacy Policy Guide.<\/li>\n<\/ul>\n<p><strong>Compatibility<\/strong><\/p>\n<p>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 \u2014 the trademark is not used in the plugin name or slug.<\/p>\n<p><strong>Important \u2014 what this plugin does NOT do<\/strong><\/p>\n<p>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 \u2014 those must be prepared by your own lawyer. The confirmation email contains only a factual acknowledgement (received, when, with which ID, what content); any &#8220;what happens next&#8221; wording is the shop operator&#8217;s own policy and must come from you.<\/p>\n<p>The plugin records each withdrawal and notifies you, but it does not issue refunds automatically. Refunds remain a deliberate admin action through WooCommerce&#8217;s standard refund interface.<\/p>\n<p><strong>Privacy<\/strong><\/p>\n<p>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.<\/p>\n<h3>Pro version<\/h3>\n<p>The free plugin covers the full legal compliance core on its own. <strong>Bitron Right of Withdrawal Pro<\/strong> adds a convenience and automation layer on top, for shops that process withdrawals regularly:<\/p>\n<ul>\n<li><strong>One-click WooCommerce refund<\/strong> \u2014 issue the refund straight from the withdrawal record, instead of re-entering it by hand in WooCommerce.<\/li>\n<li><strong>Status management and history<\/strong> \u2014 a richer status workflow (received, in progress, goods returned, refunded, rejected) with a full audit trail of who changed what and when.<\/li>\n<li><strong>Automation rules<\/strong> \u2014 define rules that act on incoming withdrawals automatically (status transitions, notifications), so routine cases handle themselves.<\/li>\n<li><strong>Custom form fields<\/strong> \u2014 add your own fields to the withdrawal form and store them on the record.<\/li>\n<li><strong>Searchable admin + CSV export<\/strong> \u2014 find any declaration fast and export the list for accounting or reporting.<\/li>\n<li><strong>Webhooks<\/strong> \u2014 push withdrawal events to your CRM, ERP or any external system in real time.<\/li>\n<li><strong>REST API<\/strong> \u2014 read and manage withdrawal records programmatically from your own integrations.<\/li>\n<\/ul>\n<p>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 \u2014 the free plugin already makes you compliant.<\/p>\n<p>Learn more and see pricing: https:\/\/bitron.hu\/woocommerce-elallas<\/p>\n<div class=\"plugin-editorial-note\" style=\"margin-top: 25px;padding: 12px 15px;background: #f8fafc;border-radius: 6px;color: #64748b;font-size: 13px;line-height: 1.5\">Editorial note: This overview combines WordPress.org official plugin metadata with an AI-assisted LethaldiranMX editorial review. Plugin data should be verified on the official WordPress.org listing before installation.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Accessible online withdrawal form. Built for the EU Consumer Rights Directive update effective 19 June 2026.<\/p>","protected":false},"author":1,"featured_media":9317,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[252],"tags":[829,1051,590,1052,730,555],"class_list":["post-11528","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-trends","tag-accessibility","tag-consumer-rights","tag-gdpr","tag-refund","tag-withdrawal","tag-wordpress-plugin"],"_links":{"self":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11528","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/comments?post=11528"}],"version-history":[{"count":0,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/posts\/11528\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media\/9317"}],"wp:attachment":[{"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/media?parent=11528"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/categories?post=11528"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aeosub.com\/zh\/wp-json\/wp\/v2\/tags?post=11528"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}