Skip to main content
Das Rust SDK bietet bequemen, asynchronen Zugriff auf die REST-API von Dodo Payments aus in Rust geschriebenen Anwendungen. Es bietet stark typisierte Anfragen und Antworten, eingebaute Paginierungshilfen sowie konfigurierbare Timeouts und Umgebungen.

Installation

Fügen Sie das SDK mit Cargo zu Ihrem Projekt hinzu:
Oder fügen Sie es manuell zu Ihrer Cargo.toml hinzu:
Das SDK erfordert Rust 1.75 oder höher und nutzt moderne asynchrone Funktionen für optimale Leistung.

Schnellstart

Der Client liest standardmäßig Ihren API-Schlüssel aus der Umgebungseinstellung DODO_PAYMENTS_API_KEY. Initialisieren Sie den Client und erstellen Sie Ihre erste Checkout-Sitzung:
Speichern Sie Ihre API-Schlüssel immer sicher mit Umgebungseinstellungen. Nie hartkodiert in Ihrem Quellcode.

Hauptmerkmale

Async First

Basierend auf Tokio und reqwest mit async/await Unterstützung

Strong Typing

Stark typisierte Anfragen und Antworten für Sicherheit zur Kompilierungszeit

Auto-Pagination

Streamen Sie jedes Element über Seiten hinweg oder vorwärts eine Seite nach der anderen

Configurable

Konfigurieren Sie Umgebungen, Timeouts und Basis-URLs pro Client

Konfiguration

Umgebungseinstellungen

Standardmäßig liest Client::from_env() Ihren API-Schlüssel aus der Umgebungseinstellung DODO_PAYMENTS_API_KEY und verwendet die Standard-Basis-URL, es sei denn, Sie setzen DODO_PAYMENTS_BASE_URL:
Sie können den Client auch explizit konfigurieren. Client::new gibt ein Result zurück, also verwenden Sie ? in einer Funktion, die dodopayments::Result zurückgibt:

Umgebungen

Die Standardbasis-URL ist https://live.dodopayments.com. Wählen Sie eine andere Umgebung mit der Environment-Enum anstelle von hartcodierten URLs:
Um den API-Schlüssel weiterhin aus DODO_PAYMENTS_API_KEY über from_env() zu lesen und gleichzeitig eine nicht standardmäßige Umgebung anzusprechen, überschreiben Sie ihn in der Konfiguration:

Timeouts

Das standardmäßige Anforderungszeitlimit beträgt 30 Sekunden. Überschreiben Sie es pro Client:

Allgemeine Operationen

Erstellen einer Checkout-Sitzung

Erstellen Sie eine Checkout-Sitzung:

Kunden verwalten

Erstellen und Abrufen von Kundendaten:

Abonnements verwalten

Erstellen und verwalten Sie wiederkehrende Abonnements:
POST /subscriptions (die subscriptions.create-Methode des SDK) ist veraltet. Sie funktioniert weiterhin für bestehende Integrationen, aber neue Integrationen sollten Abonnements über eine Checkout Session erstellen.
billing erfordert mindestens den zweistelligen ISO country-Code. customer ist ein CustomerRequest-Enum — übergib AttachExisting für einen bestehenden Kunden oder New für einen neuen Kunden. Betragsfelder wie product_price werden in der kleinsten Währungseinheit angegeben (z. B. entspricht 2500 = 25,00 $ USD).

Nutzungsbasierte Abrechnung

Nutzungsereignisse erfassen

Benutzerdefinierte Ereignisse erfassen:

Nutzungsereignisse auflisten

Paginierung

List-Endpunkte geben eine typisierte Seite zurück, deren Feld items die Ergebnisse der aktuellen Seite enthält. Streame mit into_stream jedes Element über alle Seiten hinweg:
Oder gehe mit get_next_page jeweils eine Seite weiter:

Fehlerbehandlung

Jede Methode gibt ein dodopayments::Result<T> zurück. Fehler werden durch das dodopayments::Error-Enum dargestellt. Werte darauf ab, um API-Fehler getrennt von Transportfehlern zu behandeln:

Nicht dokumentierte Endpunkte

Um einen Endpunkt aufzurufen, der noch nicht als typisierte Methode verfügbar ist, verwende den Low-Level-Builder request, der die Authentifizierung und die Basis-URL anwendet:

Ressourcen

GitHub Repository

Quellcode anzeigen und beitragen

Crates.io

Das veröffentlichte Crate und die Versionen anzeigen

API Reference

Vollständige API-Dokumentation

Discord Community

Hilfe erhalten und sich mit Entwicklern verbinden

Support

Brauchst du Hilfe mit dem Rust SDK?

Mitwirken

Wir freuen uns über Beiträge! Lies die Richtlinien für Beiträge, um loszulegen.
Zuletzt geändert am 17. August 2026