Troque uma URL · Sem SDK · Verificação Apache 2.0

Seguro de webhooks da Stripe
para SaaS de IA.

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.

Free10 mil eventos/mês
$20Pro · 50 mil eventos
$90Scale · 250 mil
stripe, webhooks
produção
FALHOU20.04s

evt_3Pk2X3b1Lcx

A requisição deu timeout. A Stripe tenta de novo com backoff por até 3 dias.

~ stripe-cli
$ stripe webhooks update we_1234
    --url in.anyhook.net/u/app
✓ Endpoint updated
✓ Delivering to AnyHook
anyhook · entregue
200 OK

evt_3Pk2X3b1Lcx

tentativa 1 · recebimento confirmado · handler de 47,2 s

0perdidos
·
100%entregues
handler.ts
// before
await llm.run(evt); /* 45s */

// after
return Response.json({ ok: true });
exemplo

novas tentativas do remetente evitadas

127

01

Três timeouts que comem seu dinheiro.

StripeWebhooks
20s

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

SlackEventos
3s

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.

ShopifyWebhooks
5s

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.

02

Escolha o que combina com sua fase.

Pro

Recomendado
$20/ mês

Tráfego de webhooks em produção. Mais barato que 2 semanas construindo novas tentativas você mesmo.

  • 50.000 eventos / mês
  • 10 apps · disponível para replay por 30 dias, guardado por 1 ano
  • 5 tentativas de entrega · timeout de entrega de 120 s
  • Excedente de $0.15 / mil eventos, sem descarte silencioso
  • Alertas por e-mail, Slack ou Discord · toda entrega assinada

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.

03

Três passos. Trinta segundos.

  1. Passo 1

    Crie a conta. Pegue sua URL de entrada.

    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.

  2. Passo 2

    Troque a URL na Stripe (ou onde for).

    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.

  3. Passo 3

    Veja os eventos chegando. Faça o replay de qualquer um.

    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.

04

Uma situação específica.

Faz sentido

  • SaaS indie ou B2B com tráfego real em produção
  • Produto cobrado pela Stripe (Checkout, Subscriptions, Connect)
  • O handler faz trabalho de IA de verdade: LLM, RAG, execuções de agente
  • Lógica de novas tentativas feita à mão em que você não confia totalmente
  • Você consegue trocar uma URL no painel do provedor

Não faz sentido

  • Ainda sem receita: confiabilidade de webhooks ainda não é seu maior risco
  • Já roda Inngest / Hookdeck / Svix em produção
  • Precisa de um motor de workflows (funções duráveis, agendamento): use o Inngest
  • Enterprise on-premises com política rígida de nenhum tráfego de saída para a nuvem
  • Caso de uso de streaming de eventos ao vivo (Kafka, websockets, SSE)
05

As respostas honestas.

Por que não usar o Inngest ou o Hookdeck?

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.

O plano Free é grátis mesmo? Para sempre?

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.

E webhooks que não são da Stripe?

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.

O AnyHook é open source?

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.

O AnyHook vê o payload dos meus webhooks?

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.

E se eu passar do plano Free no meio do mês?

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.

30 segundos. Sem cartão.

Troque uma URL.
Durma melhor esta noite.

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.