AZA – Stripe Vorbereitung (Webhook Skeleton) Ziel - Stripe Webhooks sicher empfangen (Signaturprüfung) - Events auditieren (admin_audit) - Noch KEINE Plan/Status-Automatik Voraussetzung 1) Stripe Python SDK installieren: pip install stripe 2) Umgebungsvariablen setzen: - AZA_STRIPE_SECRET_KEY="sk_live_..." - AZA_STRIPE_WEBHOOK_SECRET="whsec_..." Webhook Endpoint - POST /stripe/webhook Was passiert aktuell - Signatur wird geprüft - Event wird in admin_audit geloggt: action = "stripe:" token = "" old_value = "received" new_value = "ok" Wichtig - Der Server muss öffentlich erreichbar sein, damit Stripe den Webhook callen kann. - Im Stripe Dashboard muss ein Webhook mit deiner URL auf /stripe/webhook zeigen. Nächster Schritt - Stripe Events auswerten und daraus users.status / users.plan setzen. (z.B. invoice.payment_succeeded -> active, invoice.payment_failed -> suspended) Test (lokal / dev) 1) Stripe CLI installieren und einloggen: stripe login 2) Webhook lokal weiterleiten (Port/Host anpassen): stripe listen --forward-to http://localhost:9000/stripe/webhook Die CLI zeigt dabei einen Webhook-Secret an (whsec_...), den du als AZA_STRIPE_WEBHOOK_SECRET setzen musst. 3) Test-Event auslösen: stripe trigger invoice.payment_succeeded 4) Prüfen: - Server sollte HTTP 200 {"ok": true} zurückgeben - Audit-Eintrag erscheint über: POST /admin/audit/list