APG Withdrawal for WooCommerce
APG Withdrawal for WooCommerce adds to your WooCommerce store a complete online right of withdrawal workflow compliant with EU consumer protection legislation. Features Customer withdrawal form via the [apg_withdrawal_form] shortcode. Partial withdrawal down to the unit: the customer ticks the order lines and adjusts how many units of each one they are withdrawing from. Configurable withdrawal window (days) and deadline source (completed or created date). Optional extra grace days on top of the standard withdrawal window. Active request detection: hides the withdrawal button if a request is already open for the order. Optional digital-content waiver checkbox at checkout (both classic shortcode and block-based checkout): a configurable selector chooses when to display it — never, only on virtual products (or per-product _apg_withdrawal_type = digital), on every order, or on selected categories and/or selected products. The customer’s choice is persisted to order meta as legal evidence. Admin request log with full request details (custom post type), status views with counts, bulk status changes and sortable status column. Own WooCommerce order status Withdrawal requested, optionally applied to the order as soon as a declaration is received, so affected orders can be filtered, sorted and bulk-edited with the native tools. Optional refund account (IBAN) validated with the international control digits (ISO 7064 MOD-97-10). Optional double opt-in for guests: the request is held until the customer opens a single-use link sent to the email address on the order, while keeping the date and time of the original submission. Jurisdiction setting (EU baseline / Spain) that governs the statutory reference shown to the customer. REST API under apg-withdrawal/v1 to list, read, create and progress requests from headless storefronts and back-office integrations. IP address and browser identifier storage options for legal evidence. Email notification to the store admin on every new request. Automatic customer acknowledgement email on submission. Customer status update emails when the request is accepted, rejected or completed. Automation: updates the withdrawal request status automatically when the linked WooCommerce order changes status. My Account integration: customers can view their withdrawal request history. CSV export of withdrawal requests, honouring the status currently selected in the list, with protection against spreadsheet formula injection. 100% compatible with HPOS (High-Performance Order Storage). Public form built to WCAG 2.1 AA — the level EN 301 549 requires today — with the WCAG 2.2 target-size criterion already met: grouped and labelled controls, live regions for dynamic notices and focus moved to each new step. One-click WooCommerce refund built from the request: the declared lines and quantities, capped by whatever is still refundable on the order. Always started by hand, never automatically. Works with Redsys and Bizum out of the box. WPML and Polylang ready, both through wpml-config.xml and through runtime string registration. Translations English: by Art Project Group (default language). Spanish: by Art Project Group. More information You can learn more about APG Withdrawal for WooCommerce on our official website, and follow the development on GitHub. Thanks Thanks to everyone who uses the plugin, helps improve it, makes a donation or encourages us with their comments. If you find this plugin useful, you can support its development with a small donation. External Services This plugin connects to the WordPress.org Plugins API to fetch information about the plugin (such as the rating). It sends the plugin slug when requesting data. More information: https://wordpress.org/about/privacy/
Top keywords
- withdrawal14×2.50%
- order10×1.78%
- request10×1.78%
- status8×1.43%
- customer7×1.25%
- woocommerce6×1.07%
- apg4×0.71%
- apg withdrawal4×0.71%
- optional4×0.71%
- email3×0.53%
- form3×0.53%
- information3×0.53%
Spotrebiteľské práva pre WooCommerce
🇸🇰 Slovenský popis Tento plugin pridáva do vášho WooCommerce e-shopu online formuláre na odstúpenie od zmluvy a reklamácie, plne v súlade s európskou Smernicou EÚ 2023/2673 a slovenským zákonom č. 108/2024 Z. z. o ochrane spotrebiteľa. Pre koho je to určené: Pre slovenských prevádzkovateľov WooCommerce e-shopov, ktorí potrebujú: Splniť zákonnú povinnosť podľa EÚ smernice 2023/2673 (účinná od 19. 6. 2026), ktorá vyžaduje aby každý e-shop mal funkciu „Odstúpiť od zmluvy tu” priamo na webe (nie len PDF na stiahnutie). Zjednodušiť proces reklamácií — zákazník vyplní reklamáciu online, nemusí tlačiť papierový formulár, môže priložiť fotografie vady. Mať poriadok v reklamáciách — všetky odoslané reklamácie sa zhromaždia v administračnom rozhraní, kde môžete vyplniť reklamačný protokol, sledovať stav a vytlačiť oficiálny dokument. Hlavné funkcie: Odstúpenie od zmluvy — formulár cez shortcode [withdrawal_form], tlačidlo „Odstúpiť od zmluvy tu” pri každej objednávke v Mojom účte, automatická kontrola 14-dňovej lehoty (po vypršaní sa tlačidlo skryje), HTML potvrdenie s presným dátumom a časom odoslania (zákonný dôkaz na trvalom nosiči). Reklamácie — kompletný online reklamačný formulár cez shortcode [complaint_form] (alias [reklamacia]), všetky polia zo štandardného slovenského papierového formulára: meno/firma, telefón, e-mail, IBAN, výrobca, model, výrobné číslo, dátum predaja, číslo objednávky/faktúry, popis vady. Voliteľné nahrávanie fotografií vady (drag & drop, JPG/PNG/WEBP/HEIC, do 5 MB). Reklamačný protokol — admin vyplní rozhodnutie (výmena/vrátenie ceny/zamietnutie), dátumy, IBAN na vrátenie. Vytlačiteľný A4 protokol (browser-natívne uloženie do PDF), pripravený na archiváciu. 30-dňová zákonná lehota — plugin posiela 5 dní pred uplynutím automatickú pripomienku adminovi (cez WP Cron). Žiadna pokuta od ÚZP za zameškané reklamácie. Údaje predávajúceho — vyplníte IČO, DIČ, IČ DPH a adresu raz, zobrazuje sa v hlavičke formulárov aj na tlačenom protokole. Berie sa primárne z WooCommerce → Nastavenia → Všeobecné, voliteľný override. Plne preložené do slovenčiny — formuláre aj admin rozhranie. Čo plugin NEROBÍ: Automatické refundy ani zmenu stavu objednávky vo WooCommerce Generovanie dobropisov alebo vratových štítkov Napojenie na dopravcov Výnimky z práva na odstúpenie (digitálny obsah, hygienický tovar atď.) Tieto kroky rieši prevádzkovateľ manuálne podľa svojich obchodných podmienok. Inštalácia v 3 krokoch: Aktivujte plugin Vytvorte 2 stránky a vložte do nich shortcode [withdrawal_form] a [complaint_form] V Spotrebiteľské práva → Nastavenia zadajte URL týchto stránok + vyplňte IČO/DIČ ak ste firma 🇬🇧 English description This plugin adds online forms for both withdrawal from contract and complaints (reklamácie) to your WooCommerce store, fully compliant with EU Directive 2023/2673 and Slovak Act No. 108/2024 Coll. on consumer protection. Withdrawal from contract Shortcode [withdrawal_form] — embeddable on any page “Withdraw from contract here” button on every order in My Account (hides after 14 days) Automatic 14-day withdrawal-period check — visual and server-side blocking after expiry Automatic form pre-fill for logged-in customers Order ownership verification: e-mail or postcode for guest checkouts HTML confirmation e-mail with submission date and time (legal proof on a durable medium) HTML notification e-mail to the shop owner — supports multiple recipients (comma-separated) Rate limiting — max 10 attempts per hour per IP (admins bypass) Legally exact button wording per Articles 1 and 3 of the directive Complaints (reklamácie) Shortcode [complaint_form] (alias [reklamacia]) All fields matching the standard Slovak complaint form: buyer details, IBAN, brand, model, serial number, sale date, order number, invoice, defect description Brand and model are optional — focus is on the defect description Separate “Order number” field — auto-filled from order dropdown for logged-in customers, manual text input for guests Optional photo upload with drag & drop (up to 5 photos by default, configurable) Secure photo handling — real MIME-type verification (JPG, PNG, WEBP, HEIC), .htaccess protection, random filename hash, realpath safety check Auto-fill from order selection for logged-in customers (brand, model, sale date, order number, invoice number) Admin complaint list with filter (by status), search (name, e-mail, invoice, order number, ID) and pagination Admin “Reklamačný protokol” form — fill resolution (exchange / refund / rejected), expert assessment contact, dates Status pipeline: New → In progress → Resolved / Rejected (coloured badges) “Date resolved” is required when closing a complaint (auto-fills today if empty) Internal notes field (private) — visible only to admins, NOT included in print or customer e-mails Delete action with confirmation and disk cleanup of attached photos Optional status update e-mail to customer Printable A4 view — buyer-filled form + protocol on one page (browser-native print to PDF) Seller info settings — IČO, DIČ, IČ DPH, correspondence address (hybrid: WC Store Address + plugin overrides) WP Cron daily reminder e-mail to admin 5 days before the 30-day legal deadline expires (each complaint reminded only once) 30-day legal deadline reminder per Act No. 108/2024 Coll. Common features Dedicated top-level admin menu “Spotrebiteľské práva” (Consumer Rights) with 3 clean submenus: Withdrawals from contract, Complaints, Settings Database log of all submissions (separate tables for withdrawals and complaints) Full multilingual support (EN, SK, CS, HU, DE, PL) — auto-detected from WordPress Site Language HPOS and legacy WooCommerce compatibility WordPress Privacy Policy integration in GDPR consent Automatic DB schema upgrades — new columns are added on plugin load if missing (no manual SQL needed) WooCommerce compatibility The plugin works with both order-storage systems: HPOS (High Performance Order Storage) — new wc_orders tables, WooCommerce 7.1+ Legacy — classic storage via WordPress posts/postmeta Switching is fully automatic. HPOS compatibility is declared via FeaturesUtil — the plugin shows a green compatibility badge in WooCommerce > Settings > Advanced. Legislation The plugin is designed in compliance with: EU Directive 2023/2673 (effective 19 June 2026) Slovak Act No. 108/2024 Coll. on consumer protection (replaced Act No. 102/2014 Coll. effective 1 July 2024) What the plugin does NOT do Exceptions from the right of withdrawal (digital content, hygiene goods, etc.) Automatic refunds or order status changes in WooCommerce Generating credit notes or return labels Carrier integration These steps are handled by the shop owner manually according to their terms and conditions. Usage Withdrawal from contract: Create a page and insert the shortcode [withdrawal_form] In Consumer Rights → Settings, enter the URL of that page Add a link to that page in your site footer Complaints (reklamácie): Create a separate page and insert the shortcode [complaint_form] In Consumer Rights → Settings, enter the URL of that page Fill in the Seller info section (IČO/DIČ if applicable) — these details appear on the printed protocol Withdrawal link in WooCommerce emails (YayMail / email customizers): Use the [withdrawal_link] shortcode inside any WooCommerce email template (YayMail, Kadence Emails, Email Customizer for WooCommerce, etc.) to insert a pre-filled link to the withdrawal form. The link automatically includes the correct order key so the customer lands on the form with their order pre-filled. [withdrawal_link] — inserts a link with the default label "Withdraw from contract" [withdrawal_link label="Cancel order"] — custom link text [withdrawal_link label="Withdraw" class="btn btn-primary"] — with CSS class(es) on the ` ` tag The shortcode only works inside WooCommerce transactional emails (e.g. Order Completed). It reads the current order from the email context automatically. Outside of an email context it returns an empty string. The withdrawal form page URL must be configured in Consumer Rights → Settings.