Este tutorial fornece código de implementação de exemplo para uma aplicação Node.js/Express. Você pode modificar este código para seu framework específico (Next.js, React, Vue, etc.) e personalizar a interface do usuário de acordo com as necessidades da sua aplicação.
- Criar produtos de assinatura com precificação baseada em assentos
- Configurar adicionais para assentos adicionais
- Gerar links de pagamento com quantidades de adicionais personalizadas
- Lidar com sessões de checkout com contagens de assentos dinâmicas
O Que Estamos Construindo
Vamos criar um modelo de precificação baseada em assentos:- Plano Base: R$49/mês para até 5 membros da equipe
- Adicional de Assento: R$2/mês por assento adicional
- Links de Pagamento: Checkout dinâmico com quantidades de assentos personalizadas
Antes de começarmos, certifique-se de que você possui:
- Uma conta Dodo Payments
- Familiaridade básica com TypeScript/Node.js
Passo 1: Crie Seu Adicional de Assento
Agora precisamos criar um adicional que represente assentos adicionais. Este adicional será anexado à nossa assinatura base e permitirá que os clientes comprem assentos adicionais.
Navigate to Add-Ons
- No seu painel Dodo Payments, permaneça na seção Produtos
- Clique na aba Add-Ons
- Clique em Criar Add-On
Enter add-on details
Preencha estes valores para o nosso add-on de assentos:Nome do Add-On:
Additional Team SeatDescrição: Add extra team members to your workspace with full access to all featuresPreço: Insira → 2.00Moeda: Deve corresponder à moeda da sua assinatura baseCategoria de Imposto: Selecione a categoria apropriada para seu produto.Passo 2: Crie Seu Produto de Assinatura Base
Começaremos criando um produto de assinatura base que inclui 5 membros da equipe. Esta será a base do nosso modelo de precificação baseada em assentos.
Navigate to Products
- Faça login no seu painel Dodo Payments
- Clique em Produtos na barra lateral esquerda
- Clique no botão Criar Produto
- Selecione Assinatura como o tipo de produto
Passo 3: Conecte o Adicional à Assinatura
Agora precisamos associar nosso adicional de assento com a assinatura base para que os clientes possam comprar assentos adicionais durante o checkout.Attach the seat add-on

- Role para baixo até a seção Adicionais
- Clique em Adicionar Adicionais
- No dropdown, selecione seu adicional de assento
- Confirme que ele aparece na configuração da sua assinatura
Save subscription changes
- Revise toda a configuração da assinatura:
- Plano base: $49/mês para 5 assentos
- Add-on: $2/mês por assento adicional
- Teste gratuito: 14 dias
- Clique em Salvar Alterações
Precificação por assento configurada! Clientes agora podem comprar seu plano base e adicionar assentos extras conforme necessário.
Passo 4: Gere Links de Pagamento com Quantidades de Adicionais Personalizadas
Agora vamos criar uma aplicação Express.js que gera links de pagamento com quantidades de adicionais personalizadas. É aqui que o verdadeiro poder da precificação baseada em assentos entra em cena - você pode criar dinamicamente sessões de checkout com qualquer número de assentos adicionais.Set up your project
Crie um novo projeto Node.js e instale as dependências necessárias:Crie um arquivo
tsconfig.json:Add a simple web interface
Crie um arquivo
public/index.html para facilitar os testes:Interface web criada! Agora você tem uma IU simples para testar diferentes quantidades de assentos.
Passo 5: Teste Sua Implementação
Vamos testar nossa implementação de precificação baseada em assentos para garantir que tudo funcione corretamente.Start your server
- Certifique-se de que você tem seu arquivo
.envcom a chave de API correta - Atualize os IDs do produto e do add-on no seu código com os valores reais do painel Dodo Payments
- Inicie seu servidor:
Seu servidor deve iniciar com sucesso e mostrar “Server running on http://localhost:3000”
Test the web interface

- Abra seu navegador e vá para
http://localhost:3000 - Você deverá ver a interface de demonstração de precificação por assento
- Teste diferentes quantidades de assentos (0, 3, 10, etc.)
- Clique em “Generate Checkout Link” para cada quantidade
- Verifique se as URLs de checkout são geradas corretamente
Test a checkout session
- Gere um link de checkout com 3 assentos adicionais
- Clique na URL de checkout para abrir o checkout do Dodo Payments
- Verifique se o checkout mostra:
- Plano base: $49/mês
- Assentos adicionais: 3 × 2 dólares = $6/mês
- Complete a compra de teste
O checkout deve exibir a divisão correta de preços e permitir que você conclua a compra.
Listen for webhooks and update your DB
Para manter seu banco de dados sincronizado com alterações de assinatura e assentos, você precisa escutar eventos de webhook da Dodo Payments. Webhooks notificam seu backend quando um cliente conclui o checkout, atualiza a assinatura ou altera a quantidade de assentos.Siga o guia oficial de webhooks do Dodo Payments para instruções passo a passo sobre como configurar endpoints de webhook e lidar com eventos:
Dodo Payments Webhooks Documentation
Aprenda como receber e processar com segurança eventos de webhook para o gerenciamento de assinaturas e assentos.
Resolução de Problemas
Problemas comuns e suas soluções:Checkout creation failing
Checkout creation failing
Possíveis causas:
- ID de produto ou add-on inválido
- A chave de API não possui permissões suficientes
- Add-on não associado corretamente à assinatura
- Problemas de conectividade de rede
- Verifique se os IDs de produto e add-on existem no seu painel Dodo Payments
- Confira se o add-on está devidamente anexado à assinatura
- Garanta que a chave de API possui permissões para criação de sessão de checkout
- Teste a conectividade da API com uma requisição GET simples
Parabéns! Você Implementou a Precificação Baseada em Assentos
Você criou com sucesso um sistema de precificação baseada em assentos com o Dodo Payments! Aqui está o que você realizou:Base Subscription
Criado um produto de assinatura com 5 assentos incluídos por $49/mês
Seat Add-ons
Configurados add-ons para assentos adicionais a $2/mês por assento
Checkout
Criada uma API que gera sessões de checkout com quantidades personalizadas de assentos
Web Interface
Criada uma interface web simples para testar diferentes quantidades de assentos
Este exemplo demonstra apenas uma implementação mínima de precificação por assentos. Para uso em produção, você deve adicionar tratamento de erros robusto, autenticação, validação de dados, medidas de segurança e adaptar a lógica para atender aos requisitos da sua aplicação.