Beacon

Quickstart end-to-end

Ver como Markdown

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

RequisitoPorque é necessário
Conta Stripe existenteOAuth read_only e ingestão de pagamentos visíveis
Sessão Beacon autenticada como OWNER ou ADMINchamadas API autenticadas com contexto real de organização
URL pública HTTPS para webhooksingestão de eventos com assinatura
Ambiente de teste isoladovalidação sem impacto em live

Mapa do fluxo end-to-end

  1. Ligar Stripe Connect.
  2. Registar e validar webhooks.
  3. Criar checkout de subscrição.
  4. Confirmar estado no dashboard.
  5. Verificar emissão fiscal e observabilidade.

Passo a passo

  1. 11) Ligar Stripe existente

    Conclui OAuth read_only e valida ingestão visível no dashboard.
  2. 22) Configurar webhooks

    Regista os endpoints Beacon na Stripe, guarda os secrets por ambiente e valida assinatura.
  3. 33) Criar checkout

    Chama o endpoint real de checkout e redirecciona o utilizador para redirectUrl.
  4. 44) Confirmar resultado

    Após o retorno do checkout, confirma a subscrição com sessionId ou com o checkout pendente.
  5. 55) Verificar operação

    Confirma estado final no dashboard, webhook processado e sinais fiscais/operacionais.

Exemplo API

bash
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 checkoutSessionId e redirectUrl.
  • POST /api/billing/subscription/confirm devolve subscription para a organização correcta.
  • Webhook processado com webhookEventId e sem duplicados inesperados.
  • Dashboard com estado consistente entre billing e operação.
  • Alertas de observabilidade sem erros críticos.

Troubleshooting rápido

SintomaDiagnóstico provávelAção imediata
checkout criado mas estado não mudaconfirmação pós-retorno em faltachamar POST /api/billing/subscription/confirm e validar eventos
webhook rejeitadoassinatura inválidarever signing secret e relógio do servidor
erro 409checkout pendente, subscrição activa ou bloqueio funcionalinspeccionar o estado actual antes de repetir