Installation
Lägg till SDK till ditt projekt med Cargo:Cargo.toml:
SDK kräver Rust 1.75 eller senare och använder moderna async-funktioner för optimal prestanda.
Snabbstart
Klienten läser din API-nyckel från miljövariabelnDODO_PAYMENTS_API_KEY som standard. Initiera klienten och skapa din första checkout-session:
Kärnfunktioner
Async First
Byggd på Tokio och reqwest med
async/await-stöd genomgåendeStrong Typing
Starkt typade requests och svar för säkerhet vid kompilering
Auto-Pagination
Strömma varje objekt över sidor eller gå vidare en sida i taget
Configurable
Konfigurera miljöer, tidsgränser och bas-URL:er per klient
Konfiguration
Miljövariabler
Som standard läserClient::from_env() din API-nyckel från miljövariabeln DODO_PAYMENTS_API_KEY och använder standard bas-URL om du inte ställer in DODO_PAYMENTS_BASE_URL:
Client::new returnerar en Result, så avkoda den med ? inuti en funktion som returnerar dodopayments::Result:
Miljöer
Standard bas-URL är
https://live.dodopayments.com. Välj en annan miljö med enum Environment istället för att hårdkoda URL:er:
DODO_PAYMENTS_API_KEY via from_env() när du riktar in dig på en icke-standardmiljö, åsidosätt den i konfigurationen:
Tidsgränser
Standard tidsgräns för förfrågningar är 30 sekunder. Åsidosätt det per klient:Vanliga operationer
Skapa en Checkout-session
Generera en checkout-session:Hantera Kunder
Skapa och hämta kundinformation:Hantera Prenumerationer
Skapa och hantera återkommande prenumerationer:billing kräver minst den tvåbokstavs ISO country-koden. customer är en CustomerRequest-enum — skicka AttachExisting för en befintlig kund eller New för en ny. Beloppsfält som product_price anges i valutans minsta valör (t.ex. 2500 = 25,00 USD).Förbrukningsbaserad fakturering
Inhämta användningshändelser
Spåra anpassade händelser:Lista användningshändelser
Paginering
List-endpoints returnerar en typad sida varsitems-fält innehåller den aktuella resultatsidan. Strömma varje objekt över alla sidor med into_stream:
get_next_page:
Felhantering
Varje metod returnerar endodopayments::Result<T>. Fel representeras av dodopayments::Error-enumtypen. Matcha mot den för att hantera API-fel separat från transportfel:
Ej dokumenterade endpoints
Om du vill anropa en endpoint som ännu inte är tillgänglig som en typad metod använder du byggverktyget på låg nivå,request, som tillämpar autentisering och bas-URL:
Resurser
GitHub Repository
Visa källkoden och bidra
Crates.io
Visa det publicerade paketet och versionerna
API Reference
Komplett API-dokumentation
Discord Community
Få hjälp och få kontakt med utvecklare
Support
Behöver du hjälp med Rust SDK?- Discord: Gå med i vår communityserver för support i realtid
- E-post: Kontakta oss på support@dodopayments.com
- GitHub: Skapa ett ärende i repositoryt