Quick Start Guide
Get your first checkout session running in under 5 minutes
API Reference & Live Testing
Explore the full API documentation and interactively test Checkout Session requests and responses.
Preview Checkout
Calculate pricing, taxes, and totals before creating a session.
Session Validity: Checkout sessions are valid for 24 hours by default. If you pass
confirm=true in your request, the session will only be valid for 15 minutes.Prerequisites
1
Dodo Payments Account
You’ll need an active Dodo Payments merchant account with API access.
2
API Credentials
Generate your API credentials from the Dodo Payments dashboard:
3
Products Setup
Create your products in the Dodo Payments dashboard before implementing checkout sessions.
Creating Your First Checkout Session
- Node.js SDK
- Python SDK
- REST API
API Response
All methods above return the same response structure:1
Get the checkout URL
Extract the
checkout_url from the API response.2
Redirect your customer
Direct your customer to the checkout URL to complete their purchase.
3
Handle the return
After payment, customers are redirected to your
return_url with query parameters including payment/subscription ID, status, customer email, and any license keys. See the return_url parameter docs for the full list.Request Body
Required Fields
Essential fields needed for every checkout session
Optional Fields
Additional configuration to customize your checkout experience
Required Fields
Array of products to include in the checkout session. Each product must have a valid
product_id from your Dodo Payments dashboard.Campos Opcionais
Configure estes campos para personalizar a experiência de checkout e adicionar lógica de negócios ao seu fluxo de pagamento.Customer Information
Customer Information
Informações do cliente. Você pode anexar um cliente existente usando seu ID ou criar um novo registro de cliente durante o checkout.
- Attach Existing Customer
- New Customer
Anexe um cliente existente à sessão de checkout usando seu ID.
Informações de endereço de cobrança para cálculo preciso de impostos, prevenção de fraudes e conformidade regulatória.
Quando
confirm é definido como true, todos os campos de endereço de cobrança se tornam obrigatórios para a criação bem-sucedida da sessão.Payment Configuration
Payment Configuration
Controle quais métodos de pagamento estão disponíveis para clientes durante o checkout. Isso ajuda a otimizar para mercados específicos ou requisitos de negócios.Opções Disponíveis:
credit, debit, upi_collect, apple_pay, google_pay, amazon_pay, klarna, affirm, afterpay_clearpay, cashapp, multibanco, bancontact_card, eps, ideal, przelewy24, paypal, sunbitExemplo:Substitua a seleção de moeda padrão com uma moeda de cobrança fixa. Usado códigos de moeda ISO 4217.Moedas Suportadas:
USD, EUR, GBP, CAD, AUD, INR, e maisExemplo: "USD" para Dólares Americanos, "EUR" para EurosEste campo só é efetivo quando o precificação adaptativa está ativado. Se a precificação adaptativa estiver desativada, a moeda padrão do produto será usada.
Exiba métodos de pagamento salvos anteriormente para clientes retornantes, melhorando a velocidade do checkout e a experiência do usuário.
Session Management
Session Management
URL para redirecionar os clientes após a conclusão do pagamento. O aplicativo Dodo Payments anexa os seguintes parâmetros de consulta ao seu URL ao redirecionar:
Exemplos de URLs de redirecionamento:
URL para redirecionar clientes quando clicam no botão voltar ou cancelam a sessão de checkout. Se não for fornecido, o botão voltar não será exibido.
Se verdadeiro, finaliza todos os detalhes da sessão imediatamente. A API lançará um erro se dados obrigatórios estiverem ausentes.
Aplique um ou mais códigos de desconto empilhados à sessão de checkout. Os códigos são aplicados na ordem do array (o primeiro código reduz o preço base, o segundo reduz o preço já com desconto e assim por diante), até um máximo de 20 códigos por sessão.
O campo singular
discount_code abaixo está obsoleto mas ainda totalmente suportado — integrações existentes continuam funcionando sem alterações. Não pode ser combinado com discount_codes na mesma solicitação. Migre para discount_codes quando conveniente para aproveitar as vantagens da empilhamento.Obsoleto — prefira
discount_codes para novas integrações. Este campo ainda funciona para compatibilidade com versões anteriores, mas não pode ser combinado com discount_codes na mesma solicitação.Pares de chave-valor personalizados para armazenar informações adicionais sobre a sessão.
Substitua o comportamento padrão do 3DS do comerciante para esta sessão.
Habilite o modo de coleta mínima de endereço. Quando habilitado, o checkout coleta apenas:
- País: Sempre necessário para determinação de impostos
- Código Postal/CEP: Apenas em regiões onde é necessário para cálculo de imposto sobre vendas, IVA ou GST
UI Customization & Features
UI Customization & Features
Custom Fields
Custom Fields
Coletar informações adicionais dos clientes durante o checkout com campos de formulário personalizados. Você pode definir até 5 campos personalizados por sessão de checkout. As respostas dos clientes estão incluídas nas cargas úteis do webhook e disponíveis via API.
As respostas dos clientes aos campos personalizados estão incluídas em:
- Webhooks:
payment.succeeded,subscription.activee outros eventos relevantes contêm o arraycustom_field_responses - Respostas da API: Objetos de pagamento e assinatura incluem
custom_field_responses
Subscription Configuration
Subscription Configuration
Configuração adicional para sessões de checkout contendo produtos de assinatura.
Exemplos de Uso
Aqui estão 10 exemplos abrangentes mostrando diferentes configurações de sessão de checkout para vários cenários de negócios:1. Checkout Simples de Produto Único
2. Carrinho com Múltiplos Produtos
3. Assinatura com Período de Teste
4. Checkout Pré-confirmado
Quando
confirm é definido como true, o cliente será direcionado diretamente para a página de checkout, ignorando quaisquer etapas de confirmação.5. Checkout com Sobrescrita de Moeda
A sobrescrita
billing_currency só tem efeito quando a moeda adaptativa está ativada nas configurações da sua conta. Se a moeda adaptativa estiver desativada, esse parâmetro não terá efeito.6. Métodos de Pagamento Salvos para Clientes Retornantes
7. Checkout B2B com Coleta de ID Fiscal
8. Checkout com Tema Escuro com Códigos de Desconto Acumulados
9. Métodos de Pagamento Regionais (UPI para Índia)
Para informações detalhadas sobre configuração e teste do UPI, veja a página Métodos de Pagamento na Índia.10. Checkout BNPL (Compre Agora Pague Depois)
Para informações detalhadas sobre configuração e teste do BNPL, veja a página Compre Agora Pague Depois (BNPL).11. Usando Métodos de Pagamento Existentes para Checkout Instantâneo
Use um método de pagamento salvo do cliente para criar uma sessão de checkout que processa imediatamente, pulando a coleta do método de pagamento:O método de pagamento deve pertencer ao cliente e ser compatível com a moeda da transação. Isso permite compras com um clique para clientes retornantes.
12. Links Curtos para URLs de Pagamento Mais Limpos
Gere links de pagamento encurtados e compartilháveis com slugs personalizados:13. Pulando Página de Sucesso do Pagamento com Redirecionamento Imediato
Redirecione os clientes imediatamente após a conclusão do pagamento, pulando a página padrão de sucesso:Quando
redirect_immediately está habilitado, os clientes são redirecionados para seu return_url imediatamente após a conclusão do pagamento, pulando totalmente a página de sucesso padrão.14. Forçando um Idioma
Forçar o checkout a ser exibido em um idioma específico, substituindo a detecção de idioma do navegador do cliente:ar), Catalão (ca), Chinês (zh), Holandês (nl), Inglês (en), Francês (fr), Alemão (de), Hebraico (he), Indonésio (id), Italiano (it), Japonês (ja), Coreano (ko), Malaio (ms), Polonês (pl), Português (pt), Romeno (ro), Russo (ru), Espanhol (es), Sueco (sv), Tailandês (th), Turco (tr)
15. Coletando Campos Personalizados
Colete informações adicionais dos clientes durante o checkout usando campos personalizados:As respostas dos campos personalizados são automaticamente incluídas nas cargas úteis do webhook (
payment.succeeded, subscription.active, etc.) e podem ser recuperadas via API. Use-os para enriquecer seu CRM, acionar fluxos de integração ou personalizar a experiência do cliente.text, number, email, url, date, dropdown, boolean
Pré-visualização de Sessões de Checkout
Antes de criar uma sessão de checkout, você pode pré-visualizar a discriminação de preços incluindo impostos, descontos e totais. Isso é útil para exibir preços precisos aos clientes antes de procederem ao checkout.- Node.js SDK
- Python SDK
Preview API Reference
Veja a documentação completa do endpoint de pré-visualização.
Mudando de Links Dinâmicos para Sessões de Checkout
Diferenças Principais
Anteriormente, ao criar um link de pagamento com Links Dinâmicos, era necessário fornecer o endereço completo de cobrança do cliente. Com as Sessões de Checkout, isso não é mais necessário. Você pode simplesmente passar as informações que possui, e nós cuidaremos do resto. Por exemplo:- Se você souber apenas o país de cobrança do cliente, basta fornecer isso.
- O fluxo de checkout irá coletar automaticamente os detalhes ausentes antes de mover o cliente para a página de pagamento.
- Por outro lado, se você já tiver todas as informações necessárias e quiser ir diretamente para a página de pagamento, você pode fornecer o conjunto completo de dados e incluir
confirm=trueno corpo da sua solicitação.
Processo de Migração
Migrar de Links Dinâmicos para Sessões de Checkout é simples:1
Update your integration
Atualize sua integração para usar o novo método de API ou SDK.
2
Adjust request payload
Ajuste a carga da solicitação de acordo com o formato das Sessões de Checkout.
3
That's it!
Sim. Nenhum tratamento adicional ou etapas especiais de migração são necessárias da sua parte.
Referência de API Relacionada
Create Checkout Session
Referência completa da API para criar sessões de checkout com todos os parâmetros e opções disponíveis
Preview Checkout Session
Referência da API para pré-visualizar preços, impostos e totais antes de criar uma sessão