Skip to main content

Checkout Handler

Integrar o checkout do Dodo Payments no seu app SvelteKit.

Customer Portal

Permitir que clientes gerenciem assinaturas e detalhes.

Webhooks

Receber e processar eventos webhook do Dodo Payments.

Instalação

1

Install the package

Execute o seguinte comando na raiz do seu projeto:
2

Set up environment variables

Crie um arquivo .env na raiz do seu projeto:
Nunca envie seu arquivo .env ou segredos para o controle de versão.

Exemplos de Manipuladores de Rota

Todos os exemplos presumem que você está usando o SvelteKit App Router.
Use esse manipulador para integrar o checkout do Dodo Payments ao seu app SvelteKit. 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, e 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

string
obrigatório
Identificador do produto (por exemplo, ?productId=pdt_nZuwz45WAs64n3l07zpQR).
integer
Quantidade do produto.
string
Nome completo do cliente.
string
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
Código postal do cliente.
boolean
Desativar o campo de nome completo.
boolean
Desativar o campo de 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 código postal.
string
Especificar a moeda do pagamento (por exemplo, USD).
boolean
Mostrar o seletor de moeda.
number
Define o valor cobrado, em unidades monetárias principais (por exemplo, 12.5 para US$ 12,50). Somente para produtos Pay What You Want e ignorado se estiver abaixo do preço mínimo do produto.
boolean
Mostrar campos de desconto.
string
Qualquer parâmetro de consulta que comece com metadata_ será passado como metadata.
Se o productId estiver ausente, 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:
O Dynamic Checkout faz proxy dos endpoints POST /payments e POST /subscriptions, que foram descontinuados. Ele continua funcionando para integrações existentes, mas novas integrações devem usar Checkout Sessions abaixo.

Formato da resposta

O Dynamic Checkout retorna uma resposta JSON com a URL do checkout:
As sessões de checkout oferecem uma experiência de checkout hospedada e mais segura, que gerencia todo o fluxo de pagamento para compras únicas e assinaturas, com controle total de personalização.Consulte o Guia de integração do Checkout Sessions para obter mais detalhes e a lista completa de campos compatíveis.

Formato da resposta

As sessões de checkout retornam uma resposta JSON com a URL do checkout:

Manipulador de rotas do Customer Portal

O manipulador de rotas do Customer Portal permite integrar perfeitamente o portal do cliente do Dodo Payments ao seu aplicativo SvelteKit.

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.
Retorna 400 se customer_id estiver ausente.

Manipulador de rotas de webhook

  • Método: somente solicitações POST são compatíveis. Outros métodos retornam 405.
  • Verificação da 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 manipulador de eventos apropriado com base no tipo de payload.

Manipuladores de eventos de webhook compatíveis


Prompt para LLM

Última modificação em 21 de agosto de 2026