Skip to main content
Este tutorial mostra como implementar preços baseados em assentos usando add-ons do Dodo Payments. Você criará um produto de assinatura com add-ons para assentos adicionais e gerará links de pagamento com quantidades personalizadas de add-ons.
Este tutorial usa Node.js e Express. Você pode adaptar o código ao seu framework (Next.js, React, Vue etc.) e personalizar a UI para combinar com sua aplicação.
Ao final deste tutorial, você saberá como:
  • 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: $49/mês para até 5 membros da equipe
  • Add-on de Assento: $2/mês por assento adicional
  • Links de Pagamento: checkout dinâmico com quantidades personalizadas de assentos
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

Crie um add-on que represente os assentos adicionais. Esse add-on será associado à sua assinatura base e permitirá que os clientes comprem assentos adicionais.
Criando um add-on de assento no dashboard
O que estamos criando: um add-on que custa $2/mês por assento e pode ser adicionado a qualquer assinatura base.
1

Navigate to Add-Ons

  1. No seu painel Dodo Payments, permaneça na seção Produtos
  2. Clique na aba Add-Ons
  3. Clique em Criar Add-On
Isso abrirá o formulário de criação do add-on.
2

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.
3

Save your add-on

  1. Revise todas as suas configurações:
    • Nome: Assento adicional da equipe
    • Preço: $2,00/mês
  2. Clique em Criar Add-On
Add-on criado! Seu add-on de assentos agora está disponível para ser anexado a assinaturas.

Passo 2: Crie Seu Produto de Assinatura Base

Crie um produto de assinatura base que inclua 5 membros da equipe. Essa será a base do seu modelo de preços por assento.
Criando um produto de assinatura base no dashboard
1

Navigate to Products

  1. Faça login no seu painel Dodo Payments
  2. Clique em Produtos na barra lateral esquerda
  3. Clique no botão Criar Produto
  4. Selecione Assinatura como o tipo de produto
Você verá um formulário onde configuraremos nossa assinatura base.
2

Fill in the subscription details

Agora vamos inserir os detalhes específicos do nosso plano base:Nome do Produto: MotionDescrição: Where your team's documentation lives.Preço Recorrente: Insira → 49.00Ciclo de Faturamento: Selecione → MonthlyMoeda: Selecione sua moeda preferida (p. ex., USD)

Passo 3: Conecte o Adicional à Assinatura

Associe seu add-on de assento à assinatura base para que os clientes possam comprar assentos adicionais durante o checkout.
1

Attach the seat add-on

Associando um add-on à assinatura no dashboard
  1. Role para baixo até a seção Adicionais
  2. Clique em Adicionar Adicionais
  3. No dropdown, selecione seu adicional de assento
  4. Confirme que ele aparece na configuração da sua assinatura
2

Save subscription changes

  1. Revise sua configuração completa da assinatura:
    • Plano básico: $49/mês para 5 assentos
    • Complemento: $2/mês por assento adicional
  2. Clique em Salvar alterações
Preços baseados em assentos configurados! Os clientes agora podem comprar seu plano base e adicionar assentos extras conforme necessário.
Crie uma aplicação Express.js que gere links de pagamento com quantidades personalizadas de add-ons. Isso permite criar dinamicamente sessões de checkout com qualquer quantidade de assentos adicionais.
1

Set up your project

Crie um novo projeto Node.js e instale as dependências necessárias:
Crie um arquivo tsconfig.json:
2

Create your environment file

Crie um arquivo .env com sua chave de API do Dodo Payments:
Nunca faça commit da sua chave de API no controle de versão. Adicione .env ao seu arquivo .gitignore.
3

Implement the checkout session creation

Crie um arquivo src/server.ts com o código a seguir:
4

Add a simple web interface

Crie um arquivo public/index.html para facilitar os testes:
Interface web criada! Agora você tem uma UI simples para testar diferentes quantidades de assentos.
5

Serve static files

Adicione isto ao seu src/server.ts para servir o arquivo HTML:
Arquivos estáticos configurados! Acesse http://localhost:3000 para ver sua interface de demonstração.

Etapa 5: testar sua implementação

Vamos testar nossa implementação de preços baseados em assentos para garantir que tudo funcione corretamente.
1

Start your server

  1. Certifique-se de que seu arquivo .env contém a chave de API correta
  2. Atualize os IDs do produto e do add-on no seu código com os valores reais do seu dashboard do Dodo Payments
  3. Inicie seu servidor:
Seu servidor deve iniciar corretamente e exibir “Server is running on port 3000”
2

Test the web interface

Interface de demonstração de preços baseados em assentos
  1. Abra seu navegador e acesse http://localhost:3000
  2. Você deverá ver a interface de demonstração de preços baseados em assentos
  3. Experimente diferentes quantidades de assentos (0, 3, 10 etc.)
  4. Clique em “Gerar link de checkout” para cada quantidade
  5. Verifique se as URLs de checkout são geradas corretamente
3

Test a checkout session

  1. Gere um link de checkout com 3 assentos adicionais
  2. Clique na URL de checkout para abrir o checkout do Dodo Payments
  3. Verifique se o checkout exibe:
    • Plano base: $49/mês
    • Assentos adicionais: 3 × 2 dólares = $6/mês
  4. Conclua a compra de teste
O checkout deve exibir o detalhamento correto dos preços e permitir que você conclua a compra.
4

Listen for webhooks and update your database

Mantenha seu banco de dados sincronizado com as alterações de assinatura e de assentos ouvindo eventos de webhook do Dodo Payments. Os webhooks notificam seu backend quando um cliente conclui o checkout, atualiza sua assinatura ou altera a quantidade de assentos.Siga o guia oficial de webhooks do Dodo Payments para obter instruções passo a passo sobre como configurar endpoints de webhook e lidar com eventos:

Dodo Payments Webhooks Documentation

Saiba como receber e processar eventos de webhook com segurança para gerenciar assinaturas e assentos.

Solução de problemas

Problemas comuns e suas soluções:
Possíveis causas:
  • ID do produto ou ID do add-on inválido
  • A chave de API não tem permissões suficientes
  • O add-on não está associado corretamente à assinatura
  • Problemas de conectividade de rede
Soluções:
  1. Verifique se os IDs do produto e do add-on existem no seu dashboard do Dodo Payments
  2. Confirme se o add-on está associado corretamente à assinatura
  3. Certifique-se de que a chave de API tenha permissões para criar sessões de checkout
  4. Teste a conectividade da API com uma solicitação GET simples

Parabéns! Você implementou preços baseados em assentos

Você criou com sucesso um sistema de preços baseados em assentos com o Dodo Payments. Veja o que você realizou:

Base Subscription

Criou um produto de assinatura com 5 assentos incluídos por $49/mês

Seat Add-ons

Configurou add-ons para assentos adicionais por $2/mês por assento

Checkout

Criou uma API que gera sessões de checkout com quantidades personalizadas de assentos

Web Interface

Criou uma interface web simples para testar diferentes quantidades de assentos
Este exemplo demonstra uma implementação mínima de preços baseados em assentos. Para uso em produção, adicione tratamento de erros, autenticação, validação de dados e medidas de segurança, além de adaptar a lógica às necessidades da sua aplicação.
Última modificação em 26 de setembro de 2026