Cash Pulse

Stripe revenue monitoring for solo developers.

Next.js 14Stripe WebhooksDiscord Alerts

MVP Foundation

Catch hourly Stripe drops before they turn into a lost weekend.

This scaffold verifies incoming Stripe webhooks, records PaymentIntent outcomes into hourly UTC buckets, and forwards a Discord alert when the most recent completed hour drops more than 20% against the prior hour.

Trigger

>20%

Revenue drop between completed hourly windows.

Signal

Stripe

Verified webhook ingestion using the Stripe SDK.

Output

Discord

Alert payloads delivered through a simple webhook helper.

Foundation

Verified Stripe intake

The API route reads the raw payload, validates the Stripe signature, and ignores unsupported event types without failing the endpoint.

Foundation

Hourly revenue buckets

Cash Pulse stores successful and failed payment outcomes in UTC hourly snapshots so the monitoring logic has a clear comparison window.

Foundation

Discord alert handoff

When the last completed hour drops more than 20% versus the hour before it, the app prepares and sends a Discord webhook alert.

Operator guide

From webhook event to Discord alert.

1. Stripe posts a signed event to/api/webhook/stripeand Cash Pulse validates it before touching the payload.

2. Supported PaymentIntent outcomes are normalized into revenue events with timestamp, amount, currency, and success status.

3. The monitor module updates an hourly UTC snapshot and compares the last completed hour against the hour before it.

4. When the completed-hour drop crosses the configured threshold, the Discord helper sends a compact incident-style alert to the configured webhook URL.