Checkout-Handler
Integrieren Sie den Dodo Payments Checkout mit statischen, dynamischen und Sitzungsabläufen.
Kundenportal
Ermöglichen Sie es Kunden, Abonnements und Details zu verwalten.
Webhooks
Empfangen und verarbeiten Sie Dodo Payments Webhook-Ereignisse.
Installation
1
Paket installieren
Führen Sie den folgenden Befehl im Stammverzeichnis Ihres Projekts aus:
2
Umgebungsvariablen einrichten
Erstellen Sie eine
.env-Datei im Stammverzeichnis Ihres Projekts:Routen-Handler-Beispiele
Alle Beispiele setzen voraus, dass Sie den Next.js App Router verwenden.
- Checkout-Handler
- Kundenportal-Handler
- Webhook-Handler
Verwenden Sie diesen Handler, um den Dodo Payments Checkout in Ihre Next.js-App zu integrieren. Unterstützt statische (GET), dynamische (POST) und Checkout-Sitzungs-(POST) Zahlungsabläufe.
Checkout-Routen-Handler
Dodo Payments unterstützt drei Arten von Zahlungsabläufen zur Integration von Zahlungen in Ihre Website, dieser Adapter unterstützt alle Arten von Zahlungsabläufen.
- 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.
Statischer Checkout (GET)
Statischer Checkout (GET)
Unterstützte Abfrageparameter
Produktidentifikator (z. B.
?productId=pdt_nZuwz45WAs64n3l07zpQR).Menge des Produkts.
Vollständiger Name des Kunden.
Vorname des Kunden.
Nachname des Kunden.
E-Mail-Adresse des Kunden.
Land des Kunden.
Adresse des Kunden.
Stadt des Kunden.
Bundesland/Provinz des Kunden.
Postleitzahl des Kunden.
Deaktivieren Sie das Feld für den vollständigen Namen.
Deaktivieren Sie das Feld für den Vornamen.
Deaktivieren Sie das Feld für den Nachnamen.
Deaktivieren Sie das Feld für die E-Mail.
Deaktivieren Sie das Feld für das Land.
Deaktivieren Sie das Feld für die Adresse.
Deaktivieren Sie das Feld für die Stadt.
Deaktivieren Sie das Feld für das Bundesland.
Deaktivieren Sie das Feld für die Postleitzahl.
Geben Sie die Zahlungswährung an (z. B.
USD).Währungswähler anzeigen.
Geben Sie den Zahlungsbetrag an (z. B.
1000 für 10,00 $).Rabattfelder anzeigen.
Jeder Abfrageparameter, der mit
metadata_ beginnt, wird als Metadaten übergeben.Antwortformat
Der statische Checkout gibt eine JSON-Antwort mit der Checkout-URL zurück:Dynamischer Checkout (POST)
Dynamischer Checkout (POST)
- Senden Sie Parameter als JSON-Body in einer POST-Anfrage.
- Unterstützt sowohl einmalige als auch wiederkehrende Zahlungen.
- Für eine vollständige Liste der unterstützten POST-Body-Felder siehe:
Antwortformat
Der dynamische Checkout gibt eine JSON-Antwort mit der Checkout-URL zurück:Checkout-Sitzungen (POST)
Checkout-Sitzungen (POST)
Checkout-Sitzungen bieten ein sichereres, gehostetes Checkout-Erlebnis, das den vollständigen Zahlungsablauf für sowohl einmalige Käufe als auch Abonnements mit vollständiger Anpassungskontrolle behandelt.Siehe Integrationsleitfaden für Checkout-Sitzungen 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:Kundenportal-Routen-Handler
Der Kundenportal-Routen-Handler ermöglicht es Ihnen, das Dodo Payments Kundenportal nahtlos in Ihre Next.js-Anwendung zu integrieren.Abfrageparameter
Die Kunden-ID für die Portal-Sitzung (z. B.
?customer_id=cus_123).Wenn auf
true gesetzt, wird eine E-Mail an den Kunden mit dem Portal-Link gesendet.Webhook-Routen-Handler
- Methode: Nur POST-Anfragen werden unterstützt. Andere Methoden geben 405 zurück.
- Signaturüberprüfung: Überprüft die Webhook-Signatur mit
webhookKey. Gibt 401 zurück, wenn die Überprüfung 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 Überprüfung
- Ereignisweiterleitung: Ruft den entsprechenden Ereignis-Handler basierend auf dem Payload-Typ auf.