Integre os pagamentos Dodo em suas aplicações TypeScript e Node.js com segurança de tipo e suporte moderno a async/await
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.
Inicialize o cliente com sua chave de API e comece a processar pagamentos:
Copiar
import DodoPayments from 'dodopayments';const client = new DodoPayments({ bearerToken: process.env['DODO_PAYMENTS_API_KEY'], // This is the default and can be omitted environment: 'test_mode', // defaults to 'live_mode'});const checkoutSessionResponse = await client.checkoutSessions.create({ product_cart: [{ product_id: 'product_id', quantity: 1 }],});console.log(checkoutSessionResponse.session_id);
Sempre armazene suas chaves de API de forma segura usando variáveis de ambiente. Nunca as comite no controle de versão ou as exponha em código do lado do cliente.
Os eventos devem ter valores únicos event_id para idempotência. IDs duplicados dentro da mesma requisição são rejeitados, e requisições subsequentes com IDs existentes são ignoradas.
Busque informações detalhadas sobre eventos de uso:
Copiar
// Get a specific eventconst event = await client.usageEvents.retrieve('api_call_12345');// List events with filteringconst events = await client.usageEvents.list({ customer_id: 'cus_abc123', event_name: 'api_request', start: '2024-01-14T10:30:00Z', end: '2024-01-15T10:30:00Z'});
import DodoPayments from 'dodopayments';import * as undici from 'undici';const proxyAgent = new undici.ProxyAgent('http://localhost:8888');const client = new DodoPayments({ fetchOptions: { dispatcher: proxyAgent, },});
Controle a verbosidade do log usando variáveis de ambiente ou opções do cliente:
Copiar
// Via client optionconst client = new DodoPayments({ logLevel: 'debug', // Show all log messages});
Copiar
# Via environment variableexport DODO_PAYMENTS_LOG=debug
Níveis de log disponíveis:
'debug' - Mostra mensagens de depuração, informações, avisos e erros
'info' - Mostra mensagens de informações, avisos e erros
'warn' - Mostra avisos e erros (padrão)
'error' - Mostra apenas erros
'off' - Desabilita todos os logs
No nível de depuração, todas as requisições e respostas HTTP são registradas, incluindo cabeçalhos e corpos. Alguns cabeçalhos de autenticação são ocultados, mas dados sensíveis nos corpos ainda podem ser visíveis.