Zum Hauptinhalt springen

Neue Funktionen

1. Produktbezogene Analysen

Jedes Produkt verfügt jetzt über ein dediziertes Analyse-Dashboard. Navigiere zu Produkte > [Produkt auswählen], um detaillierte Metriken für dieses Produkt aufzurufen, organisiert auf fünf Registerkarten:
Product-Level Analytics
RegisterkarteWas du erhältst
ÜbersichtGesamterlös, Anzahl erfolgreicher Zahlungen, 30-Tage-Umsatztrenddiagramm (täglich oder kumulativ) und eine nach Filter durchsuchbare Transaktionstabelle
KundenTop 3 Kunden nach Ausgaben mit Podestansicht sowie eine vollständige Kundenaufgeschlüsselungstabelle
RetentionKundenabwanderungsrate, Umsatzabwanderungsrate und ein Doppel-Linien-Trenddiagramm zur Mustererkennung
AbonnentenAlle Abonnements für das Produkt mit Status, Startdatum, nächstem Abrechnungsdatum und Betrag
MRRMonatsrecurring-Revenue-Stapelbalkendiagramm mit Aufschlüsselung in New MRR, Expansion MRR, Churned MRR und Net New MRR
Alle Registerkarten unterstützen einen Datumsfilter (Standard: Alle Zeiten), damit du jeden Zeitraum analysieren kannst.
Verwende den Retention-Tab, um Produkte mit hoher Abwanderung frühzeitig zu erkennen, und den MRR-Tab, um zu verfolgen, ob Expansion-Umsatz den Churn-Umsatz Monat für Monat übersteigt.
Mehr erfahren: Product-Level Analytics

2. Verifi RDR-Unterstützung für Dodo Payments

Dodo Payments unterstützt jetzt Visa Rapid Dispute Resolution (RDR) powered by Verifi – ein automatisiertes Streitvermeidungstool, das berechtigte Visa-Streitigkeiten bevor sie zu formellen Rückbuchungen werden, löst. Wenn ein Karteninhaber eine Streitigkeit initiiert, fängt RDR sie ab und erstattet automatisch, wenn der Betrag unter deinem konfigurierten USD-Schwellenwert liegt. Warum es wichtig ist
VorteilAuswirkung
Niedrigere StreitquoteRDR-gelöste Streitigkeiten zählen nicht zur 0,9 %-Schwelle von Visa
Keine StreitgebührenVermeide nicht erstattungsfähige Gebühren von 15–25 $ pro Streitfall
Kein operativer AufwandKein Sammeln von Beweisen oder Fristen für Antworten
Besseres KundenerlebnisKarteninhaber erhalten sofortige Rückerstattungen
KontoschutzBleibe außerhalb von Visas Dispute Monitoring Program (VDMP)
Wenn du Visas Streitquote von 0,9 % oder 100 Streitfälle/Monat überschreitest, wird das VDMP ausgelöst – mit steigenden Strafen bis zu über 50.000 $ pro Monat. RDR hilft dir, deutlich unter diesen Schwellen zu bleiben.
So funktioniert es
  1. Der Karteninhaber initiiert eine Streitigkeit bei seiner Bank
  2. RDR fängt die Streitigkeit ab, bevor sie zu einer formellen Rückbuchung wird
  3. Liegt der Transaktionsbetrag unter oder gleich deinem Schwellenwert, wird automatisch eine Rückerstattung ausgelöst
  4. Die Streitigkeit wird sofort gelöst und zählt nicht zu deiner Streitquote
Transaktionen, die automatisch über RDR rückerstattet werden, erscheinen in deinem Dodo Payments-Dashboard als verlorene Streitigkeit. Das ist erwartungsgemäß – die Rückerstattung wurde automatisch ausgelöst, um eine formelle Rückbuchung zu verhindern.
Um Verifi RDR in deinem Konto zu aktivieren, kontaktiere support@dodopayments.com, um deinen Schwellenwert zu konfigurieren. Mehr erfahren: Visa RDR Documentation

3. DodoPayments CLI

Wir stellen die brandneue DodoPayments CLI (dodopayments-cli) vor – verwalte deinen gesamten Dodo Payments-Workflow direkt über das Terminal. Speziell für Entwickler, die die Kommandozeile bevorzugen, ermöglicht die CLI das Verwalten von Produkten, Zahlungen, Kunden, Rabatten, Lizenzen, Add-ons, Rückerstattungen und sogar das Erstellen von Checkout-Sessions, ohne den Editor zu verlassen. Installation
npm install -g dodopayments-cli
Wichtige Befehle
BefehlBeschreibung
dodo loginAuthentifiziere dich mit deinem API-Schlüssel (öffnet den Browser)
dodo products listListe aller Produkte
dodo payments listListe aller Zahlungen
dodo customers createErstelle einen neuen Kunden
dodo checkout newErstelle eine Checkout-Session und erhalte die URL
dodo wh listenLeite Live-Test-Webhooks per WebSocket an deinen lokalen Server weiter
dodo wh triggerSende gefälschte Webhook-Payloads an beliebige Endpunkte
Webhook-Tests Die CLI umfasst zwei leistungsstarke Tools für die Entwicklung:
  • dodo wh listen – Öffnet eine WebSocket-Verbindung, um Echtzeit-Test-Webhooks an deinen lokalen Server weiterzuleiten und dabei original Header für die Signaturprüfung zu bewahren
  • dodo wh trigger – Sendet interaktive, gefälschte Webhook-Payloads und unterstützt alle 22 Ereignistypen zu Abonnements, Zahlungen, Rückerstattungen, Streitigkeiten und Lizenzen
