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 compatíveis
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
CEP/código postal do cliente.
boolean
Desabilitar o campo de nome completo.
boolean
Desabilitar o campo de nome.
boolean
Desabilitar o campo de sobrenome.
boolean
Desabilitar o campo de e-mail.
boolean
Desabilitar o campo de país.
boolean
Desabilitar o campo de linha de endereço.
boolean
Desabilitar o campo de cidade.
boolean
Desabilitar o campo de estado.
boolean
Desabilitar o campo de CEP.
string
Especificar a moeda do pagamento (por exemplo,
USD).boolean
Exibir o seletor de moeda.
number
Fixa o valor cobrado, em unidades principais da moeda (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
Exibir campos de desconto.
string
Qualquer parâmetro de consulta que comece com
metadata_ será transmitido 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 da resposta
O Dynamic Checkout retorna uma resposta JSON com a URL de checkout:Checkout Sessions (POST)
Checkout Sessions (POST)
As Checkout Sessions oferecem uma experiência de checkout hospedada 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 das Checkout Sessions para obter mais detalhes e uma lista completa dos campos compatíveis.
Formato da resposta
As Checkout Sessions retornam uma resposta JSON com a URL de checkout:Route Handler do Customer Portal
O Route Handler do Customer Portal permite integrar perfeitamente o portal do cliente do Dodo Payments ao seu aplicativo 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 ao cliente com o link do portal.Route Handler 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 handler de evento apropriado com base no tipo de payload.