Installation
Fügen Sie das SDK mit Cargo zu Ihrem Projekt hinzu: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 UmgebungseinstellungDODO_PAYMENTS_API_KEY. Initialisieren Sie den Client und erstellen Sie Ihre erste Checkout-Sitzung:
Hauptmerkmale
Async First
Basierend auf Tokio und reqwest mit
async/await UnterstützungStrong 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 liestClient::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:
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:
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 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 Felditems die Ergebnisse der aktuellen Seite enthält. Streame mit into_stream jedes Element über alle Seiten hinweg:
get_next_page jeweils eine Seite weiter:
Fehlerbehandlung
Jede Methode gibt eindodopayments::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-Builderrequest, 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?- Discord: Tritt unserem Community-Server bei, um Support in Echtzeit zu erhalten
- E-Mail: Kontaktiere uns unter support@dodopayments.com
- GitHub: Erstelle ein Issue im Repository