---
title: "Stripe Webhook"
method: POST
path: "/webhooks/stripe"
tags: ["settings", "sync", "ai"]
---

# Stripe Webhook

`POST /webhooks/stripe`

## Request

- Base URL: `https://www.oxfordledge.com` (the document declares no server; this is the origin it was published from)
- URL: `https://www.oxfordledge.com/webhooks/stripe`
- Auth: none declared

Stripe webhook event handler.

CSRF-exempt: authenticated via Stripe-Signature HMAC header rather than
cookie-based CSRF token. Stripe signs every payload with the webhook
signing secret; verify_stripe_signature() validates it.

Handles subscription lifecycle events (created, updated, deleted),
invoice payment events, and checkout session completion.

## Response `200`

Successful Response

- unknown

---

[API](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api.md) · [All operations](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/llms.txt) · [OpenAPI document](https://skmtc.dev/oxfordledge/apis/oxford-ledge-api/revisions/e832a1260f0b?raw)
