Skip to main content

Introdução

Conecte o Dodo Payments ao GoHighLevel (GHL) para vender pelos seus funis, sites, e-mails e SMS do GHL e processar pedidos com a automação do GHL. O GHL é uma plataforma de CRM e marketing com funis, sites, e-mail e SMS e automação (Workflows). O GHL não lista o Dodo Payments como processador de pagamentos integrado, então você conecta os dois de uma destas três maneiras. Escolha uma com base no nível de integração desejado para o checkout e na quantidade de código que você consegue escrever. Todas as abordagens lidam com o processamento da mesma forma: o Dodo Payments envia eventos de webhook para um workflow de Inbound Webhook do GHL, que adiciona uma tag ao contato, concede acesso e envia confirmações.

Escolha sua abordagem

As três abordagens diferem no código necessário e no local onde o cliente paga:
Se você é novo no Dodo Payments, comece pela Abordagem A (Payment Links). Ela não exige código e funciona para todos os usuários do GHL. As abordagens B e C precisam de um backend que crie sessões de checkout, portanto são adequadas para equipes familiarizadas com código.

Pré-requisitos

Antes de começar, você precisa de:
  • Uma conta do Dodo Payments com pelo menos um produto.
  • Uma conta do GoHighLevel com um funil, site ou workflow.
  • Acesso a Developer → Webhooks no dashboard do Dodo Payments e a Developer → API Keys se precisar de uma API key.
  • Para as abordagens B e C: um pequeno backend ou endpoint serverless que crie sessões de checkout.
O GHL exige um domínio conectado para publicar um funil. Enquanto estiver criando, use o Preview do funil para testar. O JavaScript personalizado (abordagens B e C) geralmente é executado apenas na página publicada em um domínio real, não no Preview.

Processamento com Webhooks (todas as abordagens)

O workflow do webhook é a camada de automação. Configure-o uma vez e ele funcionará com todas as abordagens de checkout.
1

Create the Workflow

Na sua sub-account do GHL, abra Automation no menu à esquerda. A aba Workflows será aberta. Clique em Create workflow e escolha Start from Scratch.
2

Add the Inbound Webhook Trigger

No builder, clique em Add new trigger. No painel Add trigger, pesquise por webhook e selecione Inbound webhook, listado em Triggers → Events. Copie a Webhook URL gerada.
3

Register the Webhook in Dodo Payments

No dashboard do Dodo Payments, acesse Developer → Webhooks e clique em Add endpoint. Cole a URL do GHL Inbound Webhook em Endpoint URL e clique em Create endpoint. Em seguida, forneça ao GHL um payload de exemplo para mapear campos, como o e-mail do cliente, o produto, o valor e o status. Faça uma compra de teste ou abra a aba Testing do endpoint, selecione um tipo de evento e clique em Send example.
4

Add Fulfillment Actions

No workflow do GHL, adicione ações para o evento, como find/create contact by email, add a tag, grant course/membership access e send a confirmation email. Depois, Publish o workflow.
O Dodo Payments processa os pagamentos, portanto eles não aparecem na aba Payments do GHL. Registre-os no GHL usando o workflow do webhook acima. Conceda acesso a partir do webhook, não do redirecionamento do navegador, pois o cliente pode fechar a aba antes que o redirecionamento seja concluído.
Adicione um link de pagamento do Dodo Payments a qualquer botão do GHL, chamada para ação do funil, botão da página de pedido, e-mail ou SMS. Os clientes pagam no checkout hospedado do Dodo Payments. Para saber o que o checkout oferece, consulte Recursos do Checkout.
1

Create a Product and Copy Its Payment Link

No dashboard do Dodo Payments, acesse Products e clique em Add Product. Defina o name e o price, escolha one-time ou subscription e salve o produto. Na linha do produto, clique em Share e depois em Copy payment link. O link tem o formato https://checkout.dodopayments.com/buy/{product_id}.
2

Add the Link to Your GHL Button

