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.
- 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.
1
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
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
- Revise todas as suas configurações:
- Nome: Assento adicional da equipe
- Preço: $2,00/mês
- 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.
1
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
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

- 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
2
Save subscription changes
- Revise sua configuração completa da assinatura:
- Plano básico: $49/mês para 5 assentos
- Complemento: $2/mês por assento adicional
- 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.
Etapa 4: gerar links de pagamento com quantidades personalizadas de add-ons
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: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
- Certifique-se de que seu arquivo
.envcontém a chave de API correta - Atualize os IDs do produto e do add-on no seu código com os valores reais do seu dashboard do Dodo Payments
- Inicie seu servidor:
Seu servidor deve iniciar corretamente e exibir “Server is running on port 3000”
2
Test the web interface

- Abra seu navegador e acesse
http://localhost:3000 - Você deverá ver a interface de demonstração de preços baseados em assentos
- Experimente diferentes quantidades de assentos (0, 3, 10 etc.)
- Clique em “Gerar link de checkout” para cada quantidade
- Verifique se as URLs de checkout são geradas corretamente
3
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 exibe:
- Plano base: $49/mês
- Assentos adicionais: 3 × 2 dólares = $6/mês
- 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
Solução de problemas
Problemas comuns e suas soluções:Checkout creation failing
Checkout creation failing
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
- Verifique se os IDs do produto e do add-on existem no seu dashboard do Dodo Payments
- Confirme se o add-on está associado corretamente à assinatura
- Certifique-se de que a chave de API tenha permissões para criar sessões de checkout
- 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
Seat Add-ons
Checkout
Web Interface
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.