Checkout Handler
Integre o checkout do Dodo Payments ao seu servidor Bun.
Customer Portal
Permita que os clientes gerenciem assinaturas e dados.
Webhooks
Receba e processe eventos de webhook do Dodo Payments.
Instalação
1
Install the package
Execute o comando a seguir na raiz do seu projeto:
2
Set up environment variables
Crie um arquivo
.env na raiz do seu projeto:Exemplos de Route Handler
Todos os exemplos pressupõem que você está usando o servidor nativo do Bun com
Bun.serve().- Checkout Handler
- Customer Portal Handler
- Webhook Handler
Use este handler para integrar o checkout do Dodo Payments ao seu servidor Bun. Suporta fluxos de pagamento estático (GET), dinâmico (POST) e de sessão (POST).
Route Handler de Checkout
Dodo Payments é compatível com três tipos de fluxos de pagamento para integrar pagamentos ao seu site; este adaptador é compatível com todos os tipos de fluxos de pagamento.
- Links de pagamento estáticos: URLs que podem ser compartilhadas instantaneamente para uma cobrança rápida de pagamentos sem código.
- Links de pagamento dinâmicos: Gere links de pagamento programaticamente com detalhes personalizados usando a API ou SDKs.
- Checkout Sessions: Crie experiências de checkout hospedadas, seguras e personalizáveis, com carrinhos de produtos e dados do cliente pré-configurados.
Static Checkout (GET)
Static Checkout (GET)
Parâmetros de consulta compatíveis
string
obrigatório
Identificador do produto (por exemplo,
?productId=pdt_xxx).integer
Quantidade do produto.
string
Nome completo do cliente.
string
Primeiro nome do cliente.
string
Sobrenome do cliente.
string
Endereço de e-mail do cliente.
string
País do cliente.
string
Linha de endereço do cliente.
string
Cidade do cliente.
string
Estado/província do cliente.
string
CEP/código postal do cliente.
boolean
Desativar o campo de nome completo.
boolean
Desativar o campo de primeiro nome.
boolean
Desativar o campo de sobrenome.
boolean
Desativar o campo de e-mail.
boolean
Desativar o campo de país.
boolean
Desativar o campo de linha de endereço.
boolean
Desativar o campo de cidade.
boolean
Desativar o campo de estado.
boolean
Desativar o campo de CEP.
string
Especificar a moeda do pagamento (por exemplo,
USD).boolean
Mostrar o seletor de moeda.
integer
Especificar o valor do pagamento (por exemplo,
1000 para US$ 10,00).boolean
Mostrar os campos de desconto.
string
Qualquer parâmetro de consulta que comece com
metadata_ será transmitido como metadata.Formato da resposta
O checkout estático retorna uma resposta JSON com a URL do checkout:Dynamic Checkout (POST)
Dynamic Checkout (POST)
- Envie os parâmetros como um corpo JSON em uma solicitação POST.
- Suporta pagamentos únicos e recorrentes.
- Para obter a lista completa de campos compatíveis no corpo do POST, consulte:
Formato da resposta
O checkout dinâmico retorna uma resposta JSON com a URL do checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
As Checkout Sessions oferecem uma experiência de checkout hospedada e mais segura, que gerencia o fluxo completo de pagamento para compras únicas e assinaturas, com controle total de personalização.Consulte o Guia de integração das Checkout Sessions para obter mais detalhes e a lista completa de campos compatíveis.
Formato da resposta
As Checkout Sessions retornam uma resposta JSON com a URL do checkout:Route Handler de Customer Portal
O Route Handler de Customer Portal permite integrar perfeitamente o Customer Portal do Dodo Payments ao seu aplicativo de servidor Bun.Parâmetros de consulta
string
obrigatório
O ID do cliente para a sessão do portal (por exemplo,
?customer_id=cus_123).boolean
Se definido como
true, envia um e-mail ao cliente com o link do portal.Webhook Route Handler
- Método: somente solicitações POST são compatíveis. 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 do 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 handler de eventos apropriado com base no tipo do payload.