Checkout Handler
Integre o checkout da Dodo Payments ao seu app Remix.
Customer Portal
Permita que os clientes gerenciem assinaturas e detalhes.
Webhooks
Receba e processe eventos webhook da 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
.env na raiz do seu projeto:Exemplos de Manipuladores de Rota
Todos os exemplos assumem que você está usando o Remix App Router.
- Checkout Handler
- Customer Portal Handler
- Webhook Handler
Use este handler para integrar o checkout da Dodo Payments ao seu app Remix. Suporta fluxos de pagamento estáticos (GET), dinâmicos (POST) e de sessão (POST).
Manipulador de Rota de Checkout
O Dodo Payments oferece três tipos de fluxos de pagamento para integrar pagamentos ao seu site, e este adaptador oferece suporte a todos eles.
- 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)
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
Primeiro nome do cliente.
string
Sobrenome do cliente.
string
Endereço de email 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
Desabilitar campo de nome completo.
boolean
Desabilitar campo de primeiro nome.
boolean
Desabilitar campo de sobrenome.
boolean
Desabilitar campo de email.
boolean
Desabilitar campo de país.
boolean
Desabilitar campo de endereço.
boolean
Desabilitar campo de cidade.
boolean
Desabilitar campo de estado.
boolean
Desabilitar campo de CEP.
string
Especifique a moeda do pagamento (por exemplo,
USD).boolean
Exibir seletor de moeda.
integer
Especifique o valor do pagamento (por exemplo,
1000 para $10,00).boolean
Exibir campos de desconto.
string
Qualquer parâmetro de consulta que comece com
metadata_ será enviado como metadados.Formato de 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 requisição POST.
- Suporta pagamentos únicos e recorrentes.
- Para uma lista completa de campos de corpo POST suportados, consulte:
Formato de Resposta
O checkout dinâmico retorna uma resposta JSON com a URL do checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
As sessões de checkout oferecem uma experiência de checkout hospedado 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 do 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 Remix.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 para o 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.