Betalinger (Stripe + MobilePay + Flatpay)

MobilePay-recurring, Stripe og kontant-håndtering.

Sidst opdateret 2026-05-18·Admin-stier: /admin/indstillinger/betalinger/admin/settings/stripe-setup/admin/settings/mobilepay-setup

Tre understøttede betalingsudbydere: Stripe (kort), MobilePay (Vipps MobilePay) og Flatpay (kort, lave gebyrer, backend Frisbii/Reepay). Kortdata gemmes aldrig hos os. Stripe/MobilePay har selvbetjenings-wizards; Flatpay forbindes med guidet flow direkte på betalinger-siden.

Kernebegreber

  • Stripe-wizard: /admin/settings/stripe-setup — 5 trin med checklist + webhook-verifikator. Nøgler indsættes i trin 2, live-nøgler i trin 5 — man behøver aldrig forlade guiden. Webhook oprettes AUTOMATISK når nøglerne forbindes; trin 3 har "Genopret webhook automatisk"- og "Verificér webhook"-knapper (manuel dashboard-opsætning findes kun som avanceret fallback bag en fold-ud).
  • MobilePay-wizard: /admin/settings/mobilepay-setup — 4 trin (kun selvbetjening, IKKE "kontakt support"). Indtastningsfelter er indbygget: alle 4 nøgler indsættes i trin 2, produktionsnøgler i trin 4 — man behøver aldrig forlade guiden.
  • Forbind/afbryd: /admin/indstillinger/betalinger viser status for alle tre udbydere + on/off-toggle og "Forbind"/"Afbryd"-knap. For Stripe og Flatpay vises gemte nøgler (maskeret) + webhook-status med ret/rotér-knapper — ingen afbrydelse nødvendig for at rette.
  • Test vs. Live: systemet detekterer automatisk og viser badge. Test-nøgler trækker ingen rigtige penge.

Stripe — opsætning

  • Konto: opret på dashboard.stripe.com/register. Verificer email. Vælg Danmark som land.
  • API-nøgler: Stripe Dashboard → Developers → API keys → Publishable (pk_test_/pk_live_) + Secret (sk_test_/sk_live_). Begge SKAL være fra samme mode. Brug IKKE restricted keys — fuld adgang kræves. Klik "Reveal test key" for at se Secret.
  • Webhook (AUTOMATISK): oprettes af systemet i din Stripe-konto når nøglerne forbindes — inkl. alle events og signing secret. Ingen manuel opsætning i Stripe Dashboard nødvendig. Mangler/fejler forbindelsen: "Ret webhook" → "Genopret webhook automatisk" (manuel whsec_-indtastning findes under "Avanceret").
  • 8 events (tilmeldes automatisk): checkout.session.completed, checkout.session.expired, charge.refunded, charge.dispute.created, customer.subscription.updated, customer.subscription.deleted, invoice.payment_succeeded, invoice.payment_failed.
  • Webhook-status (betalinger-kortet): "aktiv (seneste hændelse …)" / "oprettet — afventer første hændelse" / "FEJLER — signaturen matcher ikke" (rødt banner; fix = Genopret) / "manuel opsætning (ældre)" / "mangler".
  • Test: book et hold med kort 4242 4242 4242 4242, vilkårlig fremtidig udløbsdato + 3-cifret CVC. Afvist-test: 4000 0000 0000 0002.
  • Verificér webhook: wizardens "Verificér webhook"-knap kalder Stripe og tjekker endpoint, status, events, api-version og signing secret.
  • Live: udfyld virksomhedsoplysninger (CVR, bank, adresse, ID) i dashboard.stripe.com/account/onboarding → hent live-nøgler (slå "Test mode" FRA) → udskift API-nøglerne i indstillinger — webhook genoprettes AUTOMATISK i live-mode når nøglerne gemmes.

MobilePay — opsætning (Vipps MobilePay)

  • Valuta + brand: samme integration for DKK og NOK. DKK-studio → kunden ser "MobilePay"; NOK-studio → kunden ser "Vipps". Samme konto og wizard, kun navn+valuta skifter; betalingsknappen følger studiets valuta automatisk. EUR og andre valutaer kan IKKE bruge MobilePay/Vipps → brug Stripe.
  • Konto: opret erhvervskonto i Vipps MobilePay Portal. Kræver CVR, virksomhedsadresse, bank, kontaktperson med MitID. Godkendelse 1-3 hverdage. Bed samtidig om produktet "Gentagende betalinger" (Recurring) — uden det kan studiet ALDRIG sælge abonnementer via MobilePay, kun engangsbetalinger. Mange studier der før kun brugte MobilePay til løse betalinger har det ikke som standard. Wizarden tjekker automatisk for dette ved forbindelse og viser en advarsel (blokerer ikke).
  • Vigtige valg under onboarding: "Jeg gør det selv, eller får mine egne udviklere til at gøre det for mig" + "På vores egen hjemmeside".
  • Hvis MobilePay spørger om integrator: "Vi er selv ansvarlige for integrationen og integrerer direkte mod MobilePays API."
  • 4 påkrævede nøgler: Client ID, Client Secret, Subscription Key (Ocp-Apim-Subscription-Key), Merchant Serial Number (MSN).
  • Hvor: Portal → "Utvikler"/"Developer" → API-nøgler. Vælg Test-miljø først.
  • Test: download "Vipps MT" (Merchant Test) fra App Store/Google Play. Test-nummer: +47 99999999.
  • Live: verificer kontostatus i portalen → hent produktionsnøgler (samme sted, men "Production"-miljø) → udskift i indstillinger.

