Configurar o webhook do Stripe
Se ligou o Stripe através de Connect with Stripe, esta página guia-o pelo único passo manual que o Stripe exige a seguir: criar você mesmo um endpoint de webhook no seu próprio painel Stripe, ecrã a ecrã.
Antes de começar
- Isto aplica-se apenas ao Connect with Stripe. Se ligou o Stripe introduzindo você mesmo a sua Chave secreta e Chave pública (ver Pagamentos — Ligar o Stripe), o Agon regista o webhook automaticamente e não precisa desta página.
- Porque tem de fazer isto você mesmo: o Stripe não permite que uma conta ligada por OAuth ("Connect") registe endpoints de webhook automaticamente — é uma restrição do lado do Stripe, não uma limitação do Agon. Só precisa de o fazer uma vez.
- Tenha à mão o URL de webhook do seu estúdio. É apresentado no Agon em Definições → Faturação, e tem o aspeto
https://studio-<id-do-seu-estudio>.agon-studio.dev/api/billing/webhook— exclusivo do seu estúdio. Mantenha essa página aberta noutra janela ou separador para a poder copiar no passo 7.
Passos
-
Abra o seu painel Stripe e aceda a Developers → Webhooks — ou diretamente a Workbench → Webhooks.
-
Clique em Add destination.

-
O Stripe abre um assistente Create an event destination em três passos: Select events → Choose destination type → Configure your destination.
-
Em Select events, em Event destination scope, escolha Your account — não Connected accounts, que se destina apenas a plataformas que recebem eventos das contas Stripe de outras pessoas. O seu estúdio é esta conta. Em Payload style, mantenha Snapshot selecionado — não Thin; o Agon precisa do objeto de evento completo, não apenas de um id que teria de consultar depois. Deixe API version no valor predefinido proposto pelo Stripe.

-
Ainda em Select events, utilize a caixa de pesquisa Find event by name or description… — muito mais rápido do que percorrer toda a árvore de categorias — e selecione exatamente estes 6 eventos, um de cada vez:
checkout.session.completedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedinvoice.paidinvoice.payment_failed

Depois de selecionar os 6, clique em Continue.
-
Em Choose destination type, selecione Webhook endpoint — a primeira opção. As outras duas, Amazon EventBridge e Azure Event Grid, servem para encaminhar eventos para a sua própria infraestrutura cloud e não se aplicam aqui. Clique em Continue.

-
Em Configure your destination, o Stripe mostra um resumo das suas escolhas (Events from: Your account, Payload style: Snapshot, Listening to: 6 events), seguido de três campos:
- Destination name — opcional, qualquer nome serve (por exemplo "Agon"). Serve apenas como referência no seu painel Stripe e não tem qualquer efeito funcional.
- Endpoint URL — cole aqui o URL de webhook do seu estúdio a partir da página Definições → Faturação do Agon, exatamente como é apresentado. Não o digite à mão — um único erro de digitação faz com que o Stripe nunca consiga alcançar o seu estúdio.
- Description — opcional, pode ficar em branco.
Clique no botão para criar o destino.

-
O Stripe mostra agora um Signing secret para o seu novo destino, por vezes atrás de um controlo "reveal" em que é preciso clicar primeiro. Copie-o.
-
No Agon, aceda a Definições → Faturação e cole-o no campo Segredo do webhook — o mesmo campo descrito em Pagamentos — Ligar o Stripe, sempre visível nessa página e não escondido atrás de uma opção adicional. Clique em Salvar.
E se algo correr mal?
Não sei se devo escolher "Your account" ou "Connected accounts"
Escolha Your account. O seu estúdio é a conta Stripe que está a configurar — Connected accounts só se aplica se fosse uma plataforma a receber eventos das contas Stripe separadas de outras pessoas, o que não é o caso aqui.
Os meus pagamentos continuam a aparecer como Pendentes depois desta configuração
Verifique se o Endpoint URL foi colado exatamente, sem carateres a mais nem segmentos em falta, e se o Segredo do webhook guardado em Definições → Faturação corresponde ao signing secret que o Stripe mostra para este destino específico. Veja também Pagamentos — E se algo correr mal?.
Preciso de adicionar um evento mais tarde ou de alterar o URL
Reabra o destino em Workbench → Webhooks no seu painel Stripe e edite-o aí. Só precisa de atualizar alguma coisa no Agon se o signing secret também mudar.