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 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, derenitems-Feld die aktuelle Seite der Ergebnisse enthält. Streamen Sie jedes Element über alle Seiten mit into_stream:
get_next_page eine Seite nach der anderen weiter:
Fehlerbehandlung
Jede Methode gibt eindodopayments::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-Levelrequest-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?- Discord: Treten Sie unserem Community-Server für Echtzeitunterstützung bei
- E-Mail: Kontaktieren Sie uns unter support@dodopayments.com
- GitHub: Öffnen Sie ein Ticket im Repository