Gå til indhold

Abonnementsbetaling i SaaS: Stripe, Paddle eller en dansk løsning?

Abonnementsbetaling i SaaS: Stripe, Paddle eller Frisbii? En sammenligning af EU-moms, fejlede betalinger, gebyrer og implementering med Laravel Cashier.

Af

Freelance full-stack udvikler

Udgivet
Læsetid
12 min.
Indhold i indlægget9

Til abonnementsbetaling i en SaaS vælger de fleste danske virksomheder mellem tre veje: Stripe, hvor du selv er sælger og styrer det hele, Paddle, der optræder som sælger over for dine kunder og tager sig af momsen, eller en dansk løsning som Frisbii (det tidligere Reepay). Min tommelfingerregel er at Stripe med Laravel Cashier er det bedste udgangspunkt når du sælger til virksomheder i Danmark og EU, mens Paddle sparer dig for mest arbejde hvis du sælger til forbrugere i mange lande.

Jeg skriver det her fra udviklerens side: hvad der er let og svært at bygge, og hvor det typisk går galt efter lanceringen. Det er ikke skatterådgivning, så få din revisor til at se på momsdelen.

Den korte version

Stripe, Paddle og Frisbii til abonnementsbetaling sammenlignet
StripePaddleFrisbii (dansk/europæisk)
Hvem sælger til kundenDigPaddle (merchant of record)Dig
Gebyr1,5-2,8 % + 1,80 kr. pr. EØS-kort plus 0,7 % for Billing5 % + 50 cent pr. transaktion, alt inklusiveFra 49 € om måneden + 0,95 % plus kortgebyrer
Moms i EUDu indberetter selv, Stripe Tax kan beregnePaddle beregner, opkræver og afregnerDu indberetter selv
Fejlede betalingerSmart Retries og mails, kan tilpassesAutomatiske forsøg i op til 30 dageEnkle rykkerplaner i alle planer, avanceret rykkerflow i Growth
Laravel-integrationOfficiel pakke: Laravel CashierOfficiel pakke: Cashier PaddleIngen officiel pakke, du bygger selv
BogføringMange små salg og udbetalinger der skal afstemmesTypisk én afregning fra Paddle pr. udbetalingIndbygget integration til e-conomic
Passer typisk tilB2B-SaaS i Danmark og EUSalg til forbrugere i mange landeEtablerede abonnementsforretninger i Europa

Tabellen viser standardpriserne på skrivetidspunktet, og alle tre forhandler med større kunder. Betaling er kun én af brikkerne i en SaaS. Er du tidligt i forløbet, giver min guide til at bygge en SaaS fra idé til betalende kunder overblikket over resten.

Det egentlige valg: hvem er sælger?

Forskellen mellem udbyderne handler mindre om teknik og mere om hvem der juridisk sælger dit produkt. Med Stripe og Frisbii er det dig. Du udsteder fakturaen, opkræver den rigtige moms og står med ansvaret når en kunde bestrider en betaling hos sin bank (en chargeback).

Med Paddle er det omvendt. Paddle er merchant of record, altså den officielle sælger. Din kunde køber reelt hos Paddle, som videresælger dit produkt, sender fakturaen og afregner momsen. Du får udbetalt beløbet minus gebyret. Derfor ser Paddles gebyr højt ud: det dækker administration du ellers selv skulle betale for.

Stripe har også en løsning hvor Stripe er merchant of record. Den hedder Managed Payments og koster 3,5 % oven i de almindelige gebyrer. Abonnementer skal oprettes via Stripe Checkout eller Payment Links, og løsningen er kun til fuldt automatiserede digitale produkter. Danske virksomheder kan bruge den.

Bagsiden ved en merchant of record er at kunden ser en anden virksomhed end din på fakturaen. Til et forbrugerprodukt betyder det sjældent noget. En dansk indkøbsafdeling kan til gengæld undre sig over at fakturaen kommer fra et udenlandsk selskab.

Moms: den del der afgør valget for mange

