Skip to content
Hem / Integrationer / Supabase + Stripe
Supabase
+
Stripe

Integrera Supabase + Stripe

Supabase och Stripe bildar en kraftfull kombination i no-code-ekosystemet. App Studio har konfigurerat den här integrationen för dussintals kunder, här är vår kompletta guide för att sätta upp den snabbt och korrekt.

Varför Supabase + Stripe?

Alla SaaS-produkter behöver ett faktureringssystem, och Stripe är branschstandarden. Supabase edge functions (Deno-runtime) är den idealiska platsen att hosta Stripes webhook-hanterare och skapare av betalningssessioner, de körs nära er databas, har tillgång till er service role-nyckel och driftsätts på sekunder. Resultatet är ett faktureringssystem där Stripe är sanningskällan för betalningar och Supabase är sanningskällan för er appdata, hållna synkade via webhooks.

Konfigurera integrationen

Skapa en customers-tabell i Supabase som lagrar stripe_customer_id kopplat till auth.users. Skapa en subscriptions-tabell som lagrar Stripe-prenumerations-ID, status, plan och current_period_end. Skriv två Supabase edge functions: en som skapar en Stripe Checkout-session (anropad från er frontend) och en som hanterar Stripe-webhooks (registrerad i Stripe-dashboarden). Webhook-funktionen uppdaterar er subscriptions-tabell baserat på händelserna checkout.session.completed, customer.subscription.updated och customer.subscription.deleted.

Genomdriva plangränser med RLS

När prenumerationsstatusen finns i Supabase kan ni genomdriva plangränser på databasnivå med row-level security-policyer. En policy kan tillåta INSERT i projects-tabellen endast om användarens prenumerationsplan är “pro” eller högre. Det betyder att plangenomdrivningen sker automatiskt, ingen frontend-kod krävs, och det finns inget sätt för en användare att kringgå den. Kombinera med PostgreSQL-funktioner för att räkna användning och kontrollera gränser.

Verkliga användningsfall

App Studios standarduppsättning för SaaS-fakturering: Supabase auth + en WeWeb- eller Next.js-frontend + Stripe Checkout för planval + en Supabase edge function som webhook-hanterare + RLS-genomdrivna funktionsflaggor. Den här stacken hanterar allt från gratis provperioder till årliga enterprise-avtal. Kundportalen (genererad av Stripe, länkad från er app) hanterar planändringar, uppdatering av betalningsmetod och uppsägningar helt utan egen kod.

Vanliga fallgropar

Registrera er Supabase edge function-webhook-URL i Stripes dashboard och verifiera webhook-signaturen med Stripes constructEvent() för att förhindra förfalskade förfrågningar. Webhooks kan komma i fel ordning, kontrollera alltid händelsens created-tidsstämpel mot det som finns i er databas innan ni uppdaterar. Använd Stripes idempotensnycklar vid skapande av betalningssessioner för att förhindra dubbla debiteringar om er frontend gör om anropet. Testa hela faktureringslivscykeln (prenumerera → uppgradera → säg upp → återprenumerera) i Stripes testläge innan lansering.

Användningsfall
  • SaaS subscription billing
  • Plan tier enforcement
  • Usage-based billing
  • Free trial management
  • Enterprise contracts

Behöver du hjälp med den här integrationen?

App Studio konfigurerar dessa integrationer åt dig. Kostnadsfri offert inom 48h.

Få en offert →