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