Übersicht
Das Astro Minimal Boilerplate bietet einen sofort einsatzbereiten Ausgangspunkt für die Integration von Dodo Payments in Ihre Astro-Anwendung. Diese Vorlage umfasst Checkout-Sitzungen, Webhook-Verarbeitung, Kundenportal und moderne UI-Komponenten, um Ihnen zu helfen, schnell Zahlungen zu akzeptieren.Dieser Boilerplate verwendet Astro 5 mit TypeScript, Tailwind CSS 4 und den
@dodopayments/astro Adapter.Funktionen
- Schnellstart – In weniger als 5 Minuten loslegen
- Zahlungsintegration – Vorgefertigter Checkout-Flow mit
@dodopayments/astro - Moderne UI – Saubere, dunkel gehaltene Preisseite mit Tailwind CSS
- Webhook-Handler – Bereit einsatzfähiger Webhook-Endpunkt für Zahlungsevents
- Kundenportal – Abonnementverwaltung mit einem Klick
- TypeScript – Vollständig typisiert mit minimalen, fokussierten Typen
- Vorbefüllter Checkout – Zeigt, wie Kundendaten übergeben werden, um die Nutzererfahrung zu verbessern
Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:- Node.js LTS-Version (erforderlich für Astro 5)
- Dodo Payments-Konto (um API- und Webhook-Keys vom Dashboard abzurufen)
Schnellstart
Get API Credentials
Registriere dich bei Dodo Payments und hole dir deine Zugangsdaten vom Dashboard:
- API-Schlüssel: Dashboard → Entwickler → API-Schlüssel
- Webhook-Schlüssel: Dashboard → Entwickler → Webhooks
Configure Environment Variables
Erstelle eine Datei Aktualisieren Sie die Werte mit Ihren Dodo Payments-Anmeldeinformationen:
.env im Stammverzeichnis:Add Your Products
Aktualisiere
src/lib/products.ts mit deinen tatsächlichen Produkt-IDs von Dodo Payments:Run the Development Server
Projektstruktur
Anpassung
Produktinformationen aktualisieren
Bearbeitesrc/lib/products.ts, um folgende Elemente anzupassen:
- Produkt-IDs (aus deinem Dodo-Dashboard)
- Preise
- Funktionen
- Beschreibungen
Kundendaten vorab ausfüllen
Ersetze insrc/components/ProductCard.astro die fest codierten Werte durch deine tatsächlichen Benutzerdaten:
Kundenportal aktualisieren
Ersetze insrc/components/Header.astro die fest codierte Kunden-ID durch die tatsächliche Kunden-ID aus deinem Auth-System oder deiner Datenbank:
Webhook-Ereignisse
Die Boilerplate zeigt, wie man Webhook-Events insrc/pages/api/webhook.ts verarbeitet:
onSubscriptionActive– Wird ausgelöst, wenn ein Abonnement aktiv wirdonSubscriptionCancelled– Wird ausgelöst, wenn ein Abonnement gekündigt wird
Bereitstellung
Dieses Boilerplate verwendet statische Ausgaben mit bedarfsorientierter Rendering für API-Routen. Sie müssen einen Adapter für Ihre Bereitstellungsplattform installieren:| Plattform | Anleitung |
|---|---|
| Vercel | Bereitstellung auf Vercel |
| Netlify | Bereitstellung auf Netlify |
| Cloudflare | Bereitstellung auf Cloudflare |
Webhook-URL aktualisieren
Nach der Bereitstellung aktualisieren Sie Ihre Webhook-URL im Dodo Payments Dashboard:DODO_PAYMENTS_WEBHOOK_KEY in deiner Produktionsumgebung zu aktualisieren, damit sie mit dem Webhook-Signatur-Schlüssel deiner bereitgestellten Domain übereinstimmt.
Fehlersuche
Module not found or build errors
Module not found or build errors
Lösche
node_modules und installiere die Abhängigkeiten neu:Checkout redirect fails
Checkout redirect fails
Häufige Ursachen:
- Ungültige Produkt-ID – überprüfe, ob sie in deinem Dodo-Dashboard existiert
- Falscher API-Schlüssel oder Umgebungseinstellung in
.env - Prüfe die Browser-Konsole und das Terminal auf Fehler
Webhooks not receiving events
Webhooks not receiving events
Für lokale Tests verwende ngrok, um deinen Server freizugeben:Aktualisiere die Webhook-URL in deinem Dodo-Dashboard auf die ngrok-URL. Denk daran, deine .env-Datei mit dem korrekten Webhook-Verifizierungsschlüssel zu aktualisieren.
Customer portal link doesn't work
Customer portal link doesn't work
Ersetze die fest codierte
CUSTOMER_ID in src/components/Header.astro durch eine tatsächliche Kunden-ID aus deinem Dodo-Dashboard.Oder integriere dein Authentifizierungssystem und deine Datenbank, um die Kunden-ID dynamisch abzurufen.Build fails with adapter error
Build fails with adapter error
Diese Boilerplate verwendet statische Ausgaben mit bedarfsorientierten API-Routen. Du musst einen Adapter für die Bereitstellung installieren:Siehe Astro’s Deployment-Guides für Details.
Erfahren Sie mehr
Unterstützung
Brauchen Sie Hilfe mit dem Boilerplate?- Treten Sie unserer Discord-Community für Fragen und Diskussionen bei
- Überprüfen Sie das GitHub-Repository auf Probleme und Updates
- Kontaktieren Sie unser Support-Team für Unterstützung