承接 mageme/module-eu-withdrawal 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mageme/module-eu-withdrawal

Composer 安装命令:

composer require mageme/module-eu-withdrawal

包简介

Magento 2 implementation scaffolding for the EU consumer-withdrawal workflow under Art. 11a Directive 2011/83/EU (as amended by 2023/2673): guided storefront flow (find order, select items, confirm), durable-medium receipt email, 22-locale Annex I content. NOT legal advice — see README disclaimer; m

README 文档

README

EU withdrawal button for Magento 2 — the consumer right-of-withdrawal flow required under Article 11a of the Consumer Rights Directive (2011/83/EU) as amended by Directive (EU) 2023/2673.

Latest Version Downloads Magento PHP License

The Magento 2 withdrawal button your EU storefront needs — a storefront-ready, guided flow (find order → select items → review & confirm) with durable-medium receipt emails and Annex I content in 22 EU locales. It runs on Luma and Breeze out of the box, with companion modules for Hyvä and Hyvä Checkout.

It adds only the legal withdrawal step required under Art. 11a, and works alongside your existing RMA / refund process rather than replacing it.

Documentation · Get Pro features

Withdrawal button on the order page — shown automatically once the order is delivered

What it does

  • Guided storefront flow — find order → select items → review & confirm at /withdraw-contract/, for registered customers and guests (lookup by order number and the email on the order), with per-item or full-order selection
  • Article 16 exclusions — presets for custom-made, perishable, sealed-hygiene, sealed audio/video, and digital-content goods, configurable per category with merchant override
  • Digital-content waiver at checkout (Art. 16(m)) — express-consent and right-loss acknowledgment step, with matching enforcement on REST/GraphQL and headless orders
  • Eligibility controls — configurable withdrawal window, handling for orders with no recorded delivery date, merchant-excluded order statuses, and automatic exclusion of canceled orders
  • Scope controls — limit the self-service flow by country and by customer group (for example, hide it from B2B / wholesale groups while guests and consumers keep it)
  • Durable-medium receipt — confirmation email with a frozen snapshot of the legal text shown to the consumer
  • Annex I in 22 EU locales — pre-contractual notice and model withdrawal form, verbatim EUR-Lex translations where available, theme-overridable per locale
  • Pro-rata refund calculation — Art. 13(2)/14(2) totals (with order-level adjustments) shown in the admin and added to the order timeline; calculation only — it does not replace Magento's credit-memo / refund processing
  • Admin grid and workflow — filterable request list, status changes (approve / deny / cancel), order-timeline notes, column controls, and CSV export

Screenshots

Storefront — guided withdrawal flow (find order → select items → review & confirm):

Storefront withdrawal flow — select items to withdraw with per-item quantity

Admin — manage withdrawal requests (status workflow, jurisdictions, refund totals, CSV export):

Admin withdrawal requests grid

Durable-medium receipt email — the confirmation sent to the consumer with a frozen snapshot of the legal text they accepted. (The SHA-256 integrity-hash card and one-click verification shown here are a Pro add-on.)

Durable-medium withdrawal receipt email; the SHA-256 integrity-hash card shown is a Pro add-on

Free vs Pro

Feature Free Pro
Storefront withdrawal flow Yes Yes
Annex I — 22 EU locales Yes Yes
Durable-medium receipt email Yes Yes
Admin grid + status workflow Yes Yes
Article 16 exclusion presets Yes Yes
Per-item or full-order selection Yes Yes
Country & customer-group scope Yes Yes
Digital-content waiver (Art. 16(m)) Yes Yes
Eligibility controls (window, statuses, delivery) Yes Yes
API / headless waiver enforcement Yes Yes
Pro-rata refund calculation Yes Yes
Receipt verification — SHA-256 cryptographic audit Yes
Annex I forensic snapshot — immutable per-request copy Yes
Hash-chain audit log — DB-backed, tamper-evident Yes
Magic-link guest access — one-click tokenised URL Yes
Seal-photo evidence — optional intact-seal photos Yes

Compare tiers and pricing

Install

composer require mageme/module-eu-withdrawal
bin/magento module:enable MageMe_EUWithdrawal
bin/magento setup:upgrade
bin/magento cache:flush

