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 exige, 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. Os campos de valor, como product_price, estão na denominação mais baixa da moeda (por exemplo, 2500 = US$ 25,00).Faturamento baseado em uso
Ingerir eventos de uso
Acompanhe eventos personalizados:Listar eventos de uso
Paginação
Os endpoints de listagem retornam uma página tipada cujo campoitems contém a página atual de resultados. Transmita cada item de todas as páginas com into_stream:
get_next_page:
Tratamento de erros
Todos os métodos retornam umdodopayments::Result<T>. As falhas são representadas pelo enum dodopayments::Error. Faça a correspondência com ele para tratar os erros da API de forma distinta dos erros de transporte:
Endpoints não documentados
Para chamar um endpoint que ainda não foi exposto como um método tipado, use o builder de baixo nívelrequest, que aplica a autenticação e a URL base:
Recursos
GitHub Repository
Visualize o código-fonte e contribua
Crates.io
Visualize o crate publicado e as versões
API Reference
Documentação completa da API
Discord Community
Obtenha ajuda e conecte-se com desenvolvedores
Suporte
Precisa de ajuda com o Rust SDK?- Discord: participe do nosso servidor da comunidade para obter suporte em tempo real
- E-mail: entre em contato conosco pelo e-mail support@dodopayments.com
- GitHub: abra uma issue no repositório