A API responde quando você pergunta; o webhook fala quando algo acontece. Você cadastra uma URL, escolhe os eventos, e a Doare chama a URL com um JSON a cada doação paga, assinatura cancelada, doador novo. É a base de qualquer integração em tempo real: atualizar o ERP, mandar uma mensagem no Slack, abrir uma tarefa. Este artigo cobre a configuração, o payload, a segurança e os erros comuns.
X-Doare-Signature.| Evento | Quando | Uso típico |
|---|---|---|
donation.paid | Pagamento confirmado | Registrar no ERP; avisar a equipe; agradecer em outro canal. |
donation.pending | Pix ou boleto gerado, ainda não pago | Régua própria de lembrete. |
donation.refunded | Estorno ou chargeback | Ajustar o ERP; cancelar benefício. |
subscription.created | Nova assinatura ativa | Boas-vindas em outro sistema; carteirinha. |
subscription.payment_failed | Cobrança recorrente falhou | Alerta ao financeiro. |
subscription.canceled | Assinatura cancelada | Encerrar benefício; registrar o motivo. |
donor.created | Novo contato no CRM | Sincronizar com outro CRM. |
Seu sistema, ou um webhook do Zapier/Make.
Cole a URL e marque os eventos.
É com ele que o seu sistema confere que a chamada veio da Doare.
Um evento de teste chega na hora. Confira o log do seu lado.
{
"id": "evt_01J7X4K9M2",
"type": "donation.paid",
"created_at": "2026-09-07T14:32:10-03:00",
"data": {
"id": 4831207,
"doador_id": 90214,
"doador_nome": "Carlos Eduardo Lins",
"doador_email": "carlos@exemplo.com.br",
"data": "2026-09-07T14:32:08-03:00",
"status": "pago",
"moeda": "BRL",
"valor_bruto": 100.00,
"valor_liquido": 96.01,
"forma_pagamento": "pix",
"tipo_captacao": "crowdfunding",
"recorrente": false,
"id_assinatura": null,
"campanha": "Bolsas de Estudo 2026",
"utm_source": "instagram",
"utm_medium": "bio",
"utm_campaign": "bolsas-set"
}
}id é único por evento: use-o para ignorar duplicatas.type diz o evento; data tem o objeto, com os mesmos campos da API de transações.const crypto = require('crypto');
const esperado = crypto.createHmac('sha256', SEGREDO).update(corpoBruto).digest('hex');
const ok = crypto.timingSafeEqual(Buffer.from(esperado), Buffer.from(req.headers['x-doare-signature']));X-Doare-Signature. Rejeite o que não confere.id do evento processado e ignore repetições.donation.refunded pode chegar antes do donation.paid em caso de reenvio; use as datas.Nunca use o webhook como única fonte da verdade financeira. Ele é um aviso; a confirmação é a API ou o painel. Para conciliação, use a exportação.
Zapier, Make e ferramentas parecidas oferecem uma URL de webhook que aceita o POST e deixa você montar o resto por cliques: uma linha na planilha, uma mensagem no Slack, um contato no HubSpot. Cadastre a URL deles como endpoint, marque donation.paid, e monte o fluxo lá. É o caminho para a maioria das organizações.
Este artigo respondeu sua dúvida?
Desculpe por isso. Fale com o time da Doare e a gente resolve com você — e usa seu retorno para melhorar este artigo.
Vários. Um por sistema é o normal: produção, homologação, Zapier.
Não. Só a partir da criação do endpoint. Para o histórico, use a API.
Sim, em Entregas, no menu do endpoint: cada evento tem Reenviar.
Os eventos são reenviados por 24 horas. Depois, ficam em Entregas para reenvio manual, sem perda.
Gere um novo no menu do endpoint; o antigo para de valer na hora. Atualize o seu sistema.
Sem compromisso · 30 min · Resposta em até 24h
Um especialista da Doare vai entrar em contato em até 24 horas pelo e-mail ou WhatsApp que você informou.
Enquanto isso, conheça nossos cases de sucesso.
Ver causas atendidas →Agendar demonstração
Mais de 4.500 organizações cadastradas já usam a infraestrutura que faz ONGs captarem mais. Junte-se a elas.
Você é um doador? A Doare é uma plataforma para organizações. Conheça causas que precisam de você.
Ver cases →Preencha para agendar
Carregando formulário…
Sem compromisso · 30 min · Resposta em até 24h