Overview
The Dodo Payments Checkout SDK provides a seamless way to integrate our payment overlay into your web application. Built with TypeScript and modern web standards, it offers a robust solution for handling payments with real-time event handling and customizable themes.
Demo
Interactive Demo
See the overlay checkout in action with our live demo.
Quick Start
Get started with the Dodo Payments Checkout SDK in just a few lines of code:Step-by-Step Integration Guide
Initialize the SDK
Initialize the SDK in your application, typically in your main component or app entry point:
Test Your Integration
- Start your development server:
- Test the checkout flow:
- Click the checkout button
- Verify the overlay appears
- Test the payment flow using test credentials
- Confirm redirects work correctly
You should see checkout events logged in your browser console.
API Reference
Configuration
Initialize Options
| Option | Type | Required | Description |
|---|---|---|---|
mode | "test" | "live" | Yes | Environment mode: 'test' for development, 'live' for production |
displayType | "overlay" | "inline" | No | Display type: 'overlay' for modal checkout (default), 'inline' for embedded checkout |
onEvent | function | Yes | Callback function for handling checkout events |
Checkout Options
| Opção | Tipo | Obrigatório | Descrição |
|---|---|---|---|
checkoutUrl | string | Sim | URL da sessão de checkout da API de criação de sessão de checkout |
options.showTimer | boolean | Não | Mostrar ou ocultar o temporizador de checkout. O padrão é true. Quando desativado, você receberá o evento checkout.link_expired quando a sessão expirar. |
options.showSecurityBadge | boolean | Não | Mostrar ou ocultar o badge de segurança. O padrão é true. |
Methods
Open Checkout
Opens the checkout overlay with the specified checkout session URL.Fechar Checkout
Fecha programaticamente o overlay de checkout.Verificar Status
Retorna se o overlay de checkout está atualmente aberto.Eventos
O SDK fornece eventos em tempo real aos quais você pode ouvir através do callbackonEvent:
| Tipo de Evento | Descrição |
|---|---|
checkout.opened | Overlay de checkout foi aberto |
checkout.form_ready | Formulário de checkout está pronto para receber a entrada do usuário. Útil para ocultar estados de carregamento. |
checkout.payment_page_opened | Página de pagamento foi exibida |
checkout.customer_details_submitted | Detalhes do cliente e de cobrança foram submetidos |
checkout.closed | Overlay de checkout foi fechado |
checkout.redirect | Checkout realizará um redirecionamento |
checkout.error | Ocorreu um erro durante o checkout |
checkout.link_expired | Acionado quando a sessão de checkout expira. Somente recebido quando showTimer é definido para false. |
Opções de Implementação
Instalação via Gerenciador de Pacotes
Instale via npm, yarn ou pnpm conforme mostrado no Guia de Integração Passo a Passo.Implementação via CDN
Para integração rápida sem uma etapa de build, você pode usar nosso CDN:Customização de Tema
Você pode personalizar a aparência do checkout passando um objetothemeConfig no parâmetro options ao abrir o checkout. A configuração do tema suporta modos claro e escuro, permitindo que você personalize cores, bordas, texto, botões e raio das bordas.
Esta seção cobre a configuração de tema client-side usando o Checkout SDK. Você também pode configurar temas server-side ao criar uma sessão de checkout via API usando o parâmetro
theme_config. Veja Customização de Tema do Checkout para configuração a nível de API, ou use a página Design no painel para configurar temas visualmente com visualização ao vivo.Configuração Básica de Tema
Configuração Completa de Tema
Todas as propriedades de tema disponíveis:Apenas Modo Claro
Se você deseja personalizar apenas o tema claro:Apenas Modo Escuro
Se você deseja personalizar apenas o tema escuro:Sobrescrita Parcial de Tema
Você pode sobrescrever apenas propriedades específicas. O checkout usará valores padrão para propriedades que você não especificar:Configuração de Tema com Outras Opções
Você pode combinar a configuração de tema com outras opções de checkout:Tipos do TypeScript
Para usuários do TypeScript, todos os tipos de configuração de tema são exportados:Tratamento de Erros
O SDK fornece informações detalhadas de erro através do sistema de eventos. Sempre implemente o tratamento adequado de erros no seu callbackonEvent:
Melhores Práticas
- Inicialize uma vez: Inicialize o SDK uma vez quando sua aplicação carregar, não a cada tentativa de checkout
- Tratamento de erros: Sempre implemente o tratamento adequado de erros no seu callback de eventos
- Modo de teste: Use o modo
testdurante o desenvolvimento e altere paraliveapenas quando estiver pronto para produção - Tratamento de eventos: Trate todos os eventos relevantes para uma experiência completa do usuário
- URLs válidas: Sempre use URLs de checkout válidas da API de criação de sessão de checkout
- TypeScript: Use TypeScript para melhor segurança de tipos e experiência do desenvolvedor
- Estados de carregamento: Mostre estados de carregamento enquanto o checkout é aberto para melhorar a UX
- Gestão de temporizador: Desative o temporizador (
showTimer: false) se você quiser lidar com a expiração da sessão manualmente
Solução de Problemas
Checkout not opening
Checkout not opening
Possíveis causas:
- SDK não inicializado antes de chamar
open() - URL de checkout inválida
- Erros de JavaScript no console
- Problemas de conectividade de rede
- Verifique se a inicialização do SDK ocorre antes de abrir o checkout
- Verifique erros no console
- Certifique-se de que a URL de checkout é válida e da API de criação de sessão de checkout
- Verifique a conectividade de rede
Events not firing
Events not firing
Possíveis causas:
- Manipulador de eventos não configurado corretamente
- Erros de JavaScript impedindo a propagação do evento
- SDK não inicializado corretamente
- Confirme se o manipulador de eventos está configurado corretamente em
Initialize() - Verifique o console do navegador para erros de JavaScript
- Verifique se a inicialização do SDK foi concluída com sucesso
- Teste com um manipulador de eventos simples primeiro
Styling issues
Styling issues
Possíveis causas:
- Conflitos de CSS com os estilos da sua aplicação
- Configurações de tema não aplicadas corretamente
- Problemas de design responsivo
- Verifique conflitos de CSS no DevTools do navegador
- Verifique se as configurações de tema estão corretas
- Teste em diferentes tamanhos de tela
- Certifique-se de que não há conflitos de z-index com o overlay
Ativando Carteiras Digitais
Para informações detalhadas sobre como configurar o Google Pay e outras carteiras digitais, veja a página de Carteiras Digitais.Apple Pay ainda não é suportado no overlay de checkout. Suporte para Apple Pay em breve.
Suporte a Navegadores
O SDK de Checkout Dodo Payments suporta os seguintes navegadores:- Chrome (última versão)
- Firefox (última versão)
- Safari (última versão)
- Edge (última versão)
- IE11+
Overlay vs Inline Checkout
Escolha o tipo de checkout certo para seu caso de uso:| Recurso | Overlay Checkout | Inline Checkout |
|---|---|---|
| Profundidade de integração | Modal sobre a página | Totalmente integrado na página |
| Controle de layout | Limitado | Controle total |
| Branding | Separado da página | Sem costura |
| Esforço de implementação | Menor | Maior |
| Melhor para | Integração rápida, páginas existentes | Páginas de checkout personalizadas, fluxos de alta conversão |
Recursos Relacionados
Inline Checkout
Incorpore checkout diretamente na sua página para experiências totalmente integradas.
Checkout Sessions API
Crie sessões de checkout para potencializar suas experiências de checkout.
Webhooks
Lide com eventos de pagamento no lado do servidor usando webhooks.
Integration Guide
Guia completo para integrar Dodo Payments.