Guide · Custom & headless

Fortrydelsesknap til custom og headless shops 2026

Kort version

Fra 19. juni 2026 skal også custom-byggede og headless shops tilbyde en synlig digital fortrydelsesfunktion. Har du fuld kontrol over stakken, har du også fuldt ansvar, der er ingen platform-standard at læne sig op ad. Bygger du det selv, ejer du frist, lovtekster, varigt medium, revisionsspor og den årlige lovopdatering. Den hurtige vej er et script-tag i din app-shell; den dybe vej er direkte API-integration. Begge er platform-uafhængige.

↑ Komplet guide: Fortrydelsesret for webshops 2026

En del af de mest ambitiøse webshops i EU kører i dag headless eller på en helt custom stak, en React- eller Next.js-frontend mod et composable backend (commercetools, Saleor, Medusa) eller et hjemmebygget system. Fleksibiliteten er stor, men compliance er udelukkende dit eget ansvar. Fra 19. juni 2026 kræver loven en digital fortrydelsesfunktion, og der er ingen indbygget løsning.

Gælder kravet din custom shop?

Ja. Direktiv (EU) 2023/2673 ændrer forbrugerrettighedsdirektivet og kræver en elektronisk fortrydelsesfunktion for fjernsalgsaftaler indgået via en onlinegrænseflade, uanset teknologi. Det gælder lige så meget for en custom Next.js-shop som for Shopify, WooCommerce, PrestaShop eller Magento. Vil du have hele baggrunden: gælder den digitale fortrydelsesknap din webshop?

Hvad det koster at bygge det selv

Med fuld kontrol følger fuldt ansvar. Bygger du fortrydelsesfunktionen in-house, er det ikke bare en knap og en formular, det er fire dele, der hver især kan koste dig en klagesag, hvis de er forkerte:

1

Korrekt fristberegning

Du skal selv implementere, at fristen løber fra levering for varer og fra aftaleindgåelse for tjenester, inkl. flere varer i én ordre og 12-måneders-forlængelsen.

2

Faste lovtekster

Lovteksterne skal være korrekte og stabile, ikke noget en udvikler kan ændre ved et uheld i en deploy. Og de skal opdateres, hver gang lovgivningen ændrer sig.

3

Bevisbar kvittering + revisionsspor

Kunden skal have bekræftelse på et varigt medium, og du skal kunne bevise, at den blev leveret, med et revisionsspor der ikke kan ændres. Det er sværere end at sende en mail.

Vil du se, hvad det realistisk koster at bygge og vedligeholde selv, har vi regnet på det her: byg selv eller brug en færdig løsning?

En knap er den nemme del
Det svære er ikke at vise en knap, det er fristen, de faste lovtekster og den bevisbare kvittering bag den, plus at holde det opdateret hvert år. Det er præcis de dele, en klagesag handler om.
KravByg selv (in-house)Dedikeret funktion
Synlig knap på grænsefladenJaJa
Korrekt frist (levering vs. aftaleindgåelse)Dit ansvarJa
Faste, stabile lovteksterDit ansvarJa
Bevisbar kvittering på varigt mediumDit ansvarJa
RevisionssporDit ansvarJa
Holdes opdateret ved lovændringDit ansvarJa

Den rigtige vej: script-tag eller direkte API

UNDO er bygget platform-uafhængigt, så det virker på enhver frontend. Du har to veje afhængigt af din arkitektur.

Opret en konto

Test opsætningen i et testmiljø, inden du går live.

Vej A: script-tag i app-shellen

Den hurtigste vej: indsæt script-tagget ét sted i din app-shell, fx index.html, Next.js' app/layout eller _document:

<script src="https://cdn.undo.onl/v1/undo.js" data-shop="DIN_SHOP_ID" defer></script>

Vej B: direkte API-integration

Vil du bygge din egen UI, kan din backend kalde UNDOs API for at registrere fortrydelsen og modtage en signeret webhook tilbage, mens UNDO stadig leverer den korrekte frist, de faste lovtekster og kvitteringen på varigt medium. Du ejer udseendet; UNDO ejer compliance-laget.

// 1. Erklær, når forbrugeren starter en fortrydelse const res = await fetch("https://app.undo.onl/api/withdraw", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ shop_id: "DIN_SHOP_ID", order_id: order.id, consumer_email: order.email, order_date: order.placedAt, contract_type: "goods", // eller "services" delivery_date: order.deliveredAt, }), }); const { withdrawal_id, within_deadline } = await res.json(); // 2. Bekræft, når forbrugeren trykker Bekræft fortrydelse await fetch("https://app.undo.onl/api/confirm", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ withdrawal_id }), }); // UNDO sender kvitteringen på varigt medium + et signeret // webhook til din backend. Du behøver ikke selv bygge frist, // lovtekster eller revisionsspor.

Vælg placering, test og gå live

Vis fortrydelsesfunktionen på konto- og ordresiden, så den er synlig i hele fortrydelsesperioden. Kør en testfortrydelse, bekræft kvitteringen og revisionssporet, og aktivér produktion.

Headless? Begge veje virker
På en SPA eller PWA loader script-tagget på klienten som ethvert andet tredjepartsscript. Foretrækker du fuld kontrol over UI'et, så brug API-vejen, det er det samme compliance-lag bagved.
Er fortrydelsesfunktionen synlig og let at finde, ikke gemt i vilkårene?
Beregnes fristen fra levering (varer) eller aftaleindgåelse (tjenester)?
Får kunden en kvittering på varigt medium, du kan bevise blev leveret?
Er dine lovtekster korrekte, stabile og opdateres ved lovændring?
Er det lige så nemt at fortryde som at købe?

Gør din custom shop klar.

Et script-tag i app-shellen, eller direkte API-integration. Compliance-klar på 2 min, og se fortrydelsesknappen virke, inden du går live.

Ofte stillede spørgsmål

Jeg har en custom eller headless shop, gælder kravet stadig?
Ja. Direktiv (EU) 2023/2673 gælder uanset hvordan din shop er bygget. Sælger du varer, digitalt indhold eller tjenester online til forbrugere i EU via en onlinegrænseflade, er du som udgangspunkt omfattet, hvad enten frontenden er React, Next.js, Vue, en native app eller en helt custom stak.
Skal jeg bygge fortrydelsesfunktionen selv?
Du kan, men så ejer du selv fristberegningen, de faste lovtekster, den bevisbare kvittering på et varigt medium, revisionssporet og den årlige lovopdatering. Det er en reel udviklingsopgave, der skal vedligeholdes. UNDO leverer det hele færdigt via ét script-tag eller direkte mod API. Se afvejningen i vores guide om byg selv vs. færdig løsning.
Virker UNDO med React, Next.js, Vue og headless commerce?
Ja. Du kan indsætte script-tagget i din app-shell (fx index.html, _document eller layout), eller integrere direkte mod UNDOs API og signerede webhook fra din egen backend. Det er platform-uafhængigt og påvirker ikke din stak.
Hvornår gælder kravet?
Fra 19. juni 2026. Da en custom løsning ofte tager længst tid at bygge korrekt, er der ingen grund til at vente.

Kilder

Generel information, ikke juridisk rådgivning. Din konkrete situation bør bekræftes ved en juridisk gennemgang. UNDO er bygget til at opfylde kravene i Direktiv (EU) 2023/2673 som implementeret i dansk forbrugeraftalelov.