En dansk SaaS står typisk i fire situationer:

  1. Kunden er en dansk virksomhed: du opkræver 25 % dansk moms, uanset udbyder.
  2. Kunden er en virksomhed i et andet EU-land med gyldigt momsnummer: omvendt betalingspligt (reverse charge). Du fakturerer uden dansk moms, og kunden afregner selv momsen. Du skal validere momsnummeret og angive salget korrekt.
  3. Kunden er en forbruger i et andet EU-land: under 10.000 € om året i samlet grænseoverskridende salg til forbrugere i EU kan du opkræve dansk moms. Over grænsen skal du opkræve momsen i kundens land, typisk via EU's One Stop Shop-ordning (OSS) med en angivelse hvert kvartal.
  4. Kunden sidder uden for EU: så gælder andre regler, fx moms i Storbritannien og Norge eller sales tax i amerikanske stater.

Stripe Tax kan beregne den rigtige sats, indsamle momsnumre og holde øje med grænserne, men indberetningen er stadig din eller din revisors. Med Paddle forsvinder punkt 3 og 4 stort set fra dit bord, og punkt 2 håndterer Paddle når kunden indtaster et gyldigt momsnummer. Frisbii har momshåndtering for flere regioner i Growth-planen, men du er stadig sælger.

Sælger du næsten kun til danske og europæiske virksomheder, er punkt 1 og 2 det meste af dit salg, og så er gevinsten ved Paddle lille. Sælger du til forbrugere i hele verden, er den stor.

Hvad koster det? Et groft regnestykke

Antag 100 erhvervskunder der hver betaler 500 kr. om måneden med kort fra EØS, altså 50.000 kr. i månedlig omsætning. Jeg regner på beløb uden moms og med en kurs på 7,46 kr. pr. euro.

LøsningGebyrer pr. månedAndel af omsætningen
Stripe (Payments og Billing)ca. 1.300-1.950 kr.ca. 2,6-3,9 %
Stripe med Managed Paymentsca. 3.000-3.700 kr.ca. 6,1-7,4 %
Paddleca. 2.800 kr.ca. 5,6 %
Frisbii Starterca. 840 kr. plus kortgebyrerca. 1,7 % plus kortgebyrer
Frisbii Growth (med avanceret rykkerflow)ca. 2.700 kr. plus kortgebyrerca. 5,4 % plus kortgebyrer

Spændet for Stripe afhænger af hvor mange der betaler med premiumkort, som koster mere end almindelige kort. Tallene bygger på Stripes priser, Paddles priser og Frisbiis priser i oktober 2026. Kortgebyrerne hos Frisbii afhænger af kortet og din indløsningsaftale. Frisbiis egen gebyroversigt angiver fx 1,25 % for europæiske forbrugerkort og 2,75 % for firmakort, så med kortgebyrerne lagt oven i lander Starter tæt på eller over Stripe.

Stripe er typisk billigst i gebyrer, men du betaler med din egen eller revisorens tid til moms og afstemning. Paddles 5 % dækker kortgebyrer, moms, svindelbeskyttelse og support på betalinger, så sammenlign med hvad det ville koste dig at gøre selv. Frisbiis faste månedsgebyrer fylder meget i starten og mindre når omsætningen vokser, og Growth-planen har 12 måneders binding, betalt forud.

Ved lave priser skifter billedet, fordi Paddles 50 cent og Stripes 1,80 kr. fylder meget på et abonnement til 29 kr. om måneden. Tænk derfor valget sammen med de prismodeller du kan bruge i en SaaS.

Implementering i Laravel: Cashier eller selvbygget

Laravel har to officielle pakker til abonnementsbetaling: Laravel Cashier til Stripe og Cashier Paddle til Paddle. Begge giver din model en Billable-trait (et genbrugeligt stykke kode) og metoder til at oprette, skifte og opsige abonnementer. Det sparer dig for kode der er kedelig at skrive og let at lave forkert.

Stripe med Cashier

Det er den mest modne kombination. Du kan sende kunden til Stripe Checkout for at betale og til Stripes kundeportal for at skifte kort, hente fakturaer og opsige, så du slipper for at bygge de skærme selv. Stripe Tax slås til med én linje i Cashier, og med Stripes testure (test clocks) kan du spole tiden frem og se hvad der sker ved fornyelse og fejlede betalinger.

