Checkout Handler
Integriere den Dodo Payments Checkout in deine Hono-App.
Customer Portal
Erlaube Kund:innen, Abonnements und Daten zu verwalten.
Webhooks
Empfange und verarbeite Dodo Payments Webhook-Ereignisse.
Installation
1
Install the package
Führe im Stammverzeichnis deines Projekts den folgenden Befehl aus:
2
Set up environment variables
Erstelle eine
.env-Datei im Stammverzeichnis deines Projekts:Beispiele für Routenhandler
Alle Beispiele setzen voraus, dass du den Hono App Router verwendest.
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
Verwende diesen Handler, um den Dodo Payments Checkout in deine Hono-App zu integrieren. Unterstützt statische (GET), dynamische (POST) und Session-(POST-)Flows.
Checkout Route Handler
Dodo Payments unterstützt drei Arten von Zahlungsflüssen zur Integration von Zahlungen auf deiner Website; dieser Adapter unterstützt alle Typen.
- Statische Zahlungslinks: Sofort teilbare URLs zur schnellen, codefreien Zahlungsabwicklung.
- Dynamische Zahlungslinks: Programmgesteuertes Erstellen von Zahlungslinks mit benutzerdefinierten Details über die API oder SDKs.
- Checkout-Sitzungen: Erstellen Sie sichere, anpassbare Checkout-Erlebnisse mit vorkonfigurierten Produktkörben und Kundendetails.
Static Checkout (GET)
Static Checkout (GET)
Unterstützte Abfrageparameter
string
erforderlich
Produktkennzeichen (z. B.
?productId=pdt_nZuwz45WAs64n3l07zpQR).integer
Menge des Produkts.
string
Vollständiger Name der Kund:innen.
string
Vorname der Kund:innen.
string
Nachname der Kund:innen.
string
E-Mail-Adresse der Kund:innen.
string
Land der Kund:innen.
string
Adresszeile der Kund:innen.
string
Stadt der Kund:innen.
string
Bundesland/Provinz der Kund:innen.
string
Postleitzahl der Kund:innen.
boolean
Deaktiviere das Feld für den vollständigen Namen.
boolean
Deaktiviere das Feld für den Vornamen.
boolean
Deaktiviere das Feld für den Nachnamen.
boolean
Deaktiviere das E-Mail-Feld.
boolean
Deaktiviere das Länderfeld.
boolean
Deaktiviere das Feld für die Adresszeile.
boolean
Deaktiviere das Stadtfeld.
boolean
Deaktiviere das Feld für das Bundesland.
boolean
Deaktiviere das Feld für die Postleitzahl.
string
Gib die Zahlungswährung an (z. B.
USD).boolean
Währungsselector anzeigen.
integer
Gib den Zahlungsbetrag an (z. B.
1000 für 10,00 $).boolean
Rabattfelder anzeigen.
string
Jeder Abfrageparameter, der mit
metadata_ beginnt, wird als Metadaten übergeben.Antwortformat
Der statische Checkout gibt eine JSON-Antwort mit der Checkout-URL zurück:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- Sende Parameter als JSON-Body in einer POST-Anfrage.
- Unterstützt sowohl Einmalzahlungen als auch wiederkehrende Zahlungen.
- Eine vollständige Liste der unterstützten POST-Body-Felder findest du unter:
Antwortformat
Der dynamische Checkout gibt eine JSON-Antwort mit der Checkout-URL zurück:Checkout Sessions (POST)
Checkout Sessions (POST)
Checkout-Sessions bieten ein sichereres, gehostetes Checkout-Erlebnis, das den vollständigen Zahlungsfluss sowohl für Einmalkäufe als auch Abonnements mit voller Anpassungskontrolle übernimmt.Siehe Checkout Sessions Integration Guide für weitere Details und eine vollständige Liste der unterstützten Felder.
Antwortformat
Checkout-Sitzungen geben eine JSON-Antwort mit der Checkout-URL zurück:Customer Portal Route Handler
Der Customer Portal Route Handler ermöglicht es Ihnen, das Dodo Payments Kundenportal nahtlos in Ihre Hono-Anwendung zu integrieren.Abfrageparameter
string
erforderlich
Die Kunden-ID für die Portal-Session (z. B.
?customer_id=cus_123).boolean
Ist der Wert auf
true gesetzt, wird dem Kunden eine E-Mail mit dem Portal-Link zugesendet.Webhook Route Handler
- Methode: Nur POST-Anfragen werden unterstützt. Andere Methoden geben 405 zurück.
- Signaturverifizierung: Überprüft die Webhook-Signatur mit
webhookKey. Gibt 401 zurück, wenn die Verifizierung fehlschlägt. - Payload-Validierung: Wird mit Zod validiert. Gibt 400 für ungültige Payloads zurück.
- Fehlerbehandlung:
- 401: Ungültige Signatur
- 400: Ungültige Payload
- 500: Interner Fehler während der Verifizierung
- Ereignisweiterleitung: Ruft den entsprechenden Ereignishandler basierend auf dem Payload-Typ auf.