Visão Geral
O SDK de Checkout do Dodo Payments fornece uma maneira perfeita de integrar nosso overlay de pagamento em sua aplicação web. Construído com TypeScript e padrões modernos da web, oferece uma solução robusta para lidar com pagamentos com manipulação de eventos em tempo real e temas personalizáveis.
Demonstração
Demonstração Interativa
Veja o checkout em overlay em ação com nossa demonstração ao vivo.
Começo Rápido
Comece com o SDK de Checkout do Dodo Payments em apenas algumas linhas de código:Guia de Integração Passo a Passo
1
Instalar o SDK
Instale o SDK de Checkout do Dodo Payments usando seu gerenciador de pacotes preferido:
2
Inicializar o SDK
Inicialize o SDK em sua aplicação, tipicamente em seu componente principal ou ponto de entrada do app:
3
Criar um Componente de Botão de Checkout
Crie um componente que abre o overlay de checkout:
4
Adicionar Checkout à Sua Página
Use o componente de botão de checkout em sua aplicação:
5
Gerenciar Páginas de Sucesso e Falha
Crie páginas para gerenciar redirecionamentos de checkout:
6
Teste Sua Integração
- Inicie seu servidor de desenvolvimento:
- Teste o fluxo de checkout:
- Clique no botão de checkout
- Verifique se o overlay aparece
- Teste o fluxo de pagamento usando credenciais de teste
- Confirme se os redirecionamentos funcionam corretamente
Você deve ver eventos de checkout registrados no console do seu navegador.
7
Ir para Produção
Quando estiver pronto para produção:
- Altere o modo para
'live':
- Atualize suas URLs de checkout para usar sessões de checkout ao vivo do seu backend
- Teste o fluxo completo em produção
- Monitore eventos e erros
Referência da API
Configuração
Opções de Inicialização
| Opção | Tipo | Requerido | Descrição |
|---|---|---|---|
mode | "test" | "live" | Sim | Modo de ambiente: 'test' para desenvolvimento, 'live' para produção |
displayType | "overlay" | "inline" | Não | Tipo de exibição: 'overlay' para checkout modal (padrão), 'inline' para checkout embutido |
onEvent | function | Sim | Função de callback para manipular eventos de checkout |
Opções de Checkout
| Opção | Tipo | Requerido | 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 distintivo de segurança. O padrão é true. |
options.manualRedirect | boolean | Não | Quando habilitado, o checkout não redirecionará automaticamente após a conclusão. Em vez disso, você receberá os eventos checkout.status e checkout.redirect_requested para gerenciar o redirecionamento você mesmo. |
Métodos
Abrir Checkout
Abre o overlay de checkout com a URL da sessão de checkout especificada.manualRedirect, manipule a conclusão do checkout em seu callback onEvent:
Fechar Checkout
Fecha programaticamente a sobreposição de checkout.Verificar Status
Retorna se a sobreposição de checkout está atualmente aberta.Eventos
O SDK fornece eventos em tempo real que você pode ouvir através do callbackonEvent:
Dados do Evento de Status do Checkout
QuandomanualRedirect está habilitado, você recebe o evento checkout.status com os seguintes dados:
Dados do Evento de Redirecionamento do Checkout Solicitado
QuandomanualRedirect está habilitado, você recebe o evento checkout.redirect_requested com os seguintes dados:
| Tipo de Evento | Descrição |
|---|---|
checkout.opened | A sobreposição de checkout foi aberta |
checkout.payment_page_opened | A página de pagamento foi exibida |
checkout.customer_details_submitted | Detalhes do cliente e de cobrança foram enviados |
checkout.closed | A sobreposição de checkout foi fechada |
checkout.redirect | O checkout realizará um redirecionamento |
checkout.error | Ocorreu um erro durante o checkout |
checkout.link_expired | Disparado quando a sessão de checkout expira. Recebido apenas quando showTimer está definido como false. |
checkout.status | Disparado quando manualRedirect está habilitado. Contém o status do checkout (succeeded, failed, ou processing). |
checkout.redirect_requested | Disparado quando manualRedirect está habilitado. Contém a URL para redirecionar o cliente. |
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 CDN
Para uma integração rápida sem uma etapa de construção, você pode usar nosso CDN:Suporte a TypeScript
O SDK é escrito em TypeScript e inclui definições de tipo abrangentes. Todas as APIs públicas são totalmente tipadas para melhor experiência do desenvolvedor e suporte a IntelliSense.Tratamento de Erros
O SDK fornece informações detalhadas sobre erros através do sistema de eventos. Sempre implemente um tratamento de erros adequado em seu callbackonEvent:
Melhores Práticas
- Inicialize uma vez: Inicialize o SDK uma vez quando seu aplicativo carregar, não em cada tentativa de checkout
- Tratamento de erros: Sempre implemente um tratamento de erros adequado em seu callback de evento
- Modo de teste: Use o modo
testdurante o desenvolvimento e mude paraliveapenas quando estiver pronto para produção - Tratamento de eventos: Manipule 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 tipo e experiência do desenvolvedor
- Estados de carregamento: Mostre estados de carregamento enquanto o checkout está abrindo para melhorar a experiência do usuário
- Redirecionamentos manuais: Use
manualRedirectquando precisar de controle personalizado sobre a navegação pós-checkout - Gerenciamento de temporizador: Desative o temporizador (
showTimer: false) se você quiser gerenciar a expiração da sessão manualmente
Solução de Problemas
Checkout não abrindo
Checkout não abrindo
Causas possíveis:
- 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 acontece antes de abrir o checkout
- Verifique se há 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
Eventos não disparando
Eventos não disparando
Causas possíveis:
- Manipulador de eventos não configurado corretamente
- Erros de JavaScript impedindo a propagação de eventos
- 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 primeiro com um manipulador de eventos simples
Problemas de estilo
Problemas de estilo
Causas possíveis:
- Conflitos de CSS com os estilos do seu aplicativo
- Configurações de tema não aplicadas corretamente
- Problemas de design responsivo
- Verifique se há conflitos de CSS nas 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 a sobreposição
Habilitando Apple Pay
O Apple Pay permite que os clientes concluam pagamentos de forma rápida e segura usando seus métodos de pagamento salvos. Quando habilitado, os clientes podem iniciar o modal do Apple Pay diretamente da sobreposição de checkout em dispositivos suportados.O Apple Pay é suportado no iOS 17+, iPadOS 17+ e Safari 17+ no macOS.
1
Baixar e fazer upload do arquivo de associação de domínio do Apple Pay
Baixe o arquivo de associação de domínio do Apple Pay.Faça o upload do arquivo para seu servidor web em
/.well-known/apple-developer-merchantid-domain-association. Por exemplo, se seu site for example.com, disponibilize o arquivo em https://example.com/well-known/apple-developer-merchantid-domain-association.2
Solicitar ativação do Apple Pay
Envie um e-mail para [email protected] com as seguintes informações:
- Sua URL de domínio de produção (por exemplo,
https://example.com) - Solicitação para habilitar o Apple Pay para seu domínio
Você receberá confirmação dentro de 1-2 dias úteis assim que o Apple Pay for habilitado para seu domínio.
3
Verificar disponibilidade do Apple Pay
Após receber a confirmação, teste o Apple Pay em seu checkout:
- Abra seu checkout em um dispositivo suportado (iOS 17+, iPadOS 17+ ou Safari 17+ no macOS)
- Verifique se o botão do Apple Pay aparece como uma opção de pagamento
- Teste todo o fluxo de pagamento
Suporte a Navegadores
O SDK de Checkout do Dodo Payments suporta os seguintes navegadores:- Chrome (última versão)
- Firefox (última versão)
- Safari (última versão)
- Edge (última versão)
- IE11+
Checkout em Sobreposição vs Checkout Inline
Escolha o tipo de checkout certo para seu caso de uso:| Recurso | Checkout em Sobreposição | Checkout Inline |
|---|---|---|
| Profundidade de integração | Modal sobre a página | Totalmente embutido 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
Checkout Inline
Incorpore o checkout diretamente em sua página para experiências totalmente integradas.
API de Sessões de Checkout
Crie sessões de checkout para potencializar suas experiências de checkout.
Webhooks
Manipule eventos de pagamento no lado do servidor com webhooks.
Guia de Integração
Guia completo para integrar o Dodo Payments.