---
title: "Stripe-Webhook (HMAC-signiert, nicht öffentlich aufrufbar)"
method: POST
path: "/api/checkout/webhook"
tags: ["Tenant"]
---

# Stripe-Webhook (HMAC-signiert, nicht öffentlich aufrufbar)

`POST /api/checkout/webhook`

## Request

- Base URL: `https://knowmind.de`
- URL: `https://knowmind.de/api/checkout/webhook`
- Auth: none declared

Empfängt Stripe-Events. Signatur über `Stripe-Signature`-Header mit `STRIPE_WEBHOOK_SECRET` (HMAC-SHA256). Ungültige Signatur: 400. Verarbeitet aktuell:
- `checkout.session.completed` → Tenant-Plan aktivieren, Customer/Subscription-ID speichern, Audit-Event `subscription.activated`.
- `customer.subscription.deleted` → Plan auf Free zurück, Audit-Event `subscription.cancelled`.

## Response `200`

Event akzeptiert

## Other responses

- `400`: Ungültige Signatur
- `503`: Stripe nicht konfiguriert

---

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