Pular para o conteúdo principal
O SDK TypeScript fornece acesso conveniente ao lado do servidor à API REST de pagamentos Dodo para aplicações TypeScript e JavaScript. Ele apresenta definições de tipo abrangentes, tratamento de erros, tentativas, timeouts e auto-paginação para um processamento de pagamentos sem interrupções.

Instalação

Instale o SDK usando o gerenciador de pacotes de sua preferência:

Início Rápido

Inicialize o cliente com sua chave de API e comece a processar pagamentos:
Sempre armazene suas chaves de API com segurança usando variáveis de ambiente. Nunca as comprometa no controle de versão ou as exponha em código do lado do cliente.

Recursos Principais

TypeScript First

Suporte completo ao TypeScript com definições abrangentes de tipos para todos os endpoints da API

Auto-Pagination

Paginação automática para respostas de listagem torna o trabalho com grandes conjuntos de dados simples

Error Handling

Tipos de erro embutidos com mensagens detalhadas para diferentes cenários de falha

Smart Retries

Retentativas automáticas configuráveis com backoff exponencial para erros transitórios

Configuração

Variáveis de Ambiente

Defina variáveis de ambiente para configuração segura:
.env

Configuração de Timeout

Configure timeouts de requisição globalmente ou por requisição:

Configuração de Tentativas

Configure o comportamento de tentativas automáticas:
O SDK automaticamente refaz requisições que falham devido a erros de rede ou problemas no servidor (respostas 5xx) com backoff exponencial.

Operações Comuns

Criar uma Sessão de Checkout

Gere uma sessão de checkout para coletar informações de pagamento:

Gerenciar Clientes

Crie e recupere informações de clientes:

Gerenciar Assinaturas

Crie e gerencie assinaturas recorrentes:
billing requer, no mínimo, o código de país ISO de duas letras. customer é uma união de { customer_id } (para anexar um cliente existente) ou { email, name? } (para criar um novo). product_price é expressa na menor denominação de moeda.

Faturamento Baseado em Uso

Registrar Eventos de Uso

Acompanhe eventos personalizados para faturamento baseado em uso:
Os eventos devem ter valores event_id únicos para idempotência. IDs duplicados dentro da mesma solicitação são rejeitados e solicitações subsequentes com IDs existentes são ignoradas.

Recuperar Eventos de Uso

Busque informações detalhadas sobre eventos de uso:

Configuração de Proxy

Configure as configurações de proxy para diferentes runtimes:

Node.js (usando undici)

Bun

Deno

Logging

Controle a verbosidade do log usando variáveis de ambiente ou opções de cliente:
Níveis de log disponíveis:
  • 'debug' - Mostra mensagens de debug, informações, avisos e erros
  • 'info' - Mostra mensagens de informação, avisos e erros
  • 'warn' - Mostra avisos e erros (padrão)
  • 'error' - Mostra apenas erros
  • 'off' - Desativa todos os logs
No nível de debug, todas as solicitações e respostas HTTP são registradas, incluindo cabeçalhos e corpos. Alguns cabeçalhos de autenticação são redigidos, mas dados sensíveis nos corpos ainda podem estar visíveis.

Migração do SDK Node.js

Se você está atualizando do SDK Node.js legado, o SDK TypeScript oferece melhorias na segurança de tipos e recursos:

View Migration Guide

Saiba como migrar do SDK Node.js para o SDK TypeScript

Paginação Automática

Os métodos de listagem na API DodoPayments são paginados. Você pode usar a sintaxe for await … of para iterar através dos itens em todas as páginas:
Alternativamente, você pode solicitar uma única página por vez:

Requisitos

Os seguintes runtimes são suportados:
  • Navegadores web (Chrome, Firefox, Safari, Edge, e mais atualizados)
  • Node.js 20 LTS ou versões posteriores (non-EOL)
  • Deno v1.28.0 ou superior
  • Bun 1.0 ou posterior
  • Cloudflare Workers
  • Vercel Edge Runtime
  • Jest 28 ou superior com o ambiente "node"
  • Nitro v2.6 ou superior
TypeScript >= 4.9 é suportado.

Recursos

GitHub Repository

Veja o código fonte e contribua

API Reference

Documentação completa da API

Discord Community

Obtenha ajuda e conecte-se com desenvolvedores

Report Issues

Relate bugs ou solicite recursos

Suporte

Precisa de ajuda com o SDK TypeScript?

Contribuição

Contribuições são bem-vindas! Confira as diretrizes de contribuição para começar.
Última modificação em 28 de maio de 2026