Quickstart end-to-end
Configura Beacon com Stripe e valida o fluxo completo em menos de 20 minutos.
tutorial • updated 2026-03-17
Antes de começar
| Requisito | Porque é necessário |
|---|---|
| Conta Stripe existente | OAuth read_only e ingestão de pagamentos visíveis |
Sessão Beacon autenticada como OWNER ou ADMIN | chamadas API autenticadas com contexto real de organização |
| URL pública HTTPS para webhooks | ingestão de eventos com assinatura |
| Ambiente de teste isolado | validação sem impacto em live |
Mapa do fluxo end-to-end
- Ligar Stripe Connect.
- Registar e validar webhooks.
- Criar checkout de subscrição.
- Confirmar estado no dashboard.
- Verificar emissão fiscal e observabilidade.
Passo a passo
11) Ligar Stripe existente
Conclui OAuthread_onlye valida ingestão visível no dashboard.22) Configurar webhooks
Regista os endpoints Beacon na Stripe, guarda os secrets por ambiente e valida assinatura.33) Criar checkout
Chama o endpoint real de checkout e redirecciona o utilizador pararedirectUrl.44) Confirmar resultado
Após o retorno do checkout, confirma a subscrição comsessionIdou com o checkout pendente.55) Verificar operação
Confirma estado final no dashboard, webhook processado e sinais fiscais/operacionais.
Exemplo API
curl -X POST "https://test.beacon.pt/api/billing/subscription/checkout?org=acme&mode=test" \
-H "Authorization: Bearer <beacon_session_token>" \
-H "Content-Type: application/json" \
-d '{"plan":"plus","billingCycle":"monthly"}'
Validação final
- Checkout devolve
checkoutSessionIderedirectUrl. POST /api/billing/subscription/confirmdevolvesubscriptionpara a organização correcta.- Webhook processado com
webhookEventIde sem duplicados inesperados. - Dashboard com estado consistente entre billing e operação.
- Alertas de observabilidade sem erros críticos.
Troubleshooting rápido
| Sintoma | Diagnóstico provável | Ação imediata |
|---|---|---|
| checkout criado mas estado não muda | confirmação pós-retorno em falta | chamar POST /api/billing/subscription/confirm e validar eventos |
| webhook rejeitado | assinatura inválida | rever signing secret e relógio do servidor |
erro 409 | checkout pendente, subscrição activa ou bloqueio funcional | inspeccionar o estado actual antes de repetir |