Hoppa till huvudinnehåll
Dodo Payments tillhandahåller officiella ramverksadaptrar som förenklar betalningsintegration. Varje adapter är utformad för att fungera sömlöst med ditt ramverks konventioner och erbjuder kassa, kundportal och webhook-hantering direkt ur lådan.
Rammeradaptrar låter dig integrera Dodo Payments med under 10 kodrader. De hanterar autentisering, förfrågningsanalys och svarformatering automatiskt.

Tillgängliga ramverksadaptrar

Välj den adapter som matchar ditt ramverk:

Kärnfunktioner

Alla ramverksadaptrar erbjuder dessa inbyggda funktioner:
FunktionBeskrivning
Checkout HandlerStöd för statiska, dynamiska och sessionsbaserade checkout-flöden
Customer PortalFörbyggd handler för prenumerations- och faktureringshantering
Webhook HandlerSäker signaturverifiering med typade händelsehanterare
Environment ConfigEnkel konfiguration via miljövariabler
Type SafetyFullt TypeScript-stöd med typade payloads

Kom igång snabbt

Kom igång med valfri ramverksadapter i tre steg:
1

Install the Adaptor

Använd din pakethanterare för att installera den ramverksspecifika adaptern:
npm install @dodopayments/nextjs
2

Configure Environment Variables

Lägg till dina Dodo Payments-uppgifter i din miljö:
DODO_PAYMENTS_API_KEY=your-api-key
DODO_PAYMENTS_WEBHOOK_KEY=your-webhook-secret
DODO_PAYMENTS_RETURN_URL=https://yourdomain.com/checkout/success
DODO_PAYMENTS_ENVIRONMENT="test_mode" # or "live_mode"
Låt aldrig .env-filen eller hemligheter hamna i versionskontroll.
3

Create Route Handlers

Konfigurera dina checkout-, kundportal- och webhookrutter:
// app/checkout/route.ts
import { Checkout } from "@dodopayments/nextjs";

export const GET = Checkout({
  bearerToken: process.env.DODO_PAYMENTS_API_KEY,
  returnUrl: process.env.DODO_PAYMENTS_RETURN_URL,
  environment: process.env.DODO_PAYMENTS_ENVIRONMENT,
});
Nu är du redo att behandla betalningar! Besök de individuella adapteridorna för detaljerade guider och alla tillgängliga alternativ.

Typer av checkout-flöden

Alla adaptrar stöder tre typer av checkout-flöden:
Använd statisk checkout för enkla, delbara betalningslänkar. Skicka produkt-ID:t som en query-parameter:
/api/checkout?productId=pdt_xxx&quantity=1
Stöder valfri förifyllning av kund och anpassning via query-parametrar.
Använd dynamisk checkout för att programatiskt skapa betalningar med anpassade detaljer:
{
  "product_id": "pdt_xxx",
  "customer": {
    "email": "customer@example.com",
    "name": "John Doe"
  },
  "quantity": 1
}
Stöder både engångsbetalningar och prenumerationer.
Använd checkout-sessioner för den mest flexibla checkout-upplevelsen med kundvagnsstöd:
{
  "product_cart": [
    { "product_id": "pdt_xxx", "quantity": 1 },
    { "product_id": "pdt_yyy", "quantity": 2 }
  ],
  "customer": {
    "email": "customer@example.com"
  }
}
Läs mer i Checkout Sessions Guide.

Webhook-händelsehantering

Alla adaptrar erbjuder typsäker webhook-hantering med granulära händelseåteranrop:
Webhooks({
  webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY,
  onPayload: async (payload) => {
    // Handle any webhook event
  },
  onPaymentSucceeded: async (payload) => {
    // Handle successful payments
  },
  onSubscriptionActive: async (payload) => {
    // Handle new subscriptions
  },
  // ... 20+ event types supported
});
Alla webhook-hanterare verifierar automatiskt signaturer och validerar payloads med Zod-scheman. Ogiltiga begäran avvisas med lämpliga felkoder.

Välja rätt adapter

RamverkBäst förKörmiljö
Next.jsFull-stack React-appar med App RouterNode.js, Edge
NuxtFull-stack Vue.js-applikationerNode.js
ExpressREST-API:er och traditionella Node.js-apparNode.js
FastifyHögpresterande API:erNode.js
HonoEdge-distributioner, Cloudflare WorkersEdge, Node.js
AstroInnehållssajter med serverendpointsNode.js, Edge
SvelteKitFull-stack Svelte-applikationerNode.js
RemixFull-stack React med nästlad routingNode.js
TanStack StartTypsäker full-stack ReactNode.js
Better AuthAppar som redan använder Better AuthVarious
ConvexAppar som använder Convex för backendConvex Runtime
BunNative Bun-serverapplikationerBun

Få hjälp

Behöver du hjälp med ramverksadaptrar?