Der Webhook-Listener funktioniert nur mit einem API-Schlüssel im Testmodus. Stelle sicher, dass du vor der Nutzung von dodo wh listen mit einem Testmodus-Schlüssel eingeloggt bist.
Mehr erfahren: CLI Documentation

4. Neues UI für das Kundenportal

Das Kundenportal wurde komplett neu gestaltet und verfügt nun über eine saubere, einheitliche Oberfläche. Das überarbeitete Portal bietet eine linke Seitenleiste zur Navigation und organisierte Abschnitte, sodass Kunden ein intuitiveres Self-Service-Erlebnis genießen.
Customer Portal UI Revamp
Was ist neu
AbschnittFunktionen
Aktive AbonnementsAlle aktiven Abonnements mit Plan-Details, Abrechnungszyklus und nächstem Zahlungsdatum anzeigen
ZahlungsmethodenGespeicherte Zahlungsmethoden verwalten, neue Karten hinzufügen und Zahlungsinformationen aktualisieren
AbrechnungshistorieFrühere Rechnungen mit herunterladbaren PDF-Belegen einsehen
AbrechnungsinformationenName, E-Mail, Telefonnummer und Rechnungsadresse bearbeiten
AbonnementdetailsDetaillierte Abonnementinformationen mit Optionen zum Kündigen oder Planwechsel ansehen
PlanänderungenUpgrade oder Downgrade direkt über Produktkollektionen im Portal durchführen
Kunden können Zahlungsarten für aktive Abonnements aktualisieren oder Abonnements reaktivieren, die aufgrund fehlgeschlagener Zahlungen pausiert wurden – alles im überarbeiteten Portal.
Das neue Portal ist unter https://customer.dodopayments.com/login/{business_id} für den Live-Modus und https://test.customer.dodopayments.com/login/{business_id} für den Testmodus verfügbar.
Mehr erfahren: Customer Portal

5. Zahlungsmethode im Inline Checkout aktualisieren

Der Inline Checkout unterstützt nun Zahlungsmethodenaktualisierungen für Abonnements. Wenn ein Kunde seine Zahlungsmethode aktualisieren muss (für ein aktives Abonnement oder zur Reaktivierung eines pausierten Abonnements), kann der Ablauf direkt innerhalb deines Seitenlayouts über Inline Checkout gerendert werden – für ein nahtloses, eingebettetes Erlebnis. So funktioniert es
  1. Rufe die Update Payment Method API auf, um ein payment_link zu erhalten:
const response = await client.subscriptions.updatePaymentMethod('sub_123', {
  type: 'new',
  return_url: 'https://example.com/return'
});
  1. Verwende das zurückgegebene payment_link als checkoutUrl im Inline Checkout:
DodoPayments.Checkout.open({
  checkoutUrl: response.payment_link,
  elementId: "dodo-inline-checkout"
});
Der Inline-Frame rendert nur das Formular zur Erfassung der Zahlungsmethode, sodass Kunden neue Kartendaten eingeben oder gespeicherte Zahlungsmethoden auswählen können, ohne deine Seite zu verlassen.
Bei pausierten Abonnements erstellt der Ablauf zur Aktualisierung der Zahlungsmethode automatisch eine Abbuchung für offene Beträge. Überwache die payment.succeeded- und subscription.active-Webhooks, um die Reaktivierung zu bestätigen.
Mehr erfahren: Inline Checkout | Subscription Payment Method Updates

6. Steuernummer-Vorausfüllung für Checkout-Sessions

