Chamada ao LLM além de ~20 s → a Stripe marca falha e tenta de novo → o handler roda duas vezes → processamento duplicado.
/v1/webhook_endpoints · status: failed
Seu handler leva 45 s numa chamada ao LLM. A Stripe dá timeout em cerca de 20 s e tenta de novo. Seus clientes têm o pedido liberado duas vezes: você envia, credita ou manda e-mail duas vezes.
O AnyHook fica entre o remetente e o seu handler. Armazena, tenta de novo, registra e faz o replay de tudo, sem mexer no código do seu handler.
evt_3Pk2X3b1Lcx
A requisição deu timeout. A Stripe tenta de novo com backoff por até 3 dias.
$ stripe webhooks update we_1234
--url in.anyhook.net/u/app
✓ Endpoint updated
✓ Delivering to AnyHookevt_3Pk2X3b1Lcx
tentativa 1 · recebimento confirmado · handler de 47,2 s
// before
await llm.run(evt); /* 45s */
// after
return Response.json({ ok: true });novas tentativas do remetente evitadas
127
Chamada ao LLM além de ~20 s → a Stripe marca falha e tenta de novo → o handler roda duas vezes → processamento duplicado.
/v1/webhook_endpoints · status: failed
O bot precisa responder em 3 s. O agente de IA leva 30 s → o Slack tenta de novo 3 vezes → seu bot pode responder até 4 vezes.
Responda depois disso e conta como falha: 8 novas tentativas ao longo de 4 horas, e depois falhas repetidas excluem a inscrição. Os pedidos param de chegar.
Tráfego de webhooks em produção. Mais barato que 2 semanas construindo novas tentativas você mesmo.
Você nunca precisa acreditar na nossa palavra sobre uma entrega. A biblioteca de verificação de assinatura e o servidor MCP são Apache 2.0: github.com/gba3124/anyhook-mcp. O serviço de relay em si não é open source.
Crie a conta com e-mail ou Google. O AnyHook dá a você uma URL de entrada como https://in.anyhook.net/you/app. Não precisa de cartão de crédito no plano Free.
Abra Stripe Dashboard → Webhooks → edite o endpoint → cole a URL do AnyHook. A mesma troca funciona para GitHub, Shopify, a Events API do Slack e Paddle. O código do seu handler não muda.
O AnyHook armazena o evento, responde 200 ao remetente em cerca de 1 s e o encaminha para o seu handler com novas tentativas (entrega pelo menos uma vez; deduplique pelo cabeçalho X-AnyHook-Delivery). Eventos com falha ficam no painel com um botão Replay de um clique.
Faz sentido
Não faz sentido
Se você tem gente de engenharia disponível para instalar um SDK e reescrever handlers como funções duráveis, o Inngest é ótimo. O AnyHook é para equipes que querem o problema resolvido sem mudar o formato do handler: troque uma URL de webhook e mantenha o código que já existe.
Sim. 10.000 eventos / mês (com limite de 1.000 / dia), 1 app, sem cartão de crédito. Mantemos o plano grande o bastante para projetos pessoais irem ao ar, mas justo o bastante para que tráfego de produção faça upgrade naturalmente. Sem truques, sem prazo de validade.
GitHub, Shopify, a Events API do Slack, Paddle, Linear, Clerk: a mesma troca de URL funciona para todos. A verificação de assinatura é detectada automaticamente pelos cabeçalhos recebidos.
Em parte, e vale ser preciso sobre quais partes. A biblioteca de verificação de assinatura e o servidor MCP são Apache 2.0 em github.com/gba3124/anyhook-mcp, então você pode conferir cada entrega que assinamos sem confiar em nós e sem depender de nós. O serviço de relay que recebe, armazena e tenta de novo não é open source, e hoje não existe versão self-hosted.
Nós o armazenamos criptografado em repouso (AES-256-GCM). Ele fica disponível para replay pela janela do seu plano (3 / 30 / 90 dias); depois disso, os eventos do Free são excluídos e os planos pagos mantêm um arquivamento criptografado, somente leitura (1 ano no Pro, 7 anos no Scale). A chave nunca sai da nossa infraestrutura. No Pro e no Scale, você também pode ativar a retenção zero, que apaga do log os cabeçalhos e o corpo de um evento assim que ele é entregue; o arquivamento criptografado mantém a própria cópia.
No Free, eventos acima da cota mensal ficam retidos no seu log, até mais 20% dela, e disponíveis para replay assim que você fizer upgrade; acima disso, ou acima do limite diário, a edge responde 429, não armazena nada e você recebe um e-mail. Fazer upgrade para o Pro libera o limite na hora; o excedente do Pro é $0.15 / mil eventos, com um teto de gastos opcional no painel, acima do qual os eventos ficam retidos em vez de cobrados.
Crie sua conta grátis, pegue sua URL de entrada e troque na Stripe. O AnyHook absorve as novas tentativas, e seu handler continua rodando exatamente como roda hoje.