Pular para o conteúdo principal

Checkout Handler

Integre o checkout da Dodo Payments ao seu app Express.

Customer Portal

Permita que os clientes gerenciem assinaturas e detalhes.

Webhooks

Receba e processe eventos de webhook da Dodo Payments.

Instalação

1

Install the package

Execute o seguinte comando na raiz do seu projeto:
2

Set up environment variables

Crie um .env na raiz do seu projeto:
Nunca faça commit do seu .env ou de segredos no controle de versão.

Exemplos de Manipuladores de Rota

Use este manipulador para integrar o checkout Dodo Payments ao seu app Express. Suporta fluxos de pagamento estático (GET), dinâmico (POST) e de sessão (POST).

Manipulador de Rota de Checkout

A Dodo Payments oferece três tipos de fluxos de pagamento para integrar pagamentos ao seu site; este adaptador suporta todos os tipos.
  • 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.

Parâmetros de Consulta Compatíveis

productId
string
obrigatório
Identificador do produto (por exemplo, ?productId=pdt_nZuwz45WAs64n3l07zpQR).
quantity
integer
Quantidade do produto.
fullName
string
Nome completo do cliente.
firstName
string
Primeiro nome do cliente.
lastName
string
Sobrenome do cliente.
email
string
Endereço de e-mail do cliente.
country
string
País do cliente.
addressLine
string
Linha de endereço do cliente.
city
string
Cidade do cliente.
state
string
Estado/província do cliente.
zipCode
string
CEP/código postal do cliente.
disableFullName
boolean
Desativar campo de nome completo.
disableFirstName
boolean
Desativar campo de primeiro nome.
disableLastName
boolean
Desativar campo de sobrenome.
disableEmail
boolean
Desativar campo de e-mail.
disableCountry
boolean
Desativar campo de país.
disableAddressLine
boolean
Desativar campo de linha de endereço.
disableCity
boolean
Desativar campo de cidade.
disableState
boolean
Desativar campo de estado.
disableZipCode
boolean
Desativar campo de CEP.
paymentCurrency
string
Especifique a moeda do pagamento (por exemplo, USD).
showCurrencySelector
boolean
Mostrar seletor de moeda.
paymentAmount
integer
Especifique o valor do pagamento (por exemplo, 1000 para $10,00).
showDiscounts
boolean
Mostrar campos de desconto.
metadata_*
string
Qualquer parâmetro de consulta que comece com metadata_ será passado como metadata.
Se productId estiver faltando, o manipulador retorna uma resposta 400. Parâmetros de consulta inválidos também resultam em resposta 400.

Formato de Resposta

O checkout estático retorna uma resposta JSON com a URL de checkout:

Formato de Resposta

O checkout dinâmico retorna uma resposta JSON com a URL de checkout:
As sessões de checkout oferecem uma experiência de checkout hospedada mais segura que lida com 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 Express.

Parâmetros de Consulta

customer_id
string
obrigatório
O ID do cliente para a sessão do portal (por exemplo, ?customer_id=cus_123).
send_email
boolean
Se definido como true, envia um e-mail para o cliente com o link do portal.
Retorna 400 se customer_id estiver ausente.

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.

Manipuladores de Evento de Webhook Compatíveis


Prompt para LLM

Última modificação em 22 de maio de 2026