Instalação
Adicione o SDK ao seu projeto com Cargo:Cargo.toml:
O SDK requer Rust 1.75 ou posterior, aproveitando os recursos modernos de async para um desempenho otimizado.
Início Rápido
O cliente lê sua chave de API do ambienteDODO_PAYMENTS_API_KEY por padrão. Inicialize o cliente e crie sua primeira sessão de checkout:
Recursos Principais
Async First
Construído sobre Tokio e reqwest com suporte a
async/await em toda a aplicaçãoStrong Typing
Requisições e respostas fortemente tipadas para segurança em tempo de compilação
Auto-Pagination
Transmita cada item através das páginas ou avance uma página por vez
Configurable
Configure ambientes, timeouts e URLs base por cliente
Configuração
Variáveis de Ambiente
Por padrão,Client::from_env() lê sua chave de API da variável de ambiente DODO_PAYMENTS_API_KEY e usa o URL base padrão, a menos que você defina DODO_PAYMENTS_BASE_URL:
Client::new retorna um Result, então descompacte-o com ? dentro de uma função que retorna dodopayments::Result:
Ambientes
O URL base padrão é
https://live.dodopayments.com. Selecione outro ambiente com o enum Environment em vez de codificar URLs diretamente:
DODO_PAYMENTS_API_KEY via from_env() enquanto direciona para um ambiente não padrão, sobreponha isso na configuração:
Timeouts
O timeout padrão para requisições é de 30 segundos. Sobrescreva-o por cliente:Operações Comuns
Criar uma Sessão de Checkout
Gere uma sessão de checkout:Gerenciar Clientes
Crie e recupere informações do cliente:Gerenciar Assinaturas
Crie e gerencie assinaturas recorrentes:billing requer no mínimo o código ISO de duas letras country. customer é um enum CustomerRequest — passe AttachExisting para um cliente existente ou New para um novo. Campos de valor como product_price estão na menor denominação de moeda (por exemplo, 2500 = $25,00 USD).Cobrança Baseada em Uso
Ingestão de Eventos de Uso
Rastrear eventos personalizados:Listar Eventos de Uso
Paginação
Os endpoints de lista retornam uma página tipada cujo campoitems contém a página atual de resultados. Transmita cada item em todas as páginas com into_stream:
get_next_page:
Tratamento de Erros
Todos os métodos retornam umdodopayments::Result<T>. Falhas são representadas pelo enum dodopayments::Error. Faça um match para lidar com erros da API distintamente de erros de transporte:
Endpoints Não Documentados
Para chamar um endpoint ainda não exposto como método tipado, use o construtor de baixo nívelrequest, que aplica autenticação e o URL base:
Recursos
GitHub Repository
Visualizar código-fonte e contribuir
Crates.io
Visualizar o crate publicado e versões
API Reference
Documentação completa da API
Discord Community
Obtenha ajuda e conecte-se com desenvolvedores
Suporte
Precisa de ajuda com o SDK Rust?- Discord: Junte-se ao nosso servidor da comunidade para suporte em tempo real
- Email: Entre em contato pelo suporte@dodopayments.com
- GitHub: Abra uma issue no repositório