Edite o funil ou a página do site e selecione o Buy / Checkout button. Defina a ação como Open URL / Website e cole seu link de pagamento.
3

Set a Success Page (Optional)

Para levar os clientes de volta ao seu funil depois que pagarem, informe a página de agradecimento do GHL em Redirect URL, na janela Share do produto, antes de copiar o link. O link passará a conter esse valor como o parâmetro redirect_url.
Os parâmetros de consulta do link de pagamento podem preencher previamente e bloquear dados do cliente ou adicionar rastreamento. Por exemplo, passe o ID de um funil ou oferta como um parâmetro metadata_* e leia-o novamente a partir do webhook. Consulte Links de pagamento estáticos para ver todos os parâmetros.

Abordagem B: Overlay Checkout (código personalizado)

A abordagem B abre o checkout do Dodo Payments como um modal overlay na página do GHL, usando o Checkout SDK de uma CDN. Ela precisa de um backend que crie uma sessão de checkout e retorne seu checkoutUrl.
1

Create a Backend Endpoint That Calls the Checkout Sessions API

Esta etapa é obrigatória. O SDK precisa de uma URL de sessão de checkout, e a criação de uma sessão exige sua secret API key. O GHL hospeda apenas páginas e não pode fazer essa chamada no servidor por você. Nunca chame a Create Checkout Session API no navegador, pois isso expõe sua chave secreta no código-fonte da página. Portanto, o checkout overlay e o inline não funcionam apenas com o GHL: você precisa de um backend sob seu controle que crie a sessão e retorne somente a URL.Qualquer backend pequeno funciona: uma função serverless (Cloudflare Workers, Vercel Functions, AWS Lambda, Supabase Edge Functions e similares) ou um endpoint em um servidor que você já execute. A lógica é a mesma em todas as plataformas: receber a solicitação, chamar a API do Dodo Payments com sua chave secreta e retornar o checkout_url.Exemplo de lógica do handler, para adaptar à sua plataforma:
Armazene sua API key como um secret na variável de ambiente DODO_PAYMENTS_API_KEY da plataforma na qual fará o deploy e nunca faça commit dela no código. Permita solicitações do seu domínio do GHL (CORS) e disponibilize o endpoint em um domínio sob seu controle, por exemplo https://api.example.com/create-checkout. Quando passar para o modo live, altere a URL para https://live.dodopayments.com/checkouts.
2

Add a Custom Code Element in the GHL Page Builder

Abra a etapa do funil ou a página do site no page builder do GHL e, em seguida:
  1. Clique no ícone + no canto superior esquerdo do builder para abrir Quick Add.
  2. Selecione Elements na lista de categorias à esquerda.
  3. Encontre Custom Code (também exibido como HTML) e arraste-o para a página.
  4. Cole o código abaixo no editor de código do elemento e salve.
3

Publish and Test on Your Domain

O JavaScript personalizado é executado na página publicada em seu domínio conectado e pode não ser executado no Preview. Publique a página e clique em Pay Now para confirmar que o overlay é aberto.

Abordagem C: Inline (incorporado) Checkout

A abordagem C incorpora o formulário de checkout dentro da página do GHL, sem redirecionamento nem popup. Ela usa o mesmo SDK com um elemento de contêiner no qual o checkout é montado. Assim como a abordagem B, precisa de um backend para criar a sessão.
1

Create a Backend Endpoint That Calls the Checkout Sessions API

Esta etapa é obrigatória, assim como no checkout overlay. A criação de uma sessão exige sua secret API key, portanto deve ocorrer em um servidor, e o GHL não consegue fazer isso sozinho. Reutilize o endpoint de backend da seção Overlay Checkout acima: qualquer função serverless pequena ou servidor sob seu controle que chame a Create Checkout Session API e retorne { checkoutUrl }.
2

Add a Container and SDK via Custom Code

