Checkout Handler
Integre o checkout do Dodo Payments ao seu app Fastify.
Customer Portal
Permita que os clientes gerenciem assinaturas e detalhes.
Webhooks
Receba e processe eventos webhook do Dodo Payments.
Instalação
1
Install the package
Execute o seguinte comando na raiz do projeto:
2
Set up environment variables
Crie um
.env na raiz do projeto:Exemplos de Manipuladores de Rota
Todos os exemplos presumem que você está usando o Fastify App Router.
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
Use este manipulador para integrar o checkout do Dodo Payments ao seu app Fastify. Suporta fluxos de pagamento estáticos (GET), dinâmicos (POST) e de sessão (POST).
Manipulador de Rota de Checkout
O Dodo Payments suporta três tipos de fluxos de pagamento para integrar pagamentos ao seu site, e este adaptador suporta todos os tipos de fluxos de pagamento.
- Links de Pagamento Estáticos: URLs compartilháveis instantaneamente para coleta de pagamento rápida e sem código.
- Links de Pagamento Dinâmicos: Gere programaticamente links de pagamento com detalhes personalizados usando a API ou SDKs.
- Sessões de Checkout: Crie experiências de checkout seguras e personalizáveis com carrinhos de produtos pré-configurados e detalhes do cliente.
Static Checkout (GET)
Static Checkout (GET)
Supported Query Parameters
Identificador do produto (por exemplo,
?productId=pdt_nZuwz45WAs64n3l07zpQR).Quantidade do produto.
Nome completo do cliente.
Nome do cliente.
Sobrenome do cliente.
Endereço de email do cliente.
País do cliente.
Linha de endereço do cliente.
Cidade do cliente.
Estado/província do cliente.
CEP/código postal do cliente.
Desativar campo de nome completo.
Desativar campo de nome.
Desativar campo de sobrenome.
Desativar campo de email.
Desativar campo de país.
Desativar campo de endereço.
Desativar campo de cidade.
Desativar campo de estado.
Desativar campo de CEP.
Especifique a moeda do pagamento (por exemplo,
USD).Exibir seletor de moeda.
Especifique o valor do pagamento (por exemplo,
1000 para $10,00).Exibir campos de desconto.
Qualquer parâmetro de consulta que comece com
metadata_ será passado como metadados.Formato de Resposta
O checkout estático retorna uma resposta JSON com a URL de checkout:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- Envie os parâmetros como um corpo JSON em uma requisição POST.
- Suporta pagamentos únicos e recorrentes.
- Para a lista completa de campos de body suportados em POST, consulte:
Formato de Resposta
O checkout dinâmico retorna uma resposta JSON com a URL de checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
As sessões de checkout oferecem uma experiência de checkout hospedada e mais segura que gerencia todo o fluxo de pagamento tanto para compras únicas quanto para assinaturas, com controle total de personalização.Consulte o Guia de Integração de Sessões de Checkout para mais detalhes e uma lista completa de campos suportados.
Formato de Resposta
As sessões de checkout retornam uma resposta JSON com a URL de checkout:Manipulador de Rota do Portal do Cliente
O Manipulador de Rota do Portal do Cliente permite que você integre perfeitamente o portal do cliente dos Pagamentos Dodo em sua aplicação Fastify.Parâmetros de Consulta
O ID do cliente para a sessão do portal (por exemplo,
?customer_id=cus_123).Se estiver definido como
true, envia um email ao cliente com o link do portal.Manipulador de Rota de Webhook
- Método: Apenas solicitações POST são suportadas. Outros métodos retornam 405.
- Verificação de Assinatura: Verifica a assinatura do webhook usando
webhookKey. Retorna 401 se a verificação falhar. - Validação de Payload: Validado com Zod. Retorna 400 para payloads inválidos.
- Tratamento de Erros:
- 401: Assinatura inválida
- 400: Payload inválido
- 500: Erro interno durante a verificação
- Roteamento de Eventos: Chama o manipulador de eventos apropriado com base no tipo de payload.