Skip to main content

Introdução

A integração com o Resend envia um email transacional por meio do Resend quando ocorre um evento do Dodo Payments. Use-a para confirmar pagamentos, dar boas-vindas a novos assinantes e informar aos clientes quando um pagamento falhar, usando seu próprio domínio de envio.
Esta integração requer uma chave de API do Resend com Sending access e um domínio de envio verificado no Resend. Você também precisa ter acesso a Developer → Webhooks no dashboard do Dodo Payments.

Começando

1

Open the Webhook Section

No dashboard do Dodo Payments, acesse Developer → Webhooks e clique em Add endpoint.
Add endpoint dialog with Resend selected in the Integration dropdown and the How to connect Resend steps
2

Select Resend

Em Integration, selecione Resend. O dashboard preenche o Endpoint URL e o código de transformação para o Resend, e o painel How to connect Resend mostra as etapas de configuração.
3

Enter API Key

No Resend, abra API Keys, clique em Create API Key e conceda à chave Sending access. O Resend exibe a chave, que começa com re_, apenas uma vez. Cole-a em API key. O Dodo Payments a envia como um token bearer no cabeçalho Authorization de cada solicitação ao Resend.
4

Select Events

Em Subscribed events, selecione apenas os eventos tratados pela sua transformação. Um evento que a transformação deixa inalterado chega ao Resend no formato do Dodo Payments, e o Resend o rejeita.
5

Configure Transformation

Em Transformation code, edite o handler para que cada evento inscrito se torne um email do Resend. Comece pelos exemplos.
6

Test & Create

Em Test this code, selecione um tipo de evento e clique em Simulate para visualizar a solicitação enviada ao Resend. Em seguida, clique em Create endpoint.
7

Done

O Dodo Payments agora envia um email por meio do Resend para cada evento inscrito. Para ver cada entrega e a resposta do Resend, abra a aba Logs em Developer → Webhooks.

Exemplos de código de transformação

Cada handler define webhook.url como o endpoint de envio de emails do Resend e substitui webhook.payload pelo email. Os valores do Dodo Payments estão na menor unidade da moeda, portanto os exemplos dividem por 100 e mostram o código da moeda. Para moedas sem casas decimais, como JPY e KRW, use o valor como está.

Email de confirmação de pagamento

Envie um recibo quando um pagamento for concluído (payment.succeeded):
payment_confirmation.js

Email de boas-vindas à assinatura

Dê boas-vindas a um cliente quando uma assinatura se tornar ativa (subscription.active):
subscription_welcome.js

Notificação de falha no pagamento

Peça ao cliente que atualize a forma de pagamento quando um pagamento falhar (payment.failed):
payment_failure.js

Dicas

  • Envie a partir de um domínio que você verificou no Resend, o que melhora a capacidade de entrega.
  • Inclua uma versão html e uma versão text de cada email.
  • Personalize o conteúdo com dados do cliente presentes no payload, como customer.name.
  • Escreva linhas de assunto que indiquem o resultado ou a ação necessária.
  • Inclua um link de cancelamento de inscrição em qualquer email que contenha conteúdo de marketing.
  • Visualize cada template com Simulate antes de criar o endpoint.
  • Para ignorar um evento no código, defina webhook.cancel = true antes de retornar o webhook. Os logs registram uma entrega ignorada como bem-sucedida.

Solução de problemas

  • Verifique se a chave de API está correta, ativa e tem Sending access. Para substituí-la, edite o endpoint e cole uma nova chave em API key.
  • Verifique se o domínio do remetente está verificado no Resend.
  • Verifique se os endereços de email dos destinatários são válidos.
  • Verifique os limites e as cotas de envio do Resend para o seu plano.
  • Abra a aba Logs em Developer → Webhooks e leia a resposta do Resend para a entrega que falhou.
  • Verifique se o payload corresponde ao formato de envio de emails do Resend. O Resend exige from, to e subject.
  • Verifique se cada evento tratado pelo seu código define todos os campos obrigatórios.
  • Verifique se o valor de html é um HTML bem formatado.
  • Verifique se o endereço de from usa um domínio verificado no Resend.
Última modificação em 26 de setembro de 2026