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 di importo come product_price sono nell’unità più bassa della valuta (e.g., 2500 = $25.00 USD).Fatturazione Basata sull’Uso
Ingerire Eventi di Utilizzo
Monitorare eventi personalizzati:Elenco degli Eventi di Utilizzo
Paginazione
Gli endpoint dell’elenco restituiranno una pagina tipizzata il cui campoitems contiene la pagina corrente dei risultati. Trasmetti ogni elemento attraverso tutte le pagine con into_stream:
get_next_page:
Gestione degli Errori
Ogni metodo restituisce undodopayments::Result<T>. I fallimenti sono rappresentati dall’enum dodopayments::Error. Puoi gestire gli errori API in modo distinto dagli errori di trasporto tramite match:
Endpoint Non Documentati
Per chiamare un endpoint non ancora esposto come metodo tipizzato, usa il costruttorerequest, che applica l’autenticazione e l’URL di base:
Risorse
GitHub Repository
Visualizza il codice sorgente e contribuisci
Crates.io
Visualizza il pacchetto pubblicato e le versioni
API Reference
Documentazione completa dell’API
Discord Community
Ricevi aiuto e connettiti con gli sviluppatori
Supporto
Hai bisogno di aiuto con il Rust SDK?- Discord: Unisciti al nostro server della comunità per supporto in tempo reale
- Email: Contattaci a support@dodopayments.com
- GitHub: Apri un problema sul repository