Vai al contenuto principale
Il Rust SDK fornisce un accesso comodo e orientato all’async al REST API di Dodo Payments dalle applicazioni scritte in Rust. Offre richieste e risposte fortemente tipizzate, helper di paginazione integrati e timeout e ambienti configurabili.

Installazione

Aggiungi l’SDK al tuo progetto con Cargo:
Oppure aggiungilo manualmente al tuo 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 ambiente DODO_PAYMENTS_API_KEY per impostazione predefinita. Inizializza il client e crea la tua prima sessione di checkout:
Archivia sempre le tue key API in modo sicuro utilizzando variabili di ambiente. Non inserirle mai nel tuo codice sorgente.

Funzionalità Principali

Async First

Basato su Tokio e reqwest con supporto async/await

Strong 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:
Puoi anche configurare esplicitamente il client. 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:
Per continuare a leggere la key API da 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 campo items contiene la pagina corrente dei risultati. Trasmetti ogni elemento attraverso tutte le pagine con into_stream:
Oppure avanza una pagina alla volta con get_next_page:

Gestione degli Errori

Ogni metodo restituisce un dodopayments::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 costruttore request, 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?

Contributi

Accogliamo con favore i contributi! Controlla le linee guida per i contributi per iniziare.
Ultima modifica il 26 giugno 2026