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åbokstaviga ISO-koden country. customer är en CustomerRequest enum — pass AttachExisting för en befintlig kund eller New för en ny. Beloppsfält som product_price är i den lägsta valutadenominationen (t.ex., 2500 = $25.00 USD).Användningsbaserad Fakturering
Samla in Användningshändelser
Spåra anpassade händelser:Lista Användningshändelser
Paginering
Listendpunkter returnerar en typad sida varsitems-fält håller den aktuella sidan av resultat. Strömma varje objekt över alla sidor med into_stream:
get_next_page:
Felhantering
Varje metod returnerar endodopayments::Result<T>. Fel representeras av enum dodopayments::Error. Matcha på den för att hantera API-fel åtskilt från transportfel:
Odokumenterade Endpunkter
För att anropa en endpunkt som ännu inte exponeras som en typad metod, använd den låg-nivårequest-byggaren, som tillämpar autentisering och bas-URL:
Resurser
GitHub Repository
Visa källkod och bidra
Crates.io
Visa det publicerade packet och versionerna
API Reference
Komplett API-dokumentation
Discord Community
Få hjälp och anslut med utvecklare
Support
Behöver du hjälp med Rust SDK?- Discord: Gå med i vår community server för support i realtid
- Email: Kontakta oss på support@dodopayments.com
- GitHub: Öppna ett ärende på repo