Skip to main content
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:
POST /subscriptions (the SDK’s subscriptions.create method) è deprecato. Continua a funzionare per le integrazioni esistenti, ma per le nuove integrazioni è consigliabile creare le sottoscrizioni tramite una Checkout Session.
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 campo items contiene la pagina corrente dei risultati. Scorri ogni elemento di tutte le pagine con into_stream:
In alternativa, avanza di una pagina alla volta con get_next_page:

Gestione degli errori

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

Contribuire

I contributi sono benvenuti! Consulta le linee guida per contribuire per iniziare.
Ultima modifica il 17 agosto 2026