Integration · Stripe
Stripe webhook gateway with DLQ and replay
Charon Gate sits between Stripe and your application: it captures every Stripe webhook, verifies the signature, retries failed deliveries with exponential backoff, holds exhausted events in a dead-letter queue, and lets you replay any event with one click — so a single deploy outage doesn't lose payments_intent.succeeded or invoice.paid.
Why Charon Gate for Stripe
- Stripe-Signature verification with the same constant-time comparison Stripe recommends, including ±5-minute timestamp tolerance against replay attacks.
- Automatic dedupe by Stripe event id — duplicate redeliveries from Stripe are absorbed at ingest.
- Stripe-aware payload redaction preset trims customer PII from stored bodies (you keep the event id, type, and metadata; we drop email/name/address).
- Replay any past event from the dashboard or REST API — re-runs the full verification + signing pipeline so your handler can't tell the difference.
- DLQ alerts with first-class Slack and PagerDuty hooks so failed `customer.subscription.deleted` events surface in an on-call channel within seconds.
How verification works
- Header
- Stripe-Signature
- Algorithm
- HMAC-SHA256
- Upstream docs
- docs.stripe.com/webhooks
Charon parses the `t=…,v1=…` envelope and rejects signatures whose timestamp is more than 5 minutes from server time, matching Stripe's official guidance.
Example Stripe events
Charon Gate is event-shape agnostic — these are typical Stripe event types our customers route through us today.
payment_intent.succeededinvoice.paidcustomer.subscription.deletedcharge.refundedcheckout.session.completedFAQ
- Will Stripe accept a Charon Gate URL as a webhook endpoint?
- Yes. From the Stripe Dashboard → Developers → Webhooks, create an endpoint with your Charon Gate ingest URL. We forward the verified payload to your destination with the same body Stripe sent.
- What happens to my Stripe webhook signing secret?
- You provide it once when configuring the endpoint. We encrypt it at rest with AES-GCM (per-tenant key derivation) and use it only to verify inbound signatures. It never leaves the worker process and is never logged.
- Does Charon Gate handle Stripe Connect events?
- Yes. Connected-account events deliver the same way; the `account` field on the event identifies the connected account. Charon stores it untouched and forwards as-is.
Ready when you are
Front your Stripe webhooks with Charon Gate in 90 seconds.