πŸ›’ Shop System

E-Commerce mit Abos, physischen Produkten, digitalen Downloads. Stripe + PayPal. Integriert mit Discord Rollen + Workflow Engine.

πŸ“Š V3 Status

Was existiert, was fehlt, was war kaputt

βœ… Was funktioniert (V3)

  • Product CRUD (Digital, Physical, Subscription)
  • Varianten-System (Size, Color β€” auto-generiert)
  • Warenkorb + Stock-Reservierung
  • Stripe PaymentIntents + Subscriptions
  • PayPal Orders + Capture
  • Order Lifecycle (PENDING β†’ PAID β†’ SHIPPED β†’ COMPLETED)
  • Digital Downloads (Token-basiert, Limit + Expiry)
  • Product Actions (ON_PURCHASE β†’ Discord Role, Webhook etc)
  • Refund-Handling (Stock RΓΌckbuchung)
  • Kategorien mit Hierarchie

❌ Was fehlt / kaputt (V3)

  • Coupon-System: Schema da, aber nicht im Checkout integriert
  • Invoice/PDF: Model da, keine PDF-Generierung
  • Shipment Tracking: Schema da, kein Carrier-API
  • Subscription Pause: Nur lokaler DB-Update, Stripe nicht synced
  • PayPal Subscriptions: Nur Cancel, kein Create
  • Review System: Komplett fehlend
  • Variant Stock: RΓΌckbuchung fragil (String-Matching)
  • Shipping-Kosten: Hardcoded €5.99
πŸ“¦ Produkt-Typen

πŸ’Ύ Digital

Sofort-Download nach Zahlung. Token-basierter Download-Link mit Limit + Ablauf. Kein Versand nΓΆtig.

  • Download URL + Max Downloads
  • Download Expiry (Tage)
  • Varianten mΓΆglich (z.B. Formate)
  • Product Actions: ON_PURCHASE, ON_DOWNLOAD
Beispiele: Presets, Overlays, Sound Packs, Emote Packs

πŸ“¦ Physisch

Echte Produkte mit Versand. Lager-Tracking, Varianten (Grâße/Farbe), Versand-Adresse im Checkout.

  • Stock per Variant
  • Shipping Address required
  • Shipment Tracking (DHL, DPD, etc)
  • Gewicht fΓΌr Versandkosten
Beispiele: Merch (T-Shirts, Hoodies, Caps), Sticker, Poster

πŸ”„ Subscription

Wiederkehrende Zahlungen ΓΌber Stripe. Trial-Periode, Pause/Cancel, Auto-Renew.

  • Monatlich / QuartΓ€rlich / HalbjΓ€hrlich / JΓ€hrlich
  • Trial Days
  • Stripe Billing Portal
  • ON_SUBSCRIPTION_START/RENEW/CANCEL Actions
Beispiele: VIP Membership, Premium Emotes, Ad-Free, Exclusive Content
πŸ”„ Order Flow

Vom Warenkorb bis zur Lieferung

πŸ›’ Cart
Items + Stock Check
β†’
πŸ“‹ Checkout
Adresse + Coupon
β†’
πŸ’³ Payment
Stripe / PayPal
β†’
βœ… Paid
Webhook confirms
β†’
⚑ Actions
Discord Role, Download, etc
β†’
πŸ“¦ Ship / Deliver
Physical: Versand
Digital: Download

πŸ’³ Stripe Flow

  • Cart β†’ createPaymentIntent()
  • Client-side: Stripe Elements / Checkout
  • Webhook: payment_intent.succeeded
  • Order Status: PENDING β†’ PAID
  • Cart wird erst nach Webhook geleert

πŸ…ΏοΈ PayPal Flow

  • Cart β†’ createPayPalOrder()
  • Redirect zu PayPal Approval Page
  • Return β†’ capturePayPalOrder()
  • Order Status: PENDING β†’ PAID
  • Fallback wenn Stripe nicht geht
🟒 V4 Verbesserungen

Was wir fixen und neu bauen

🎟 Coupons: Richtig integrieren

Coupon-Code im Checkout eingeben β†’ Rabatt wird berechnet β†’ Im Order gespeichert. Percentage, Fixed, Free Shipping. Max Uses, Per-User Limit, Zeitraum.

🧾 Invoice PDF

Auto-generierte Rechnung nach Zahlung. Rechtskonform (DE): Rechnungsnummer, MwSt-Ausweis, Absender/EmpfΓ€nger. PDF per Email + Download im Panel.

πŸ“¦ Versandkosten-Berechnung

Nicht mehr hardcoded €5.99. Berechnung nach: Gewicht, Land (DE/EU/International), Carrier-Tarife. Free Shipping ab Betrag X oder per Coupon.

πŸ“¬ Shipment Tracking

Tracking-Nummer eingeben β†’ Status-Updates per Carrier-API (DHL, DPD). Kunde sieht Live-Status im Panel. Webhook bei Zustellung.

⭐ Review System

Produkt-Bewertungen (1-5 Sterne + Text). Nur nach Kauf mΓΆglich. Admin Moderation. Durchschnittsbewertung auf Produktseite.

πŸ”— Workflow Integration