Sådan gør du

  • Start opsætning: /admin/indstillinger/betalinger → "Forbind Stripe" eller "Forbind MobilePay" → wizardens trin følges.
  • Slå udbyder til/fra: samme side → toggle ud for udbyder (kræver forbindelse er aktiv).
  • Ret Stripe-nøgler uden at afbryde: /admin/indstillinger/betalinger → "Ret API-nøgler" → indtast nye nøgler → "Validér nøgler" → "Gem nøgler". Skiftes til en anden Stripe-konto/mode genoprettes webhook-forbindelsen automatisk på den nye konto.
  • Genopret/ret webhook uden at røre nøglerne: /admin/indstillinger/betalinger → "Ret webhook"/"Opsæt webhook" → "Genopret webhook automatisk" (opretter nyt endpoint m. alle events + rydder gamle op; sikkert at køre igen). Manuel whsec_-indtastning under "Avanceret". Mangler webhook: gult banner; signaturfejl: rødt banner.
  • Ret MobilePay-nøgler uden at afbryde: /admin/indstillinger/betalinger → "Ret nøgler" ved MobilePay → indtast alle 4 nøgler → "Validér" → "Gem nøgler". Gemte nøgler vises maskeret (MSN i fuld længde). MobilePay-webhook registreres automatisk — intet manuelt webhook-trin.
  • Afbryd: samme side → "Afbryd"-knap (kræver bekræftelse).
  • Skift fra test til live: kør wizardens sidste trin (Stripe trin 5 / MobilePay trin 4) — kun nye nøgler; Stripe-webhook genoprettes automatisk i live-mode.

Flatpay — opsætning

  • Konto: opret på flatpay.com. 0,99% gebyr per transaktion; Dankort, Visa, Mastercard.
  • Forbind: /admin/indstillinger/betalinger → "Forbind Flatpay" → guidet flow på siden (ingen separat wizard).
  • API-nøgle: Frisbii/Reepay-dashboard → Indstillinger → API-nøgler → privat nøgle (priv_...) → "Validér nøgle".
  • Webhook secret: Frisbii-dashboard → Indstillinger → Webhooks → kopiér secret → indsæt → "Forbind Flatpay". Webhook-URL + påkrævede events registreres AUTOMATISK; eksisterende webhooks fjernes ikke.
  • Efter forbindelse: kortet viser konto, maskeret API-nøgle og webhook-status + toggle "Aktiveret" + "Ret nøgler" + "Rotér webhook-secret" + "Afbryd forbindelse".
  • Rotér webhook-secret: indsæt nyt secret — det gamle accepteres fortsat i en overgangsperiode (ingen webhooks tabes).
  • Dækning: drop-in, klippekort, abonnementer, gavekort, behandlinger, PT-pakker, sæsonhold (KUN engangsbetaling — rater er Stripe-only).

Regler / grænser

  • Understøttede udbydere: Stripe, MobilePay og Flatpay — ikke PayPal, Klarna, bankoverførsel som primær udbyder.
  • Flatpay kræver valuta DKK. Flatpay-betalte medlemskaber kan IKKE sættes på pause (opsig i stedet).
  • Flatpay kan IKKE udskyde/reducere første abonnements-træk: planer med fremtidig opstartsdato skjuler Flatpay-valget automatisk; rabatkode eller fast plads-venteliste ved abonnementskøb afvises med henvisning til kort/MobilePay (intet halvt køb oprettes, rabatkoden forbruges ikke).
  • Flatpay-abonnementer kører via Frisbii og koster ca. 349 kr./md. + ca. 1% oven i kortraten; Flatpays engangsbetalinger har INGEN månedsafgift. Til rene medlemskaber er Stripe typisk billigere (ingen fast månedsafgift). Flatpay yder ingen support på opsætning af abonnementsprodukter i Frisbii og kræver privatlivspolitik + handelsbetingelser på hjemmesiden (det gør Stripe også).
  • Test- og live-nøgler MÅ IKKE blandes (begge skal være samme mode).
  • Stripe-Secret/MobilePay-Secret gemmes krypteret server-side; Secret deles aldrig med browser.
  • Webhook-URL skal være HTTPS — fungerer ikke på localhost uden tunnel.
  • Stripe-konto i Danmark: udbetaling til dansk bankkonto med reg.nr. + kontonummer.

