Skip to main content

Checkout Handler

Integrera Dodo Payments checkout i din Bun-server.

Customer Portal

Låt kunder hantera prenumerationer och uppgifter.

Webhooks

Ta emot och bearbeta 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:
Lägg aldrig in din .env-fil eller hemligheter i versionshanteringen.

Exempel på route handlers

Alla exempel förutsätter att du använder Buns inbyggda server med Bun.serve().
Använd denna handler för att integrera Dodo Payments checkout i din Bun-server. Stöder statiska (GET), dynamiska (POST) och sessionsbaserade (POST) betalningsflöden.

Checkout route handler

Dodo Payments stöder tre typer av betalningsflöden för att integrera betalningar på din webbplats. Denna adaptor stöder alla typer av betalningsflöden.
  • Statiska betalningslänkar: Omedelbart delbara URL:er för snabb betalningsinsamling utan kod.
  • Dynamiska betalningslänkar: Skapa betalningslänkar programmatiskt med anpassade uppgifter via API 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_xxx).
integer
Antalet av produkten.
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 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 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 minimipris.
boolean
Visa rabattfält.
string
Alla frågeparametrar 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:

Svarsformat

Dynamisk checkout returnerar ett JSON-svar med checkout-URL:en:
Checkout-sessioner 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.Mer information och en fullständig lista över fält som stöds finns i Checkout Sessions Integration Guide.

Svarsformat

Checkout-sessioner 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 Bun-serverapplikation.

Frågeparametrar

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

Webhook route handler

  • Metod: Endast POST-begäranden 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 6 augusti 2026