Du kannst jetzt die Steuernummer (z. B. Umsatzsteuernummer, GST-Nummer) beim Erstellen einer Checkout-Session mit dem Parameter tax_id vorausfüllen. Dies ist ideal für B2B-Transaktionen, bei denen du die Steuernummer des Kunden bereits kennst. Wird eine Steuernummer vorausgefüllt, ist das Feld im Checkout-Formular vorausgewählt und gesperrt.
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  customer: { customer_id: 'cus_123' },
  billing_address: { country: 'DE' },
  tax_id: 'DE999999999',
  return_url: 'https://yoursite.com/return'
});
Der Parameter tax_id erfordert ein billing_address mit mindestens einem Feld country. Die Steuerberechtigung wird in Echtzeit geprüft und Reverse-Charge-Regeln automatisch für qualifizierte B2B-Transaktionen angewendet.
Verwende das Feature-Flag allow_customer_editing_tax_id, um zu steuern, ob Kunden die vorausgefüllte Steuernummer ändern dürfen, und allow_tax_id, um die Sichtbarkeit der Steuernummer im Checkout umzuschalten. Mehr erfahren: Checkout Sessions - Tax ID | B2B Payments

7. Lizenzschlüssel und E-Mail in Return URL

Nachdem ein Kunde den Checkout abgeschlossen hat, fügt Dodo Payments nun license_key und email als Query-Parameter zur Weiterleitung return_url hinzu, zusätzlich zu den bereits vorhandenen Parametern payment_id/subscription_id und status. Angefügte Query-Parameter
ParameterTypBedingung
payment_idstringImmer vorhanden bei Einmalzahlungen
subscription_idstringImmer vorhanden bei Abo-Zahlungen
statusstringImmer vorhanden
license_keystringVorhanden, wenn das Produkt Lizenzschlüssel aktiviert hat (bei mehreren durch Komma getrennt)
emailstringVorhanden, wenn der Kunde eine E-Mail hinterlegt hat
Beispiel-Weiterleitungs-URLs:
# One-time payment with license key
https://yoursite.com/return?payment_id=pay_xxx&status=succeeded&license_key=LK-001&email=customer%40example.com

# Subscription with multiple license keys
https://yoursite.com/return?subscription_id=sub_xxx&status=active&license_key=LK-001,LK-002&email=customer%40example.com
Verwende diese Query-Parameter, um Lizenzschlüssel anzuzeigen oder sofort eine Bestätigungs-E-Mail auf deiner Rückkehrseite zu versenden, ohne einen zusätzlichen API-Aufruf tätigen zu müssen.
Mehr erfahren: Checkout Sessions - Return URL | License Keys in Return URL

8. Customer Email Update API

Der Endpoint PATCH /customers/{customer_id} unterstützt jetzt das programmatische Aktualisieren von Kunden-E-Mail-Adressen. Aktualisiere E-Mail zusammen mit Name, Telefonnummer und Metadaten in einem einzigen API-Aufruf.
await client.customers.update('cus_123', {
  email: 'newemail@example.com',
  name: 'Updated Name'
});
Aktualisierbare Felder
FeldTypBeschreibung
emailstring | nullE-Mail-Adresse des Kunden
namestring | nullAnzeigename des Kunden
phone_numberstring | nullTelefonnummer im internationalen Format
metadataobject | nullBenutzerdefinierte Schlüssel-Wert-Paare
Kunden-E-Mail-Updates sind ebenfalls über das Kundenportal (Self-Service), das Dashboard und die CLI über dodo customers update verfügbar.
Mehr erfahren: Customer Update API | Customer Management

9. Bun Adapter Veröffentlichung

Wir stellen @dodopayments/bun vor – einen dedizierten Framework-Adapter für den nativen Server von Bun (Bun.serve()). Integriere Checkout, Kundenportal und Webhooks mit Bun in nur wenigen Codezeilen. Installation
bun add @dodopayments/bun
Schnellstart
import { Checkout, CustomerPortal, Webhooks } from "@dodopayments/bun";

Bun.serve({
  routes: {
    "/api/checkout": Checkout({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      returnUrl: process.env.DODO_PAYMENTS_RETURN_URL!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/customer-portal": CustomerPortal({
      bearerToken: process.env.DODO_PAYMENTS_API_KEY!,
      environment: process.env.DODO_PAYMENTS_ENVIRONMENT!,
    }),
    "/api/webhooks": Webhooks({
      webhookKey: process.env.DODO_PAYMENTS_WEBHOOK_KEY!,
      onPaymentSucceeded: async (payload) => {
        console.log("Payment succeeded:", payload.data.payment_id);
      },
      onSubscriptionActive: async (payload) => {
        console.log("Subscription active:", payload.data.subscription_id);
      },
    }),
  },
});
Der Bun-Adapter unterstützt alle drei Checkout-Flows (statisch, dynamisch und Sitzungsbasiert), die Generierung von Kundenportal-Sitzungen sowie sichere Webhook-Verarbeitung mit Signaturüberprüfung und Zod-Validierung über 22 Ereignistypen hinweg.
Der Bun-Adapter ergänzt unsere Familie von 11 Framework-Adaptern, darunter Next.js, Nuxt, Express, Fastify, Hono, Astro, SvelteKit, Remix, TanStack Start, Better Auth und Convex.
Mehr erfahren: Bun Adapter Documentation | Framework Adapters Overview