Integrera Dodo Payments i dina Rust-applikationer med ett async-first, starkt typat SDK byggt på Tokio och reqwest
Rust SDK ger bekväm, async-first tillgång till Dodo Payments REST API från applikationer skrivna i Rust. Det erbjuder starkt typade requests och svar, inbyggda pagineringshjälpare och konfigurerbara tidsgränser och miljöer.
Som standard läser Client::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:
Du kan också konfigurera klienten explicit. Client::new returnerar en Result, så avkoda den med ? inuti en funktion som returnerar dodopayments::Result:
use dodopayments::{Client, ClientConfig};#[tokio::main]async fn main() -> dodopayments::Result<()> { let client = Client::new( ClientConfig::new("https://live.dodopayments.com").with_api_key("My API Key"), )?; println!("{}", client.base_url()); Ok(())}
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:
use dodopayments::{Client, ClientConfig, Environment};let client = Client::new( ClientConfig::from_environment(Environment::TestMode).with_api_key("My API Key"),)?;
För att fortsätta läsa API-nyckeln från DODO_PAYMENTS_API_KEY via from_env() när du riktar in dig på en icke-standardmiljö, åsidosätt den i konfigurationen:
use dodopayments::{Client, ClientConfig, Environment};let client = Client::new(ClientConfig::from_env()?.with_environment(Environment::TestMode))?;
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).
Varje metod returnerar en dodopayments::Result<T>. Fel representeras av enum dodopayments::Error. Matcha på den för att hantera API-fel åtskilt från transportfel: