Skip to main content
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:
POST /subscriptions (o método subscriptions.create do SDK) está obsoleto. Ele continua funcionando para integrações existentes, mas novas integrações devem criar assinaturas por meio de uma Checkout Session.
billing exige, no mínimo, o código de país ISO de duas letras. customer é uma união de { customer_id } (para vincular um cliente existente) ou { email, name? } (para criar um novo). product_price é expresso na menor denominação da moeda.

Cobrança baseada em uso

Ingerir eventos de uso

Rastreie eventos personalizados para cobrança baseada em uso:
Os eventos devem ter valores event_id exclusivos para garantir a idempotência. IDs duplicados na mesma solicitação são rejeitados, e solicitações subsequentes com IDs existentes são ignoradas.

Recuperar eventos de uso

Obtenha informações detalhadas sobre eventos de uso:

Configuração de proxy

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

Node.js (usando undici)

Bun

Deno

Logging

Controle o nível de detalhamento dos logs usando variáveis de ambiente ou opções do cliente:
Níveis de log disponíveis:
  • 'debug' - Exibe mensagens de depuração, informações, avisos e erros
  • 'info' - Exibe mensagens de informação, avisos e erros
  • 'warn' - Exibe avisos e erros (padrão)
  • 'error' - Exibe somente erros
  • 'off' - Desabilita todo o logging
No nível de depuração, todas as solicitações e respostas HTTP são registradas, incluindo cabeçalhos e corpos. Alguns cabeçalhos de autenticação são ocultados, mas dados confidenciais nos corpos ainda podem ficar visíveis.

Migração do Node.js SDK

Se você estiver atualizando do Node.js SDK legado, o TypeScript SDK oferece segurança de tipos e recursos aprimorados:

View Migration Guide

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

Paginação automática

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

Requisitos

Os seguintes runtimes são compatíveis:
  • Navegadores da Web (Chrome, Firefox, Safari, Edge e outros 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 é compatível.

Recursos

GitHub Repository

Visualize 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 TypeScript SDK?

Contribuição

Aceitamos contribuições! Consulte as diretrizes de contribuição para começar.
Última modificação em 17 de agosto de 2026