Paddle med Cashier Paddle

Betalingen foregår i Paddles checkout, som vises oven på eller indlejret i din side, og produkter og priser oprettes i Paddles kontrolpanel. Abonnementet bliver først oprettet i din database når Paddles webhook (en automatisk besked til din server) er modtaget, så din app skal kunne vente et øjeblik på at kunden bliver aktiv.

Danske løsninger uden Cashier

Til Frisbii og QuickPay findes der ingen officiel Laravel-pakke. Frisbii har sin egen abonnementsmotor, så du synkroniserer status via webhooks og bygger selv det Cashier ellers giver dig: adgang, opsigelse og planskift. QuickPay er først og fremmest en betalingsgateway, og her bygger du typisk endnu mere selv. Det er ekstra udvikling og test, som skal med i budgettet.

Det skal være på plads uanset valg

  1. Læg abonnementet på kunden, ikke på brugeren. I en B2B-SaaS er det virksomheden der betaler, og Cashier kan bruge en anden model end User, fx Team. Det hænger tæt sammen med multi-tenant arkitektur og måden du adskiller kundernes data på.
  2. Behandl webhooks som kritiske. Verificér signaturen, kør behandlingen i en kø, og sørg for at den samme besked kan komme to gange uden at noget går galt.
  3. Gem aldrig kortdata selv. Lad udbyderens betalingsvindue tage imod kortet, så du holder dig fri af de tungeste krav i PCI DSS (sikkerhedsstandarden for kortdata).
  4. Byg adgangskontrollen på din egen database, ikke på kald til udbyderens API ved hver sidevisning.
  5. Test hele forløbet i testmiljøet: oprettelse, planskift, fejlet betaling, nyt kort og opsigelse.

Overvejer du stadig framework og hosting, så se min anbefaling til en tech stack til SaaS.

Fejlede betalinger: abonnenter du mister i stilhed

Kort udløber, bliver spærret eller mangler dækning. Opdager ingen det, mister du en kunde der aldrig ønskede at opsige. Det kaldes ufrivillig churn, og det er en af de tekniske årsager til at SaaS-kunder opsiger som er nemmest at forebygge.

Alle tre udbydere forsøger betalingen igen automatisk:

  • Stripe anbefaler som standard Smart Retries med 8 forsøg inden for 2 uger. Bagefter kan abonnementet opsiges, markeres som ubetalt, stå som forfaldent eller sættes på pause. Du vælger selv.
  • Paddle forsøger automatisk igen i op til 30 dage, og med Paddle Retain kan der også sendes rykkermails. Lykkes det ikke, bliver abonnementet som standard opsagt.
  • Frisbii har enkle rykkerplaner i alle planer og rykkerflow i flere trin i Growth-planen.

Det udbyderen ikke afgør, er hvad kunden oplever i din app. I Cashier bliver et abonnement med en fejlet betaling markeret som past_due (forfaldent), og som standard regnes det ikke længere som aktivt. Kunden kan altså blive låst ude samme dag som kortet bliver afvist. Til B2B anbefaler jeg at bevare adgangen mens udbyderen forsøger igen, vise et banner med et link til at opdatere kortet og først lukke ned når forsøgene er brugt op. I Cashier slår du det til med keepPastDueSubscriptionsActive.

To ting er særlige for EU. Stærk kundegodkendelse (SCA) kan kræve at kunden bekræfter en fornyelse med 3D Secure, fx med MitID. Det sker sjældent, men din app skal reagere på det, og Cashier har en indbygget side hvor kunden kan bekræfte betalingen. Derudover kan Stripe hente nye kortoplysninger når et kort bliver udskiftet, så nogle betalinger aldrig når at fejle.

Hvornår hver løsning ikke passer

Vælg ikke Stripe hvis

  • du sælger til forbrugere i mange lande og ikke vil have noget med momsindberetning at gøre. Så er Paddle eller Stripes Managed Payments bedre end at håbe på at det går.
  • ingen i virksomheden har tid til at afstemme udbetalinger og holde øje med momsgrænser.

Vælg ikke Paddle hvis

  • dine priser er lave, så de faste 50 cent spiser en stor del af hver betaling.
  • du bygger en markedsplads hvor pengene skal fordeles mellem flere sælgere.
  • dit produkt i høj grad er rådgivning eller andre ydelser leveret af mennesker. Merchant of record-løsninger er bygget til digitale produkter.
  • dine erhvervskunder forventer en faktura med dit CVR-nummer, eller du sælger til det offentlige, hvor fakturaen typisk skal sendes elektronisk med EAN-nummer.

Vælg ikke en dansk løsning hvis

  • du bygger din MVP og kun har få kunder. Faste månedsgebyrer og binding passer dårligt til et produkt der stadig leder efter sine første betalende kunder.
  • du vil have mest muligt ud af Laravel Cashier og de mange vejledninger der findes til Stripe og Paddle.

En dansk løsning er til gengæld stærk når mange nordiske kunder vil betale med lokale metoder (QuickPay understøtter fx tilbagevendende betalinger med Vipps MobilePay), og når bogføringen skal flyde direkte ind i e-conomic. Det sidste kan du også løse med Stripe, men så skal du typisk selv bygge eller købe en integration med e-conomic eller Dinero.

Et ærligt forbehold: Sælger du et enkelt abonnement uden egen app, fx adgang til et lukket forum, kan Stripes Payment Links eller Paddles hostede checkout klare det uden en linje kode. Så har du ikke brug for en udvikler som mig til betalingsdelen.

Næste skridt

Valget bliver sjældent svært når du kender svarene på fem spørgsmål.

Før du vælger betalingsudbyder

  • Hvor stor en del af salget går til virksomheder, og hvor stor en del til forbrugere?
  • I hvilke lande sidder dine kunder i dag, og hvor vil du sælge om to år?
  • Hvad er din laveste pris pr. betaling?
  • Skal kunderne kunne betale med faktura, EAN-nummer eller MobilePay?
  • Hvem står for moms og bogføring, og hvad koster deres tid?

Peger svarene mod virksomheder i Danmark og EU, er Stripe med Cashier mit udgangspunkt. Peger de mod forbrugere i mange lande, så kig på Paddle eller Stripes Managed Payments. Jeg hjælper gerne med valget i et forprojekt til fast pris og bygger derefter betalingen ind. Se hvordan jeg arbejder med udvikling af SaaS-produkter.

Ofte stillede spørgsmål

Kan jeg skifte betalingsudbyder senere?

Ja, men det er besværligt. Kortoplysninger kan ikke eksporteres som en almindelig fil, så en flytning kræver typisk en sikker dataoverførsel mellem de to udbydere. Ellers skal kunderne indtaste deres kort igen, og nogle falder fra undervejs. Saml derfor betalingslogikken ét sted i koden, og vælg med de næste par år i tankerne.

Skal min SaaS kunne tage imod MobilePay?

Det afhænger af kunderne. Sælger du til danske forbrugere, forventer mange at kunne betale med MobilePay, og så er en løsning med tilbagevendende Vipps MobilePay-betalinger værd at overveje. Sælger du til virksomheder, betaler de typisk med kort eller faktura, og så er MobilePay sjældent afgørende. Start med kort, og tilføj MobilePay hvis kunderne efterspørger det.

Kan kunderne betale via faktura i stedet for kort?

Ja. Stripe Billing kan sende fakturaer med betalingsfrist i stedet for at trække et kort automatisk, hvilket større erhvervskunder ofte foretrækker. Paddle tilbyder fakturering som en ekstra ydelse. Sælger du til kommuner, regioner eller staten, skal fakturaen typisk sendes elektronisk med EAN-nummer. Det kræver som regel en kobling til dit regnskabsprogram, så afklar det før du vælger udbyder.

Skal betaling med allerede i min MVP?

Ja, hvis du vil vide om folk faktisk vil betale. Men hold det enkelt: én eller to planer, udbyderens egen checkout til betalingen og udbyderens kundeportal til kortskift og fakturaer. Gem rabatkoder, forbrugsafregning og egne betalingsskærme til du har betalende kunder der efterspørger dem.