Zum Hauptinhalt springen
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:
billing erfordert mindestens den zweibuchstabigen ISO country-Code. customer ist ein CustomerRequest-Enum — übergeben Sie AttachExisting für einen bestehenden Kunden oder New für einen neuen. Betragsfelder wie product_price sind in der kleinsten Währungseinheit (z.B., 2500 = $25,00 USD).

Nutzungsbasierte Abrechnung

Verbrauchsevents aufzeichnen

Benutzerdefinierte Events verfolgen:

Verbrauchsevents auflisten

Paginierung

Listenendpunkte geben eine typisierte Seite zurück, deren items-Feld die aktuelle Seite der Ergebnisse enthält. Streamen Sie jedes Element über alle Seiten mit into_stream:
Oder gehen Sie mit get_next_page eine Seite nach der anderen weiter:

Fehlerbehandlung

Jede Methode gibt ein dodopayments::Result<T> zurück. Fehler werden durch das dodopayments::Error-Enum dargestellt. Verwenden Sie Match, um API-Fehler unterschiedlich von Transportfehlern zu behandeln:

Undokumentierte Endpunkte

Um einen Endpunkt aufzurufen, der noch nicht als typisierte Methode vorhanden ist, verwenden Sie den Low-Level request-Builder, der Authentifizierung und die Basis-URL anwendet:

Ressourcen

GitHub Repository

Quellcode anzeigen und beitragen

Crates.io

Veröffentlichtes Crate und Versionen anzeigen

API Reference

Vollständige API-Dokumentation

Discord Community

Hilfe bekommen und mit Entwicklern verbinden

Unterstützung

Brauchen Sie Hilfe mit dem Rust SDK?

Beiträge

Beiträge sind willkommen! Überprüfen Sie die Richtlinien für Beiträge, um loszulegen.
Zuletzt geändert am 26. Juni 2026