Pré-requisitos
Para integrar a API de Pagamentos Dodo, você precisará:- Uma conta de comerciante Dodo Payments
- Credenciais da API (chave da API e chave secreta do webhook) do painel
Configuração do Painel
- Navegue até o Painel de Pagamentos Dodo
- Crie um produto (pagamento único ou assinatura)
-
Gere sua chave da API:
- Vá para Desenvolvedor > API
- Guia Detalhado
- Copie a chave da API no env nomeado DODO_PAYMENTS_API_KEY
-
Configure webhooks:
- Vá para Desenvolvedor > Webhooks
- Crie uma URL de webhook para notificações de pagamento
- Copie a chave secreta do webhook no env
Integração
Links de Pagamento
Escolha o caminho de integração que se adapta ao seu caso de uso:- Sessões de Checkout (recomendado): Melhor para a maioria das integrações. Crie uma sessão em seu servidor e redirecione os clientes para um checkout seguro e hospedado.
- Checkout Overlay (embutido): Use quando precisar de uma experiência em página que embute o checkout hospedado em seu site.
- Links de Pagamento Estáticos: URLs compartilháveis instantaneamente, sem código, para coleta rápida de pagamentos.
- Links de Pagamento Dinâmicos: Links criados programaticamente. No entanto, as Sessões de Checkout são recomendadas e oferecem mais flexibilidade.
1. Sessões de Checkout
Use Sessões de Checkout para criar uma experiência de checkout segura e hospedada para pagamentos únicos ou assinaturas. Você cria uma sessão em seu servidor e, em seguida, redireciona o cliente para ocheckout_url.
As sessões de checkout são válidas por 24 horas por padrão. Se você passar
confirm=true, as sessões são válidas por 15 minutos e todos os campos obrigatórios devem ser fornecidos.1
Criar uma sessão de checkout
Escolha seu SDK preferido ou chame a API REST.
- Node.js SDK
- Python SDK
- REST API
2
Redirecionar o cliente para o checkout
Após a criação da sessão, redirecione para o
checkout_url para iniciar o fluxo hospedado.2. Checkout Overlay
Para uma experiência de checkout em página sem interrupções, explore nossa integração de Checkout Overlay que permite que os clientes concluam pagamentos sem sair do seu site.3. Links de Pagamento Estáticos
Links de pagamento estáticos permitem que você aceite pagamentos rapidamente compartilhando uma URL simples. Você pode personalizar a experiência de checkout passando parâmetros de consulta para preencher automaticamente os detalhes do cliente, controlar campos de formulário e adicionar metadados personalizados.1
Construa seu link de pagamento
Comece com a URL base e anexe seu ID de produto:
2
Adicione parâmetros principais
Inclua parâmetros de consulta essenciais:
-
Número de itens a serem comprados.
-
URL para redirecionar após a conclusão do pagamento.
A URL de redirecionamento incluirá detalhes do pagamento como parâmetros de consulta, por exemplo:
https://example.com/?payment_id=pay_ts2ySpzg07phGeBZqePbH&status=succeeded3
Pré-preencher informações do cliente (opcional)
Adicione campos de cliente ou cobrança como parâmetros de consulta para agilizar o checkout.
Campos de Cliente Suportados
Campos de Cliente Suportados
-
Nome completo do cliente (ignorado se firstName ou lastName forem fornecidos).
-
Primeiro nome do cliente.
-
Último nome do cliente.
-
Endereço de e-mail do cliente.
-
País do cliente.
-
Endereço.
-
Cidade.
-
Estado ou província.
-
Código postal/ZIP.
-
true ou false
4
Controlar campos de formulário (opcional)
Você pode desabilitar campos específicos para torná-los somente leitura para o cliente. Isso é útil quando você já possui os detalhes do cliente (por exemplo, usuários logados).
disable… como true:- Tabela de Flags de Desabilitação
| Campo | Flag de Desabilitação | Parâmetro Obrigatório |
|---|---|---|
| Nome Completo | disableFullName | fullName |
| Primeiro Nome | disableFirstName | firstName |
| Último Nome | disableLastName | lastName |
disableEmail | email | |
| País | disableCountry | country |
| Endereço | disableAddressLine | addressLine |
| Cidade | disableCity | city |
| Estado | disableState | state |
| Código Postal | disableZipCode | zipCode |
Definir
showDiscounts=false desabilitará e ocultará a seção de descontos no formulário de checkout. Use isso se você quiser impedir que os clientes insiram códigos de cupom ou promoções durante o checkout.5
Adicionar controles avançados (opcional)
-
Especifica a moeda de pagamento. Por padrão, é a moeda do país de cobrança.
-
Mostrar ou ocultar o seletor de moeda.
-
Valor em centavos (apenas para preços do tipo Pay What You Want).
-
Campos de metadados personalizados (por exemplo,
metadata_orderId=123).
6
Compartilhar o link
Envie o link de pagamento completo para seu cliente. Quando eles visitarem, todos os parâmetros de consulta são coletados e armazenados com um ID de sessão. A URL é então simplificada para incluir apenas o parâmetro de sessão (por exemplo,
?session=sess_1a2b3c4d). As informações armazenadas persistem através de atualizações de página e são acessíveis durante todo o processo de checkout.A experiência de checkout do cliente agora está simplificada e personalizada com base em seus parâmetros.
4. Links de Pagamento Dinâmicos
Criados via chamada de API ou nosso SDK com detalhes do cliente. Aqui está um exemplo: Existem duas APIs para criar links de pagamento dinâmicos:- API de Link de Pagamento Único referência da API
- API de Link de Pagamento de Assinatura referência da API
Certifique-se de que você está passando
payment_link = true para obter o link de pagamento - Node.js SDK
- Python SDK
- Go SDK
- Referência da API
Após criar o link de pagamento, redirecione seus clientes para concluir o pagamento.