Add Stripe webhook delivery monitoring and alerting #347
Labels
No labels
domain:backend
domain:devops
domain:frontend
status:approved
status:in-progress
status:needs-fix
status:qa
type:bug
type:devops
type:feature
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/basketball-api#347
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Bug
Lineage
Discovered during forgejo_admin/basketball-api#343 and #346 investigation. Stripe silently stopped delivering webhooks for weeks — 7+ payments ($870+) went unrecorded. No alert, no monitoring, no awareness until a user emailed about a different issue.
Repo
forgejo_admin/basketball-api(health endpoint + metrics) andldraney/pal-e-platform(monitoring/alerting rules)What Broke
There is zero observability on Stripe webhook delivery. When Stripe gave up delivering webhooks after repeated failures, we had no way to know. This caused:
Repro Steps
Expected Behavior
Platform should detect and alert when:
pending_webhookscount is > 0 for events older than 1 hourpendingjersey orders older than 24 hours with nojersey_optionset (stale checkout)Environment
we_1T9I5sR9SdzWqVXM1WBWMDBvAcceptance Criteria
/health/webhooksendpoint that checks Stripe webhook status (queries recent events forpending_webhooks > 0)pendingorders exist > 24h with nojersey_optionRelated
project-westside-basketball— project this affectsforgejo_admin/basketball-api#340— original symptomforgejo_admin/basketball-api#343— funnel investigationforgejo_admin/basketball-api#346— RollingUpdate fixbasketball-api/src/basketball_api/routes/webhooks.py,pal-e-platform/terraform/modules/monitoring/