Hoppa till huvudinnehåll

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.

Frågeparametrar

productId
string
obligatorisk
Produktidentifierare (t.ex. ?productId=pdt_nZuwz45WAs64n3l07zpQR).
quantity
integer
Antal av produkten.
fullName
string
Kundens fullständiga namn.
firstName
string
Kundens förnamn.
lastName
string
Kundens efternamn.
email
string
Kundens e-postadress.
country
string
Kundens land.
addressLine
string
Kundens adressrad.
city
string
Kundens stad.
state
string
Kundens delstat/provins.
zipCode
string
Kundens postnummer.
disableFullName
boolean
Inaktivera fältet för fullständigt namn.
disableFirstName
boolean
Inaktivera fältet för förnamn.
disableLastName
boolean
Inaktivera fältet för efternamn.
disableEmail
boolean
Inaktivera e-postfältet.
disableCountry
boolean
Inaktivera landfältet.
disableAddressLine
boolean
Inaktivera adressradsfältet.
disableCity
boolean
Inaktivera stadfältet.
disableState
boolean
Inaktivera fältet för delstat.
disableZipCode
boolean
Inaktivera fältet för postnummer.
paymentCurrency
string
Ange betalningsvalutan (t.ex. USD).
showCurrencySelector
boolean
Visa valutaväljaren.
paymentAmount
integer
Ange betalningsbeloppet (t.ex. 1000 för $10.00).
showDiscounts
boolean
Visa rabattfält.
metadata_*
string
Alla frågeparametrar som börjar med metadata_ kommer att 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

customer_id
string
obligatorisk
Kund-ID för portalsessionen (t.ex. ?customer_id=cus_123).
send_email
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 22 maj 2026