Beacon

End-to-end quickstart

View as Markdown

End-to-end quickstart

Set up Beacon with Stripe and validate the full flow in under 20 minutes.

tutorial • updated 2026-03-15

Before you start

RequirementWhy it matters
Stripe account with Connect Standardonboarding and payment capabilities
Beacon access token with integration scopeauthenticated API operations
Public HTTPS webhook URLsecure event ingestion
Isolated test environmentsafe validation before live

End-to-end flow map

  1. Connect Stripe.
  2. Register and validate webhooks.
  3. Create subscription checkout.
  4. Confirm final state in dashboard.
  5. Validate fiscal and observability signals.

Step-by-step

  1. 11) Connect Stripe

    Complete Connect Standard onboarding and verify charges_enabled in dashboard.
  2. 22) Configure webhooks

    Register endpoints, store signing secret in a vault, and validate signatures.
  3. 33) Create checkout

    Create checkout session with Idempotency-Key and redirect the user.
  4. 44) Confirm outcome

    After return callback, confirm subscription state and related event processing.
  5. 55) Validate operations

    Check final state across dashboard, logs, and key metrics.

API example

bash
curl -X POST https://api.beacon.pt/v1/billing/subscription-checkouts \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: chk_<operation_id>" \
  -d '{"organizationId":"<organization_id>","plan":"plus","billingCycle":"monthly","mode":"test"}'

Final validation

  • Checkout completes and subscription confirmation is consistent.
  • Webhook processed with correlation by event.id.
  • Dashboard state matches billing and operational timeline.
  • No critical alerts in observability.

Quick troubleshooting

SymptomLikely diagnosisImmediate action
checkout created but state unchangedmissing confirmation stepcall .../confirm and verify events
webhook rejectedinvalid signaturerotate/revalidate secret and clock drift
409 conflictduplicate logical operationreuse first result and stop re-submitting