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:Exempel på route handlers
Alla exempel förutsätter att du använder Buns inbyggda server med
Bun.serve().- Checkout Handler
- Customer Portal Handler
- Webhook Handler
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.
Static Checkout (GET)
Static Checkout (GET)
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.Svarsformat
Statisk checkout returnerar ett JSON-svar med checkout-URL:en:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- Skicka parametrar som en JSON-body i en POST-begäran.
- Stöder både engångsbetalningar och återkommande betalningar.
- En fullständig lista över fält som stöds i POST-bodyn finns i:
Svarsformat
Dynamisk checkout returnerar ett JSON-svar med checkout-URL:en:Checkout Sessions (POST)
Checkout Sessions (POST)
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.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.