Webhooks
Webhooks
Overview
Satellite uses Stripe for subscriptions and one-off products. The POST /api/stripe/webhook route receives signed Stripe events and updates Supabase so Satellite OS and the marketing site stay in sync with billing state.
Stripe
Configure your Stripe webhook endpoint to point at the production URL above. Only events handled in code should be enabled — see the route implementation for the exact allowlist (checkout completion, subscription updates, invoice events, etc.).
https://satellitelabs.xyz/api/stripe/webhookVerification
Stripe signs each delivery with your webhook secret. The handler verifies the signature before mutating data — replay the signing steps from Stripe's docs if you proxy events through an additional gateway.
Retries
Return non-2xx only when the payload cannot be applied after idempotency checks. Stripe retries with exponential backoff; keep handlers fast and side-effect idempotent where possible.