After installation, enable the module at Stores → Configuration → MageMe Extensions → EU Withdrawal.

Full installation guide and configuration reference

On Luma and Breeze (Swissup) storefronts the base module works out of the box — no extra package required. Only Hyvä themes need the companion module below.

Hyvä storefront

If your storefront runs on a Hyvä theme, install the theme companion alongside this module — it ports the customer-facing withdrawal flow and order-view integrations to Tailwind + Alpine.js:

composer require mageme/module-eu-withdrawal-hyva
bin/magento module:enable Hyva_MageMeEUWithdrawal
bin/magento setup:upgrade

If you also run Hyvä Checkout, add the checkout companion as well — it re-implements the pre-contract Annex I block and the digital-content waiver step (Art. 16(m)) for Hyvä Checkout's Magewire runtime:

composer require mageme/module-eu-withdrawal-hyva-checkout
bin/magento module:enable Hyva_MageMeEUWithdrawalCheckout
bin/magento setup:upgrade

Hyvä theme companion · Hyvä Checkout companion

Requirements

  • Magento 2.4.4 – 2.4.9 (Open Source / Commerce)
  • PHP 8.1, 8.2, 8.3, 8.4, or 8.5 — match your Magento version's PHP support matrix
  • MySQL 8.0+ / MariaDB 10.6+

Legal disclaimer

This module is provided AS-IS, without warranty. It is a technical implementation of the workflow described in Article 11a of Directive 2011/83/EU; it is not legal advice and has not been reviewed by EU consumer-law counsel.

The merchant is solely responsible for verifying that this implementation satisfies their jurisdiction's specific consumer-protection requirements, reviewing bundled translations for accuracy in their target markets, and adapting Article 16 exclusion presets to their actual catalogue.

Streaming and SaaS subscriptions — out of scope

This module's Art. 16(m) waiver flow is for one-time digital content — extensions, ebooks, courses, software licences, downloadable templates. It is not for ongoing digital services (streaming, SaaS subscriptions), where the waiver may not remove the withdrawal right — a digital-content vs digital-service distinction now before the CJEU in Case C-234/25. For subscription cancellations and pro-rata refunds, use your billing platform's own cancellation flow.

Full disclaimer and merchant compliance checklist

Digital-content waiver on API / headless orders

The Art. 16(m) waiver record is created only from a genuine storefront confirmation (the customer ticking both consent boxes). By default, digital-content orders placed through the REST/GraphQL API are blocked unless a genuine consent record exists for each digital item (the same protection the storefront enforces). If your headless integration collects the consent itself, record it through the waiver-event mechanism and the order will pass; or set Stores → Configuration → MageMe Extensions → EU Withdrawal → Digital Waiver → Enforce Waiver on API / Headless Orders to No to opt out of API enforcement (the storefront waiver step is unaffected either way).

Custom Magento development

Need a feature an extension doesn't cover, or a bespoke Magento build? MageMe takes on custom extension development and integration work.

Custom Magento development

Support

Note: This GitHub Issues tracker is for free tier bug reports and feature requests only.

Changelog

See CHANGELOG.md. This module follows Semantic Versioning.

License

All tiers are governed by the MageMe End User License Agreement (mageme.com/license). The base module is distributed free of charge; Pro requires a paid commercial licence.

MageMe builds Magento 2 and Adobe Commerce extensions for B2B merchants — form building, quoting, catalog control, and EU compliance.

mageme/module-eu-withdrawal 适用场景与选型建议

mageme/module-eu-withdrawal 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2.16k 次下载、GitHub Stars 达 17, 最近一次更新时间为 2026 年 06 月 01 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「magento2」 「withdrawal」 「gdpr」 「consumer-protection」 「eu-compliance」 「art-11a」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 mageme/module-eu-withdrawal 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 mageme/module-eu-withdrawal 我们能提供哪些服务?
定制开发 / 二次开发

基于 mageme/module-eu-withdrawal 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 2.16k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 17
  • 点击次数: 34
  • 依赖项目数: 2
  • 推荐数: 0

GitHub 信息

  • Stars: 17
  • Watchers: 1
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: proprietary
  • 更新时间: 2026-06-01