Skip to main content

Checkout Handler

Integrera Dodo Payments checkout med statiska, dynamiska och sessionsbaserade flöden.

Customer Portal

Låt kunder hantera prenumerationer och uppgifter.

Webhooks

Ta emot och behandla Dodo Payments webhook-händelser.

Installation

1

Install the package

Kör följande kommando i projektets rotkatalog:
2

Set up environment variables

Skapa en .env-fil i projektets rotkatalog:
Checka aldrig in din .env-fil eller hemligheter i versionshanteringen.

Exempel på route handlers

Alla exempel förutsätter att du använder Next.js App Router.
Använd denna handler för att integrera Dodo Payments checkout i din Next.js-app. Stöder statiska (GET), dynamiska (POST) och checkout session-baserade (POST) betalningsflöden.

Checkout route handler

Dodo Payments stöder tre typer av betalningsflöden för att integrera betalningar på din webbplats; denna adapter stöder alla typer av betalningsflöden.
  • Statiska betalningslänkar: Omedelbart delningsbara URL:er för snabb betalningsinsamling utan kod.
  • Dynamiska betalningslänkar: Skapa programmatiskt betalningslänkar med anpassade uppgifter via API:t eller SDK:er.
  • Checkout-sessioner: Skapa säkra, anpassningsbara checkout-upplevelser med förkonfigurerade produktvarukorgar och kunduppgifter.

Parametrar som stöds

string
obligatorisk
Produktidentifierare (t.ex. ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
Produktens kvantitet.
string
Kundens fullständiga namn.
string
Kundens förnamn.
string
Kundens efternamn.
string
Kundens e-postadress.
string
Kundens land.
string
Kundens adressrad.
string
Kundens ort.
string
Kundens delstat/provins.
string
Kundens postnummer.
boolean
Inaktivera fältet för fullständigt namn.
boolean
Inaktivera fältet för förnamn.
boolean
Inaktivera fältet för efternamn.
boolean
Inaktivera e-postfältet.
boolean
Inaktivera landsfältet.
boolean
Inaktivera fältet för adressrad.
boolean
Inaktivera ortsfältet.
boolean
Inaktivera fältet för delstat.
boolean
Inaktivera fältet för postnummer.
string
Ange betalningsvalutan (t.ex. USD).
boolean
Visa valutaväljare.
number
Fastställer det debiterade beloppet i större valutaenheter (t.ex. 12.5 för 12,50 USD). Gäller endast Pay What You Want-produkter och ignoreras om beloppet understiger produktens lägsta pris.
boolean
Visa rabattfält.
string
Alla queryparametrar som börjar med metadata_ skickas som metadata.
Om productId saknas returnerar handlern ett 400-svar. Ogiltiga frågeparametrar resulterar också i ett 400-svar.

Svarsformat

Statisk checkout returnerar ett JSON-svar med checkout-URL:en:
Dynamic Checkout proxar de utfasade POST /payments- och POST /subscriptions-endpointarna. Det fortsätter att fungera för befintliga integrationer, men nya integrationer bör använda Checkout Sessions nedan.

Svarsformat

Dynamic checkout returnerar ett JSON-svar med checkout-URL:en:
Checkout sessions erbjuder en säkrare, hostad checkout-upplevelse som hanterar hela betalningsflödet för både engångsköp och prenumerationer, med full kontroll över anpassningen.Se integrationsguiden för Checkout Sessions för mer information och en fullständig lista över fält som stöds.

Svarsformat

Checkout sessions returnerar ett JSON-svar med checkout-URL:en:

Customer Portal Route Handler

Customer Portal Route Handler gör det möjligt att sömlöst integrera Dodo Payments kundportal i din Next.js-applikation.

Query Parameters

string
obligatorisk
Kund-ID:t för portalsessionen (t.ex. ?customer_id=cus_123).
boolean
Om detta anges som true skickas ett e-postmeddelande till kunden med portallänken.
Returnerar 400 om customer_id saknas.

Webhook Route Handler

  • Metod: Endast POST-förfrågningar stöds. Andra metoder returnerar 405.
  • Signaturverifiering: Verifierar webhook-signaturen med webhookKey. Returnerar 401 om verifieringen misslyckas.
  • Validering av payload: Valideras med Zod. Returnerar 400 för ogiltiga payloads.
  • Felhantering:
    • 401: Ogiltig signatur
    • 400: Ogiltig payload
    • 500: Internt fel under verifieringen
  • Event routing: Anropar rätt event handler baserat på payload-typen.

Webhook Event Handlers som stöds


Prompt för LLM

Senast ändrad 21 augusti 2026