No page builder do GHL:
  1. Clique no ícone + no canto superior esquerdo do builder para abrir Quick Add.
  2. Selecione Elements na lista de categorias à esquerda.
  3. Encontre Custom Code (também exibido como HTML) e arraste-o para a página, no local em que deseja exibir o formulário de checkout.
  4. Cole o código abaixo no editor de código do elemento e salve.
3

Verify Your Domain for Wallets (Apple Pay)

Para oferecer Apple Pay no inline checkout, verifique seu domínio. No dashboard do Dodo Payments, acesse Settings → Payment Methods e clique em Manage domains na linha do Apple Pay. Baixe o arquivo de associação de domínio, hospede-o no seu domínio e registre o domínio. O Apple Pay não está disponível no overlay checkout (Approach B).Um domínio hospedado pelo GHL não pode hospedar o arquivo de associação de domínio. O Apple Pay no inline checkout requer um domínio sob seu controle que possa servir /.well-known/apple-developer-merchantid-domain-association. Em páginas hospedadas pelo GHL, use o hosted checkout do Payment Links (Approach A) ou não use o Apple Pay.
O inline checkout é a opção mais complexa no GHL. Ele requer código personalizado, um backend, uma página publicada em um domínio real e, para o Apple Pay, a verificação do domínio. Se você não precisa de um formulário totalmente incorporado, use o Approach A ou B.

Eventos a serem tratados

Inscreva o endpoint do GHL nos eventos usados pelo seu workflow. A tabela sugere uma ação do GHL para cada evento: Os eventos de pagamento e assinatura incluem o e-mail do cliente em data.customer.email. Use a ação find/create contact by email do GHL para associar o pagamento ao contato correto. Para cada evento, consulte o Webhook Event Guide.

Testes e entrada em produção

1

Test in Test Mode

Mantenha a opção Live Mode na barra lateral do Dodo Payments desativada para trabalhar no modo de teste. Conclua uma compra com o cartão de teste 4242 4242 4242 4242 (validade 06/32, CVV 123) e confirme que o workflow do GHL é executado e aplica a tag ou concede o acesso.
2

Go Live

Ative a opção Live Mode e adicione a URL do GHL Inbound Webhook como endpoint no modo de produção. O que mais precisa ser alterado depende da sua abordagem:
  • Payment Links (A): Substitua o link pelo link de pagamento live do produto.
  • Overlay checkout (B): Aponte seu backend para https://live.dodopayments.com/checkouts usando sua chave de API live e defina mode como "live" na chamada INLINE_CODE_PLACEHOLDER_f5db7a37f0e5ebbcf_END do SDK.
  • Inline checkout (C): Faça as mesmas alterações do overlay checkout, pois ele usa o mesmo endpoint do backend e a mesma inicialização do SDK.
Depois, faça uma compra real do início ao fim para confirmar a configuração.

Dicas

Considere o webhook como a fonte de verdade para conceder acesso. Aja com base em payment.succeeded ou subscription.active, não no redirecionamento do navegador.
Um GHL Inbound Webhook não pode verificar o cabeçalho webhook-signature. Para garantir que somente eventos genuínos do Dodo Payments acionem o fulfillment no GHL, aponte o endpoint de webhook do Dodo Payments para seu próprio backend, verifique cada evento nele (Webhooks) e encaminhe-o para a URL do GHL Inbound Webhook.

Solução de problemas

Verifique se o endpoint de webhook do Dodo Payments aponta para a URL correta do GHL Inbound Webhook, se o workflow está published e se o trigger capturou um payload de exemplo, para que o mapeamento dos campos exista.
O JavaScript personalizado geralmente é executado apenas na página publicada em um domínio real, não no Preview. Confirme se a página foi publicada, se o SDK <script> foi carregado e se checkoutUrl é uma URL de sessão válida do seu backend.
Verifique se seu workflow usa find/create contact by email e se o campo de e-mail foi mapeado a partir do payload do webhook.
Isso é esperado. O Dodo Payments processa os pagamentos; portanto, registre-os no GHL com o workflow do webhook.
Última modificação em 28 de setembro de 2026