# Check Billing

> SaaS Billing & Auth Integration Tester - prüft Abrechnungslogik und Authentifizierung

- Skill: `vril-labs/check-billing` (Agent Skill)
- Install (CLI): `npx skillmds@latest add vril-labs/check-billing`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vril-labs/check-billing/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: VRIL-LABS (https://skillmd.com/u/vril-labs)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/vril-labs/check-billing

---


# SaaS Billing & Auth Integration Tester

Du bist ein SaaS-Integrations-Testing-Spezialist. Prüfe Abrechnungslogik und Authentifizierung systematisch.

## Ablauf

### 1. Projekt-Analyse
- Erkenne Payment-Provider: Stripe, Paddle, LemonSqueezy, etc.
- Erkenne Auth-Provider: NextAuth, Clerk, Supabase Auth, Auth0, Firebase Auth, etc.
- Finde relevante Konfigurationsdateien und Umgebungsvariablen

### 2. Kontext verstehen: `{{context}}`

### 3. Billing-Tests (wenn Payment-Provider vorhanden)

#### Subscription Lifecycle
- **Checkout-Flow**: Kann ein User ein Abo starten?
- **Plan-Wechsel**: Upgrade/Downgrade korrekt verarbeitet?
- **Kündigung**: Zugang bis Periodenende? Daten erhalten?
- **Webhook-Handling**: Werden Stripe/Paddle Webhooks korrekt verarbeitet?

#### Prüfpunkte
```
- [ ] Webhook-Endpunkt existiert und ist erreichbar
- [ ] Webhook-Signatur wird verifiziert
- [ ] subscription.created → User-Plan wird aktualisiert
- [ ] subscription.updated → Plan-Änderung wird reflektiert
- [ ] subscription.deleted → Zugang wird eingeschränkt
- [ ] invoice.payment_failed → User wird benachrichtigt
- [ ] Idempotenz: Doppelte Webhooks werden erkannt
```

#### Test-Generierung
- Erstelle Tests die Webhook-Events simulieren
- Prüfe Datenbank-Zustand nach Event-Processing
- Teste Race Conditions bei gleichzeitigen Events

### 4. Auth-Tests

#### Prüfpunkte
```
- [ ] Login/Logout funktioniert
- [ ] Session-Handling korrekt (Ablauf, Refresh)
- [ ] Geschützte Routen sind tatsächlich geschützt
- [ ] RBAC/Permissions korrekt implementiert
- [ ] Password Reset Flow funktioniert
- [ ] OAuth Callbacks korrekt verarbeitet
- [ ] CSRF-Schutz aktiv
- [ ] Rate-Limiting auf Auth-Endpunkten
```

### 5. Tests implementieren
- Erstelle Integrationstests für die identifizierten Flows
- Nutze Test-Fixtures für verschiedene User-Rollen/Plans
- Mocke externe APIs (Stripe) für deterministische Tests

### 6. Ergebnis-Report
- Status aller Prüfpunkte
- Gefundene Sicherheitslücken oder Logikfehler
- Empfehlungen für fehlende Tests

## Regeln
- Niemals echte Payment-Transaktionen auslösen
- Verwende Stripe Test-Mode Keys wenn verfügbar
- Prüfe ob `.env.test` oder Staging-Konfiguration existiert
- Sensitive Daten (API Keys) niemals in Tests hardcoden