Jeder Shop-Event ist ein Workflow Trigger: Kauf, Refund, Sub Start/Renew/Cancel, Download. Actions: Discord Role, Overlay Alert, Chat Message, Email.

πŸ–₯ Admin Panel β€” Mockup
codenull.de/admin/shop

Shop Dashboard

Umsatz und Bestellungen im Überblick

€2,847
Revenue (Month)
156
Orders (Month)
43
Active Subs
€18.25
Avg Order

Recent Orders

OrderCustomerItemsTotalStatusDate
#ORD-2026-0892 xXGamer42Xx Premium Emote Pack €9.99 Paid 18.03.2026
#ORD-2026-0891 DankDonator Hoodie (L, Schwarz) €49.99 Processing 17.03.2026
#ORD-2026-0890 NewViewer123 VIP Monthly Sub €4.99/mo Subscription 17.03.2026
#ORD-2026-0889 FriendlyStreamer Sticker Pack + T-Shirt (M) €24.98 Shipped 16.03.2026
⚑ Product Actions β€” Shop Γ— Platform Integration

Automatische Aktionen bei Kauf, Abo-Start, Refund etc.

🎭 Discord Role

Bei Kauf: Discord Rolle zuweisen. Bei Refund/Abo-Ende: Rolle entfernen. FΓΌr VIP, Supporter, Premium Access.

Must Have

πŸ’¬ Discord Message

Nachricht in Discord Channel bei Kauf. "xXGamerXx hat Hoodie gekauft! πŸŽ‰". Channel konfigurierbar.

Should Have

πŸ”” Stream Alert

Overlay Alert bei Kauf im Stream zeigen. Gleicher Alert-Designer wie fΓΌr Twitch Events.

Should Have

🌐 Webhook

HTTP Webhook an externe URL. FΓΌr Fulfillment, Logistik, CRM Integration. JSON Payload mit Order-Daten.

Should Have

πŸ“§ Email

BestΓ€tigungs-Email, Versand-Info, Download-Links. Templates konfigurierbar.

Should Have

⚑ Workflow Trigger

Jeder Shop-Event als Workflow Trigger. Dann: beliebige Action-Chains mit Conditions, Delays, Custom Logic.

Must Have

πŸ“‹ Trigger-Typen

ON_PURCHASE β€” Einmalige Produkte
ON_COMPLETION β€” Wenn Order abgeschlossen
ON_REFUND β€” Bei RΓΌckerstattung
ON_SUBSCRIPTION_START β€” Neues Abo
ON_SUBSCRIPTION_RENEW β€” Abo verlΓ€ngert
ON_SUBSCRIPTION_CANCEL β€” Abo gekΓΌndigt
ON_SUBSCRIPTION_PAUSE β€” Abo pausiert
ON_DOWNLOAD β€” Datei heruntergeladen
ON_REVIEW β€” Bewertung abgegeben
πŸ—„ Datenmodell V4

Bereinigt, Coupons integriert, Reviews neu

V3V4Γ„nderung
Product (30+ fields)product (cleaned, typed settings JSON)Bereinigt
ProductVariantproductVariant (price not nullable)Vereinfacht
ProductAttributeType + ProductAttributeproductAttributeType (attribute inline)2β†’1
ProductCategoryproductCategoryBehalten
Cart + CartItemcart + cartItemBehalten
Order + OrderItem + OrderItemVariantorder + orderItem (variant inline JSON)3β†’2
PaymentpaymentBehalten
Invoice (unused)invoice (+ PDF generation)Fertiggestellt
Subscription + SubscriptionItemsubscription (items inline JSON)2β†’1
Shipment + ShipmentTrackingshipment + shipmentEventRenamed
Coupon + CouponUsage (unused)coupon + couponUsage (integriert!)Fertiggestellt
DownloadLogdownloadLogBehalten
ProductActionproductActionBehalten
β€”productReview (NEU)Neu
ProcessedWebhookEventprocessedWebhookEventBehalten
❓ Offene Fragen

1. Versand-Provider Integration

Direkte API-Integration mit DHL/DPD fΓΌr Label-Erstellung + automatisches Tracking? Oder manuell Tracking-Nummer eingeben und per Link tracken?

2. MwSt-Handling

V3 hatte flat 19% DE MwSt. Soll V4 EU-VAT unterstΓΌtzen (unterschiedliche SΓ€tze pro Land)? Oder reicht DE-only?

3. Payment Provider Prio

Stripe als primΓ€r (Kreditkarte, SEPA, Klarna, etc) + PayPal als Fallback? Oder gleichwertig? Crypto als Option?

4. Shipping Zones

Nur DE? DE + EU? International? Verschiedene Preise pro Zone? Oder flat rate pro Zone?

5. Email Service

Welcher Email-Provider? Resend, Postmark, SES? Oder eigener SMTP? FΓΌr: BestΓ€tigungen, Rechnungen, Versand-Updates.

6. Subscription Billing Portal

Eigenes Portal im Codenull Panel oder Stripe's hosted Billing Portal (einfacher, weniger Custom)? Oder beides als Fallback?

Codenull Platform Β· Shop System Module Planning Β· 2026-03-18