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.
Ramverksadaptrar låter dig integrera Dodo Payments på mindre än 10 rader kod. De hanterar autentisering, begärningsparsing och svarformatering automatiskt.

Tillgängliga ramverksadaptrar

Välj den adapter som matchar ditt ramverk:

Kärnfunktioner

Alla ramverksadaptrar tillhandahåller dessa inbyggda funktioner:
FunktionBeskrivning
Kassa-hanterareStöd för statiska, dynamiska och sessionsbaserade kassaflöden
KundportalFörbyggd hanterare för prenumeration och fakturahantering
Webhook-hanterareSäker signaturverifiering med typade händelsehanterare
MiljökonfigurationEnkel installation via miljövariabler
Typ-säkerhetFullt TypeScript-stöd med typade payloads

Snabbstart

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

Installera adaptern

Använd din paketförvaltare för att installera den ramverkspecifika adaptern:
npm install @dodopayments/nextjs
2

Konfigurera miljövariabler

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"
Kom aldrig att begå din .env fil eller hemligheter till versionskontroll.
3

Skapa ruttshanterare

Ställ in dina kassa-, kundportal- och webhook-rutter:
// 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,
});
Du är nu redo att behandla betalningar! Besök de individuella adapter-sidorna för detaljerade guider och alla tillgängliga alternativ.

Kassatypflöden

Alla adaptrar stöder tre typer av kassaflöden:
Använd statisk kassa för enkla, delbara betalningslänkar. Skicka produkt-ID som en frågeparameter:
/api/checkout?productId=pdt_xxx&quantity=1
Stöder valfri kundförifyllning och anpassning via frågeparametrar.
Använd dynamisk kassa för att programmässigt 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 kassasessioner för den mest flexibla kassaupplevelsen 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 Kassasessioner Guide.

Webhook-händelsehantering

Alla adaptrar tillhandahåller typ-säker webhook-hantering med granulära händelseåterkopplingar:
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ärningar avvisas med lämpliga felkoder.

Välja rätt adapter

RamverkBäst förKörtid
Next.jsFullstack React-appar med App RouterNode.js, Edge
NuxtFullstack 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 serverändpunkterNode.js, Edge
SvelteKitFullstack Svelte-applikationerNode.js
RemixFullstack React med nästlad routingNode.js
TanStack StartTyp-säker fullstack ReactNode.js
Better AuthAppar som redan använder Better AuthOlika
ConvexAppar som använder Convex för backendConvex Runtime

Få hjälp

Behöver du hjälp med ramverksadaptrar?