Skip to main content

Checkout Handler

Integrera Dodo Payments kassa i din Fastify-app.

Customer Portal

Låt kunder hantera abonnemang och uppgifter.

Webhooks

Ta emot och bearbeta webhookhändelser från Dodo Payments.

Installation

1

Install the package

Kör följande kommando i projektroten:
2

Set up environment variables

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

Exempel på Routhanterare

Alla exempel förutsätter att du använder Fastify App Router.
Använd denna hanterare för att integrera Dodo Payments kassa i din Fastify-app. Stöder statiska (GET), dynamiska (POST) och sessionsbaserade (POST) betalflöden.

Kassa Routhanterare

Dodo Payments stöder tre typer av betalflöden för att integrera betalningar på din webbplats, och denna adaptrar stöder alla typer.
  • Statiska Betalningslänkar: Omedelbart delbara URL:er för snabb, kodfri insamling av betalningar.
  • Dynamiska Betalningslänkar: Programmatisk generering av betalningslänkar med anpassade detaljer med hjälp av API eller SDK:er.
  • Kassa Sessioner: Skapa säkra, anpassningsbara kassaupplevelser med förkonfigurerade produktvagnar och kunddetaljer.

Parametrar för query 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örnamnsfältet.
boolean
Inaktivera efternamnsfältet.
boolean
Inaktivera e-postfältet.
boolean
Inaktivera landsfältet.
boolean
Inaktivera adressradfältet.
boolean
Inaktivera ortsfältet.
boolean
Inaktivera delstatsfältet.
boolean
Inaktivera postnummerfältet.
string
Ange betalningsvalutan (t.ex. USD).
boolean
Visa valutaväljare.
number
Fastställer det debiterade beloppet i hela valutaenheter (t.ex. 12.5 för 12,50 USD). Endast för Pay What You Want-produkter och ignoreras om beloppet understiger produktens lägsta pris.
boolean
Visa rabattfält.
string
Alla query-parametrar som börjar med metadata_ skickas som metadata.
Om productId saknas returnerar hanteraren ett 400-svar. Ogiltiga frågeparametrar ger också ett 400-svar.

Svarsformat

Statisk kassa returnerar ett JSON-svar med kassa-URL:en:

Svarsformat

Dynamisk kassa returnerar ett JSON-svar med kassa-URL:en:
Checkout-sessioner erbjuder en säkrare, hostad kassaupplevelse som hanterar hela betalningsflödet för både engångsköp och prenumerationer med full kontroll över anpassningen.Se Kassa Sessioner Integrationsguide för mer information och en komplett lista över stödda fält.

Svarsformat

Kassa sessioner returnerar ett JSON-svar med kassa-URL:en:

Kundportal Routhanterare

Kundportal Routhanteraren gör det möjligt för dig att sömlöst integrera Dodo Payments kundportal i din Fastify-applikation.

Frågeparametrar

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

Webhook Routhanterare

  • Metod: Endast POST-förfrågningar stöds. Andra metoder returnerar 405.
  • Signaturverifiering: Verifierar webhook-signaturen med hjälp av webhookKey. Returnerar 401 om verifieringen misslyckas.
  • Payloadvalidering: Valideras med Zod. Returnerar 400 för ogiltiga payloads.
  • Felhantering:
    • 401: Ogiltig signatur
    • 400: Ogiltig payload
    • 500: Intern fel under verifiering
  • Händelse-routing: Anropar den lämpliga händelsehanteraren baserat på payload-typen.

Stödda webhookhändelsehanterare


Prompt för LLM

Senast ändrad 6 augusti 2026