Installazione
Aggiungi l’SDK al tuo progetto con Cargo:Cargo.toml:
L’SDK richiede Rust 1.75 o successivi, sfruttando le moderne funzionalità async per prestazioni ottimali.
Guida Rapida
Il client legge la tua key API dalla variabile di ambienteDODO_PAYMENTS_API_KEY per impostazione predefinita. Inizializza il client e crea la tua prima sessione di checkout:
Funzionalità Principali
Async First
Basato su Tokio e reqwest con supporto
async/awaitStrong Typing
Richieste e risposte fortemente tipizzate per la sicurezza durante la compilazione
Auto-Pagination
Trasmetti ogni elemento attraverso le pagine o avanza una pagina alla volta
Configurable
Configura ambienti, timeout e URL di base per cliente
Configurazione
Variabili di Ambiente
Per impostazione predefinita,Client::from_env() legge la tua key API dalla variabile di ambiente DODO_PAYMENTS_API_KEY e utilizza l’URL di base predefinito a meno che tu non imposti DODO_PAYMENTS_BASE_URL:
Client::new restituisce un Result, quindi estrailo con ? all’interno di una funzione che restituisce dodopayments::Result:
Ambienti
L’URL di base predefinito è
https://live.dodopayments.com. Seleziona un altro ambiente con l’enum Environment invece di codificare gli URL:
DODO_PAYMENTS_API_KEY tramite from_env() mentre si punta a un ambiente non predefinito, sostituirlo nella configurazione:
Timeout
Il timeout di richiesta predefinito è di 30 secondi. Sostituirlo per cliente:Operazioni Comuni
Crea una Sessione di Checkout
Genera una sessione di checkout:Gestisci Clienti
Crea e recupera informazioni sui clienti:Gestisci Abbonamenti
Crea e gestisci abbonamenti ricorrenti:billing richiede almeno il codice ISO a due lettere country. customer è un’enum CustomerRequest — passa AttachExisting per un cliente esistente o New per uno nuovo. I campi relativi agli importi, come product_price, sono espressi nella denominazione più piccola della valuta (ad esempio, 2500 = 25,00 $ USD).Fatturazione basata sull’utilizzo
Acquisizione degli eventi di utilizzo
Monitora gli eventi personalizzati:Elenco degli eventi di utilizzo
Paginazione
Gli endpoint di elenco restituiscono una pagina tipizzata il cui campoitems contiene la pagina corrente dei risultati. Scorri ogni elemento di tutte le pagine con into_stream:
get_next_page:
Gestione degli errori
Ogni metodo restituisce undodopayments::Result<T>. Gli errori sono rappresentati dall’enum dodopayments::Error. Esegui il confronto su di esso per gestire separatamente gli errori API dagli errori di trasporto:
Endpoint non documentati
Per chiamare un endpoint che non è ancora esposto come metodo tipizzato, usa il builder di basso livellorequest, che applica l’autenticazione e l’URL di base:
Risorse
GitHub Repository
Visualizza il codice sorgente e contribuisci
Crates.io
Visualizza il crate pubblicato e le versioni
API Reference
Documentazione completa dell’API
Discord Community
Ricevi assistenza e connettiti con gli sviluppatori
Supporto
Hai bisogno di aiuto con l’Rust SDK?- Discord: unisciti al nostro server della community per ricevere assistenza in tempo reale
- Email: contattaci all’indirizzo support@dodopayments.com
- GitHub: apri una segnalazione nel repository