FAQ

  • Hvilke nøgler skal jeg bruge til Stripe? — Publishable (pk_test_/pk_live_) + Secret (sk_test_/sk_live_) — IKKE restricted keys. Begge fra samme mode.
  • Er det OK at dele Stripe Secret key med jer? — Ja. Vi gemmer den krypteret og bruger den kun til at oprette betalinger/abonnementer for dit studio. Samme model som alle andre bookingsystemer.
  • Skal jeg selv opsætte webhook / finde Signing secret? — Nej, oprettes automatisk (inkl. secret) når nøglerne forbindes. Kun ved avanceret manuel opsætning: Stripe Dashboard → Webhooks → din destination → "Signing secret" (whsec_...).
  • Hvilke events lytter webhook på? — Alle 8 tilmeldes automatisk: checkout.session.completed, checkout.session.expired, charge.refunded, charge.dispute.created, customer.subscription.updated, customer.subscription.deleted, invoice.payment_succeeded, invoice.payment_failed.
  • Kan jeg teste uden rigtige penge? — Ja. Stripe: brug test-nøgler + kort 4242 4242 4242 4242. MobilePay: brug Vipps MT test-app + nummer +47 99999999.
  • Skal jeg lave nyt webhook når jeg går live? — Nej — udskift kun API-nøglerne; webhook-forbindelsen genoprettes automatisk i live-mode.
  • Hvor lang tid tager MobilePay-godkendelse? — Typisk 1-3 hverdage efter du har indsendt CVR + bank + ID.
  • Hvad svarer jeg når MobilePay spørger om integrator? — "Vi er selv ansvarlige for integrationen og integrerer direkte mod MobilePays API."
  • Hvad sker der hvis nøglerne er forkerte? — Toggle kan ikke slås til, og forsøg på betaling fejler. Tjek at du har kopieret hele nøglen og at test/live matcher.
  • Jeg har gemt nøgler men mangler webhook — skal jeg starte forfra? — Nej. /admin/indstillinger/betalinger → gult banner/"Opsæt webhook" → "Genopret webhook automatisk" (ét klik). Nøglerne røres ikke.
  • Hvor er min webhook-URL? — Vises efter oprettelse i trin 3-panelet og på succes-skærmen. Format: https://<slug>.holdstyring.dk/api/payments/webhooks/stripe?t=<slug> (oprettes automatisk i samme mode som nøglerne).
  • Kan jeg se de nøgler jeg har gemt? — Ja, maskeret (fx pk_test_••••Xy9Z) på /admin/indstillinger/betalinger og i wizard-formularerne. Hele Secret key vises aldrig igen.
  • Skal jeg kontakte support for MobilePay? — Nej, brug wizarden /admin/settings/mobilepay-setup — den er selvbetjening hele vejen.
  • Jeg kan forbinde MobilePay, men kunder kan ikke tegne abonnement? — Jeres MobilePay-aftale mangler produktet "Gentagende betalinger". "Validér nøgler" tjekker KUN at nøglerne virker, ikke om Recurring er bestilt — wizarden tjekker det automatisk ved forbindelse og viser en advarsel hvis det mangler, men kontoen forbindes alligevel (engangsbetalinger virker fint). Bestil produktet hos MobilePay/Vipps på jeres handelsnummer.
  • Hvilke nøgler skal jeg bruge til Flatpay? — Privat API-nøgle (priv_..., Frisbii-dashboard → Indstillinger → API-nøgler) + webhook secret (Indstillinger → Webhooks). Webhook-URL/events registreres automatisk.
  • Hvad kan betales via Flatpay? — Drop-in, klippekort, abonnementer, gavekort, behandlinger, PT-pakker og sæsonhold med engangsbetaling (sæson-rater kræver Stripe). Flatpay-abonnementer kan ikke sættes på pause endnu.
  • Koster Flatpay ekstra for abonnementer? — Ja: løbende abonnementer kører via Frisbii og koster ca. 349 kr./md. + ca. 1% oven i kortraten (engangsbetalinger har ingen månedsafgift). Til rene medlemskaber er Stripe typisk billigere, da der ikke er nogen fast månedsafgift.
  • Hvorfor kan kunden ikke vælge Flatpay til abonnement m. rabatkode/senere opstart? — Flatpay kan ikke udskyde/reducere første træk. Fremtidig opstartsdato → Flatpay-valget skjules; rabatkode/venteliste → afvises med henvisning til kort/MobilePay. Intet halvt køb; rabatkode forbruges ikke.

Klar til at prøve det selv?

14 dages gratis prøveperiode. Ingen kreditkort. Ingen binding.

Opret dit studio

Eller se alle 53 guides