Directive 2023/2673 Ready

Digital withdrawal compliance engineered for modern ecommerce.

A structured, open-source infrastructure automating EU withdrawal regulations. Built for seamless integration with Shopify, Magento, WooCommerce, and custom headless stacks.

Native integrations available for

Shopify Magento WooCommerce PrestaShop Custom API

Enforcing EU Directive 2023/2673

The updated digital withdrawal compliance standard requires all EU-facing ecommerce platforms to provide a frictionless, immediate, and accessible withdrawal mechanism for digital goods and services.

SEC. 01

Legal & Regulatory Overview

Mandatory 14-day withdrawal right requiring a simple, easily accessible cancellation button and an immediate, automated confirmation to the consumer.

Enforced by: National Consumer Protection Authorities
SEC. 02

Implementation Scope

Applies to all B2C digital products, SaaS, and downloadable content sold to consumers within the European Union, regardless of merchant location.

A structured withdrawal compliance layer for ecommerce

We abstract the complexity of compliance into a predictable, robust plugin.

Always-visible withdrawal button

Ensures persistent accessibility across the customer journey, eliminating friction and ensuring immediate regulatory compliance for digital goods.

Editable withdrawal form & dynamic messaging

Fully customizable user communication that adapts based on the product type and local language requirements.

Automatic confirmation

Generates and dispatches legally required confirmation receipts via immutable logs within seconds of submission.

Embedded form interface

Injects directly into the storefront order history and account pages without redirecting the user.

State-based engine

Intelligently handles logic based on user actions, download status, and 14-day eligibility windows.

Open-source transparency

Clear logic and open auditability allowing your legal and engineering teams full confidence in the implementation.

See it in action

Native modules for major platforms, plus headless APIs.

{% raw %} {{ 'withdrawal-button.css' | asset_url | stylesheet_tag }}
{% endraw %}

Shopify App Block Integration

A true plug-and-play Theme App Extension. Zero liquid editing required. Automatically reads order context and user session directly from Shopify's native APIs.

Effort: Low (Plug & Play)
composer require compliance/withdrawal-handler:^2.0;\nbin/magento setup:upgrade;

Magento 2 Extension

Injects into the customer dashboard and interfaces directly with Magento's sales and credit memo engines via GraphQL.

Effort: Medium
add_action('woocommerce_view_order', 'inject_withdrawal_layer');

WooCommerce Plugin

WordPress hook-based architecture that cleanly intercepts order lifecycle events. Hooks into the native email system for confirmations.

Effort: Low
$this->registerHook('displayOrderDetail');

PrestaShop Module

Leverages native Symphony architecture within PrestaShop 8+ to handle state and display elements in the order history section.

Effort: Low
await compliance.withdraw({ orderId: '123', reason: 'OPT_OUT' });

Headless Node/Edge API

A framework-agnostic TS/JS client for Next.js, Nuxt, or custom stacks. Manage state server-side and render the UI however you choose.

Effort: High (Custom)

How digital withdrawal compliance works in practice

01

User initiates withdrawal

Customer clicks the persistent withdrawal button on their order page.

02

System validates eligibility

Engine checks the 14-day window and product type classification.

03

Request is submitted

Form payload is securely transmitted over TLS to the compliance backend.

04

Confirmation generated

Legally binding PDF/Email receipt is instantly generated and provided to the consumer.

05

Merchant notification

Webhook triggers ERP or store backend to halt service/revoke access.

06

Immutable compliance log

Transaction is stored with cryptographic hashes for audit readiness.

// INFRASTRUCTURE

Open-source compliance infrastructure for developers

We believe legal compliance should never be a black box. Our entire state engine and UI layer are open-source, allowing your engineering team to inspect, customize, and extend the capability.

  • 100% Open source repository
  • Framework agnostic core engine
  • Modular architecture & Webhook events
View Repository ->
import { WithdrawalEngine } from '@compliance/core';

const engine = new WithdrawalEngine({
  apiKey: process.env.COMPLIANCE_KEY,
  webhooks: {
    onWithdrawal: 'https://api.store.com/webhooks/withdraw'
  }
});

engine.validateEligibility(orderId).then(isEligible => {
  if(isEligible) engine.renderForm('#form-root');
});

TRUSTED BY TEAMS BEHIND 2000+ ECOMMERCE IMPLEMENTATIONS

Acme Corp
Global Store EU
TechRetail
SaaS Solutions
DigitalGoods Inc

Real-world implementation

B2C DIGITAL SERVICES

Seamless compliance integration

A major European streaming service decoupled their compliance layer, reducing technical debt and ensuring zero downtime during regulatory updates.

Result: 100% automated handling.
SaaS PLATFORMS

Scalable solution for growing brands

A rapidly expanding SaaS provider utilized the headless API to inject compliance workflows across three different frontend frameworks simultaneously.

Result: Unified compliance stack.

Beyond digital withdrawal compliance

Consumer Transparency

Build brand trust by making consumer rights visible, clear, and easy to exercise.

Operational Efficiency

Eliminate manual customer support tickets regarding cancellations and refunds.

Better Customer Experience

A frictionless exit process leaves a positive lasting impression on the buyer.

Frequently Asked Questions

Yes. The engine is specifically structured around the technical requirements of the EU Directive 2023/2673, adhering strictly to the obligations around visibility, explicit communication, and immediate confirmation mechanisms.

We provide turn-key plugins for Shopify, Magento, WooCommerce, and PrestaShop. For custom tech stacks (React, Vue, Node), our open-source APIs handle the compliance logic headlessly.

Absolutely. While the core legal requirements are locked to ensure compliance, the UI presentation, messaging, styling, and webhook triggers are fully customizable by your team.

The consumer immediately receives an uneditable confirmation receipt (PDF/Email). Concurrently, a webhook fires to your store's backend initiating the service revocation and refund process.

Yes, the plugin is specifically designed to handle the complexities of digital services, SaaS, and downloadable goods, which have unique stipulations under the new directive.

Implement EU withdrawal compliance today.

Open-source, highly scalable, and legally sound infrastructure.