- Add uload project with apps/web structure
- Reorganize from flat to monorepo structure
- Remove PocketBase binary and local data
- Update to pnpm and @uload/web namespace
- Add picture project to monorepo
- Remove embedded git repository
- Unify all package names to @{project}/{app} schema:
- @maerchenzauber/* (was @storyteller/*)
- @manacore/* (was manacore-*, manacore)
- @manadeck/* (was web, backend, manadeck)
- @memoro/* (was memoro-web, landing, memoro)
- @picture/* (already unified)
- @uload/web
- Add convenient dev scripts for all apps:
- pnpm dev:{project}:web
- pnpm dev:{project}:landing
- pnpm dev:{project}:mobile
- pnpm dev:{project}:backend
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
8 KiB
Stripe Integration für ulo.ad - Detaillierte Optionsanalyse
Grundlegende Entscheidung: Wo findet die Zahlung statt?
Die wichtigste Frage bei der Stripe-Integration ist, wo und wie der Zahlungsprozess abläuft. Dies beeinflusst direkt die User Experience, Conversion Rate und den technischen Aufwand.
Option 1: Stripe Checkout (Hosted Payment Page)
Was passiert aus Nutzersicht?
- Nutzer klickt auf "Upgrade" auf ulo.ad
- Wird zu einer Stripe-gehosteten Seite weitergeleitet (checkout.stripe.com)
- Gibt dort Zahlungsdaten ein
- Wird nach erfolgreicher Zahlung zurück zu ulo.ad geleitet
Technischer Ablauf
Wenn ein Nutzer upgraden möchte, erstellt dein Server eine "Checkout Session" bei Stripe. Diese Session enthält alle Informationen über das Produkt, den Preis und wohin der Nutzer nach der Zahlung geleitet werden soll. Stripe generiert eine einmalige URL für diese Session, zu der du den Nutzer weiterleitest.
Geschäftliche Vorteile
Vertrauen: Viele Nutzer kennen und vertrauen Stripe-Checkout-Seiten. Das Stripe-Logo kann Vertrauen schaffen, besonders bei einem neuen Service wie ulo.ad.
Compliance automatisch: Du musst dich nicht um PCI-DSS-Compliance kümmern. Stripe übernimmt die gesamte Verantwortung für die sichere Verarbeitung von Kreditkartendaten.
Internationale Zahlungsmethoden: Stripe zeigt automatisch die relevanten Zahlungsmethoden je nach Land des Nutzers an (SEPA in Deutschland, iDEAL in Holland, etc.).
Conversion-Optimierung: Stripe testet kontinuierlich die Checkout-Seiten und optimiert sie für maximale Conversion. Du profitierst automatisch von diesen Verbesserungen.
Geschäftliche Nachteile
Brand-Unterbrechung: Der Nutzer verlässt deine Domain. Dies kann bei manchen Nutzern zu Unsicherheit führen ("Bin ich noch beim richtigen Service?").
Weniger Kontrolle: Du kannst das Design nur begrenzt anpassen. Die Checkout-Seite wird nie 100% zu deinem Brand passen.
Abbruchrisiko: Jeder Seitenwechsel erhöht das Risiko, dass Nutzer den Prozess abbrechen.
Option 2: Stripe Elements (Embedded Payment)
Was passiert aus Nutzersicht?
- Nutzer klickt auf "Upgrade" auf ulo.ad
- Sieht ein Zahlungsformular direkt auf deiner Seite
- Gibt Zahlungsdaten ein ohne die Seite zu verlassen
- Erhält sofort Feedback über den Erfolg
Technischer Ablauf
Stripe stellt dir sichere, vorgefertigte UI-Komponenten zur Verfügung, die du in deine Seite einbettest. Diese Komponenten kommunizieren direkt mit Stripe, ohne dass sensible Daten deinen Server berühren. Dein Server erhält nur einen Token, mit dem er die Zahlung abschließen kann.
Geschäftliche Vorteile
Nahtlose Experience: Der Nutzer bleibt auf deiner Seite. Dies fühlt sich professioneller an und reduziert Abbrüche.
Volle Brand-Kontrolle: Das Zahlungsformular fügt sich nahtlos in dein Design ein.
Bessere Conversion: Studien zeigen, dass embedded Payments oft höhere Conversion-Rates haben als Redirects.
Progressive Disclosure: Du kannst den Zahlungsprozess in mehrere Schritte aufteilen und so die gefühlte Komplexität reduzieren.
Geschäftliche Nachteile
Mehr Entwicklungsaufwand: Du musst das gesamte UI selbst bauen und alle Edge-Cases behandeln (Fehler, Validierung, verschiedene Zahlungsmethoden).
Mehr Testing nötig: Du bist verantwortlich für die User Experience und musst intensiv testen.
Compliance-Verantwortung: Obwohl Stripe Elements PCI-compliant sind, musst du sicherstellen, dass deine Implementation korrekt ist.
Option 3: Hybrid-Ansatz (Checkout + Portal)
Was passiert aus Nutzersicht?
Erstmalige Zahlung:
- Nutzer wird zu Stripe Checkout geleitet
- Schließt Zahlung ab
- Wird zu ulo.ad zurückgeleitet
Verwaltung des Abos:
- Nutzer klickt auf "Abo verwalten" in ulo.ad
- Wird zum Stripe Customer Portal geleitet
- Kann dort Zahlungsmethode ändern, Rechnungen herunterladen, kündigen
Technischer Ablauf
Du nutzt Stripe Checkout für die initiale Konversion (wo es am wichtigsten ist, Vertrauen zu schaffen) und das Stripe Customer Portal für die laufende Verwaltung. Webhooks synchronisieren alle Änderungen automatisch mit deiner Datenbank.
Geschäftliche Vorteile
Beste aus beiden Welten: Schnelle Implementation mit professionellem Subscription Management.
Reduzierter Support: Nutzer können selbst ihre Zahlungsdaten aktualisieren, Rechnungen herunterladen und Abos verwalten.
Skalierbar: Funktioniert genauso gut mit 10 wie mit 10.000 Kunden.
Time-to-Market: Du kannst in einer Woche live gehen.
Geschäftliche Nachteile
Zwei verschiedene UIs: Nutzer müssen sich an zwei verschiedene Interfaces gewöhnen.
Weniger Daten-Kontrolle: Manche Aktionen finden außerhalb deiner Kontrolle statt.
Paywall-Strategien
Hard Paywall vs. Soft Paywall
Hard Paywall: Feature ist komplett blockiert. Nutzer sieht nur "Upgrade to Pro".
Soft Paywall: Nutzer kann Feature teilweise nutzen oder sieht, was möglich wäre.
Metered vs. Feature-based
Metered: "Du hast 8 von 10 kostenlosen Links diesen Monat genutzt"
- Vorteil: Nutzer kann Service testen
- Nachteil: Komplexere Implementierung
Feature-based: "QR-Code-Anpassung ist nur in Pro verfügbar"
- Vorteil: Klare Trennung
- Nachteil: Nutzer kann Wert nicht erleben
Server-side vs. Client-side Enforcement
Server-side: API prüft bei jeder Anfrage die Berechtigung
- Vorteil: Absolut sicher
- Nachteil: Mehr Server-Last
Client-side: UI versteckt Features basierend auf Abo-Status
- Vorteil: Schnelle UI
- Nachteil: Kann umgangen werden (sollte immer mit Server-side kombiniert werden)
Webhook-Architektur
Warum Webhooks essentiell sind
Webhooks sind das Nervensystem deiner Monetarisierung. Sie informieren dich in Echtzeit über:
- Neue Abonnements
- Kündigungen
- Fehlgeschlagene Zahlungen
- Upgrades/Downgrades
- Ablaufende Karten
Event-Driven vs. Polling
Event-Driven (Webhooks): Stripe informiert dich sofort über Änderungen
- Vorteil: Echtzeit-Updates
- Nachteil: Muss ausfallsicher implementiert werden
Polling: Du fragst regelmäßig bei Stripe nach Updates
- Vorteil: Einfachere Implementierung
- Nachteil: Verzögerung und unnötige API-Calls
Preismodell-Überlegungen
Subscription vs. One-Time
Subscription: Monatliche/jährliche Zahlung
- Vorteil: Vorhersagbare Einnahmen (MRR)
- Nachteil: Höhere Churn-Rate
One-Time: Einmalzahlung für Lifetime-Access
- Vorteil: Sofort mehr Geld
- Nachteil: Keine wiederkehrenden Einnahmen
Freemium vs. Trial
Freemium: Dauerhaft kostenlose Basis-Version
- Vorteil: Große Nutzerbasis
- Nachteil: Schwierigere Conversion
Trial: 14/30 Tage alle Features, dann Paywall
- Vorteil: Nutzer erlebt vollen Wert
- Nachteil: Viele Nutzer nur für Trial-Period
DSGVO und deutsche Markt-Spezifika
Rechnungsstellung
In Deutschland erwarten B2B-Kunden ordnungsgemäße Rechnungen mit:
- Fortlaufender Rechnungsnummer
- Steuernummer/USt-IdNr
- Leistungszeitraum
Stripe kann dies automatisch generieren, aber du musst es konfigurieren.
SEPA-Lastschrift
Sehr beliebt in Deutschland, aber:
- Kann bis zu 8 Wochen zurückgebucht werden
- Braucht Mandat vom Kunden
- Verzögerung von 3-5 Tagen
Kleinunternehmerregelung
Wenn du unter 22.000€ Jahresumsatz bleibst:
- Keine Umsatzsteuer
- Einfachere Buchhaltung
- Aber: Grenze schnell erreicht bei Erfolg
Empfehlung für ulo.ad
Basierend auf deinem Tech-Stack und Geschäftsmodell empfehle ich:
Phase 1 (Jetzt - 3 Monate):
- Stripe Checkout für schnellen Start
- Einfaches Freemium-Modell (10 Links kostenlos)
- Server-side Paywall
- Webhook-Sync mit PocketBase
Phase 2 (3-6 Monate):
- Stripe Customer Portal einbinden
- A/B-Tests mit Preisen
- Soft Paywall für bessere Conversion
- Email-Kampagnen für Upgrades
Phase 3 (6+ Monate):
- Embedded Payment für Premium-Feel
- Team-Accounts
- Volume-Discounts
- API-Monetarisierung
Diese Strategie minimiert das initiale Risiko, erlaubt schnelles Lernen und wächst mit deinem Business.