Ü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.Dieses Boilerplate verwendet Astro 5 mit TypeScript, Tailwind CSS 4 und dem
@dodopayments/astro Adapter.Funktionen
- Schnelle Einrichtung - Starten Sie in weniger als 5 Minuten
- Zahlungsintegration - Vorgekonfigurierter Checkout-Prozess mit
@dodopayments/astro - Moderne UI - Saubere, dunkel gestaltete Preisgestaltungseite mit Tailwind CSS
- Webhook-Handler - Bereitstehender Webhook-Endpunkt für Zahlungsereignisse
- Kundenportal - Ein-Klick-Abonnementverwaltung
- TypeScript - Vollständig typisiert mit minimalen, fokussierten Typen
- Vorab ausgefüllter Checkout - Demonstriert das Übergeben von Kundendaten zur Verbesserung der Benutzererfahrung
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
1
Repository klonen
2
Abhängigkeiten installieren
3
API-Anmeldeinformationen abrufen
Melden Sie sich bei Dodo Payments an und holen Sie sich Ihre Anmeldeinformationen vom Dashboard:
- API-Schlüssel: Dashboard → Entwickler → API-Schlüssel
- Webhook-Schlüssel: Dashboard → Entwickler → Webhooks
4
Umgebungsvariablen konfigurieren
Erstellen Sie eine Aktualisieren Sie die Werte mit Ihren Dodo Payments-Anmeldeinformationen:
.env Datei im Stammverzeichnis:5
Ihre Produkte hinzufügen
Aktualisieren Sie
src/lib/products.ts mit Ihren tatsächlichen Produkt-IDs von Dodo Payments:6
Entwicklungsserver starten
Projektstruktur
Anpassung
Produktinformationen aktualisieren
Bearbeiten Siesrc/lib/products.ts, um Folgendes zu ändern:
- Produkt-IDs (aus Ihrem Dodo-Dashboard)
- Preise
- Funktionen
- Beschreibungen
Kundendaten vorab ausfüllen
Insrc/components/ProductCard.astro ersetzen Sie die fest codierten Werte durch Ihre tatsächlichen Benutzerdaten:
Kundenportal aktualisieren
Insrc/components/Header.astro ersetzen Sie die fest codierte Kunden-ID durch die tatsächliche Kunden-ID aus Ihrem Authentifizierungssystem oder Ihrer Datenbank:
Webhook-Ereignisse
Das Boilerplate demonstriert die Verarbeitung von Webhook-Ereignissen insrc/pages/api/webhook.ts:
onSubscriptionActive- Ausgelöst, wenn ein Abonnement aktiv wirdonSubscriptionCancelled- Ausgelöst, wenn ein Abonnement storniert 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 Umgebungsvariable in Ihrer Produktionsumgebung zu aktualisieren, um mit dem Webhook-Signaturschlüssel für Ihre bereitgestellte Domain übereinzustimmen.
Fehlersuche
Modul nicht gefunden oder Build-Fehler
Modul nicht gefunden oder Build-Fehler
Löschen Sie
node_modules und installieren Sie die Abhängigkeiten neu:Checkout-Weiterleitung schlägt fehl
Checkout-Weiterleitung schlägt fehl
Häufige Ursachen:
- Ungültige Produkt-ID - überprüfen Sie, ob sie in Ihrem Dodo-Dashboard vorhanden ist
- Falscher API-Schlüssel oder Umgebungsparameter in
.env - Überprüfen Sie die Browser-Konsole und das Terminal auf Fehler
Webhooks empfangen keine Ereignisse
Webhooks empfangen keine Ereignisse
Für lokale Tests verwenden Sie ngrok, um Ihren Server freizugeben:Aktualisieren Sie die Webhook-URL in Ihrem Dodo-Dashboard auf die ngrok-URL. Denken Sie daran, Ihre .env-Datei mit dem richtigen Webhook-Verifizierungsschlüssel zu aktualisieren.
Kundenportal-Link funktioniert nicht
Kundenportal-Link funktioniert nicht
Ersetzen Sie die fest codierte
CUSTOMER_ID in src/components/Header.astro durch eine tatsächliche Kunden-ID aus Ihrem Dodo-Dashboard.Oder integrieren Sie Ihr Authentifizierungssystem und Ihre Datenbank, um die Kunden-ID dynamisch abzurufen.Build schlägt mit Adapterfehler fehl
Build schlägt mit Adapterfehler fehl
Dieses Boilerplate verwendet statische Ausgaben mit bedarfsorientierten API-Routen. Sie müssen einen Adapter für die Bereitstellung installieren:Siehe Astros Bereitstellungsanleitungen 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