# AZA Office – Sell-Ready Kaufpfad (konsolidiert) Stand: 2026-03-30 Dieses Dokument ist die **fuehrende Referenz** fuer den produktiven Kauf-/Auslieferungspfad. Es ersetzt und konsolidiert die aelteren Einzel-Dokumente (WORDPRESS_GOLIVE.md, WOOCOMMERCE_PRODUCT.md, STRIPE_LIVE_SETUP.md, GO_LIVE_CHECKLIST_SHORT.md) in einen konsistenten Stand. --- ## Architektur-Entscheidung (FEST) | Zweck | Plattform | Domain | |---|---|---| | Website, Produktseite, Marketing | **Hostpoint / WordPress** | aza-medwork.ch | | Stripe Checkout + Lizenz-Backend | **Hetzner / Docker** | api.aza-medwork.ch | WordPress/WooCommerce zeigt das Produkt. Der Kauf laeuft ueber **Stripe Payment Links** direkt. Das Hetzner-Backend empfaengt den Webhook und erstellt die Lizenz. Kein WooCommerce-Subscriptions-Plugin noetig. --- ## A. PRODUKTKLARHEIT ### Verbindlicher Produktname | Feld | Wert | |---|---| | Produktname | **AZA Office** | | Langform | AZA Office – Ihr medizinischer KI-Arbeitsplatz fuer die Praxis | | Version | 1.0.0 | | Typ | Download-Produkt (Windows-Installer .exe, ca. 40 MB) | | Plattform | Windows 10/11 (64-Bit) | ### Verbindliche Preise | Plan | Monatlich | Jaehrlich (17 % guenstiger) | |---|---|---| | **Basic (1 Benutzer, 2 Geraete)** | CHF 59 / Monat | CHF 590 / Jahr | | **Team (2 Benutzer, 2 Geraete/Benutzer)** | CHF 89 / Monat | CHF 890 / Jahr | - Kein Einmalkauf - Subscription mit automatischer Verlaengerung - Kuendigung jederzeit moeglich (Zugang bis Ende der bezahlten Periode) - Alle Updates inklusive solange Subscription aktiv ### Stripe Lookup-Keys und Price-IDs (LIVE) | Lookup-Key | Price-ID | Betrag | |---|---|---| | `aza_basic_monthly` | `price_1T53xHL5lREAW68VbuK43lmz` | CHF 59/Monat | | `aza_basic_yearly` | `price_1T542BL5lREAW68VNLQGCKWZ` | CHF 590/Jahr | | `aza_team_monthly` | `price_1T544tL5lREAW68VkmnmZ21Q` | CHF 89/Monat | | `aza_team_yearly` | `price_1T545RL5lREAW68VLbIh73AN` | CHF 890/Jahr | ### WICHTIG: Kein OpenAI-Key fuer Kunden Seit Variante B (2026-03-25) liegt der OpenAI-Key **ausschliesslich serverseitig**. Der Kunde braucht KEINEN eigenen OpenAI-Key. Alle KI-Funktionen laufen ueber das AZA-Backend auf Hetzner. In keinem Produkttext, keiner E-Mail und keiner Anleitung darf ein OpenAI-Key als Kundenanforderung erwaehnt werden. ### Enthaltene Module 1. **KI-Assistent** – Medizinische Fragen stellen, Befunde besprechen 2. **Krankengeschichte** – Diktat aufnehmen, transkribieren, KG erstellen 3. **Audio-Notizen** – Sprachnotizen fuer den Praxisalltag 4. **Uebersetzer** – Medizinische Fachtexte uebersetzen 5. **Projekt-Notizen** – Tabs, Bilder, Diktat, Auto-Save 6. **Aerzte-Netzwerk** – Kollegialer Austausch (Vorschau) ### Systemvoraussetzungen (fuer Produktseite) - Windows 10 oder 11 (64-Bit) - Mindestens 4 GB RAM - Internetverbindung - Ca. 150 MB Festplattenplatz --- ## B. CHECKOUT-/KAUFPFAD ### Soll-Ablauf aus Kundensicht ``` aza-medwork.ch (WordPress-Produktseite) │ ▼ Kunde waehlt Plan (Basic/Team, Monatlich/Jaehrlich) │ ▼ Klick auf "Jetzt abonnieren" │ ▼ Stripe Checkout (gehostet von Stripe) - E-Mail-Adresse eingeben - Kreditkarte eingeben - Bezahlen │ ▼ Stripe verarbeitet Zahlung │ │ ▼ ▼ Webhook an Hetzner Redirect zu Success-Seite (api.aza-medwork.ch (Download-Link + Anleitung) /stripe/webhook) │ ▼ Lizenz in DB angelegt (status=active) ``` ### Checkout-Methode: Stripe Payment Links Stripe Payment Links sind bereits angelegt. Fuer die WordPress-Produktseite werden die Payment-Link-URLs als Buttons eingebunden. Kein WooCommerce-Checkout noetig. Alternativ koennen die Payment Links auch ueber `stripe_routes.py` (`POST /stripe/create_checkout_session`) erzeugt werden – das ist der Pfad den die Hetzner-Landing-Page (`web/index.html`) nutzt. ### Success-URL nach Zahlung | Variante | URL | Anmerkung | |---|---|---| | Hetzner-Success | `https://api.aza-medwork.ch/billing/success?session_id={CHECKOUT_SESSION_ID}` | Existiert und funktioniert | | WordPress-Danke | `https://aza-medwork.ch/danke/` | Einfache WordPress-Seite (manuell anlegen) | **Empfehlung:** Stripe Payment Links koennen auf eine WordPress-Danke-Seite weiterleiten. Die Hetzner-Success-Seite bleibt als Fallback fuer den Hetzner-Landing-Page-Pfad. ### Cancel-URL Zurueck zur Produktseite: `https://aza-medwork.ch/` ### Abo-Verwaltung / Kuendigung Der Kunde verwaltet sein Abo ueber das **Stripe Billing Portal**. Der Desktop hat einen Button "Abonnement verwalten", der `/stripe/billing_portal_url` aufruft und zum Stripe-Portal weiterleitet. Dort kann der Kunde: - Zahlungsmethode aendern - Abo kuendigen - Rechnungen einsehen --- ## C. DOWNLOAD-/AUSLIEFERUNGSPFAD ### Was der Kunde nach Kauf erhaelt 1. **Sofort nach Zahlung:** Weiterleitung zur Success-/Danke-Seite mit Download-Link 2. **Per E-Mail:** Stripe-Kaufbestaetigung (automatisch) + optionale manuelle E-Mail mit Download-Link 3. **Spaeter erneut:** Download ueber Stripe Billing Portal oder direkt via URL ### Download-URL | Pfad | URL | |---|---| | Installer (Hetzner) | `https://api.aza-medwork.ch/download/aza_desktop_setup.exe` | | Version-Info | `https://api.aza-medwork.ch/release/version.json` | Der Installer wird ueber den Hetzner-Server ausgeliefert (Caddy Static Files). Alternativ kann die EXE auch als WooCommerce-Download-Produkt in WordPress hochgeladen werden. ### Installer-Ablauf fuer den Kunden 1. `aza_desktop_setup.exe` herunterladen (ca. 40 MB) 2. Installer starten (ggf. SmartScreen-Warnung bestaetigen – bis Code-Signing aktiv) 3. Installation in ca. 2 Minuten 4. App startet, Fachgebiet waehlen, KI-Einwilligung bestaetigen 5. App prueft Lizenzstatus automatisch gegen Backend 6. Bei aktiver Subscription: Vollmodus. Bei keiner/gekuendigter: Testmodus ### Mein-Konto / Kundenbereich Fuer den produktiven Start gibt es **keinen WordPress-Kundenbereich**. Stattdessen: | Funktion | Loesung | |---|---| | Abo verwalten / kuendigen | Stripe Billing Portal (aus Desktop-App erreichbar) | | Rechnung / Beleg | Stripe sendet automatische Receipts | | Erneuter Download | Direktlink per E-Mail oder Success-Seite-Lesezeichen | | Lizenzstatus pruefen | Desktop-App zeigt Status, Admin-Panel zeigt Betreibersicht | **Spaeter** kann ein WordPress-"Mein Konto"-Bereich ergaenzt werden, aber fuer den produktiven Start ist das NICHT noetig. --- ## D. E-MAILS ### Automatische E-Mails (Stripe) Stripe sendet automatisch: - **Kaufbestaetigung / Receipt** nach jeder erfolgreichen Zahlung - **Zahlungserinnerung** bei fehlgeschlagener Zahlung - **Kuendigungsbestaetigung** bei Abo-Ende Diese E-Mails koennen im Stripe Dashboard unter **Settings → Emails** konfiguriert werden. ### Empfohlene manuelle E-Mail nach Erstkauf Wird vom Betreiber manuell oder spaeter automatisiert verschickt: | Feld | Wert | |---|---| | Absender | info@aza-medwork.ch | | Absendername | AZA MedWork | | Betreff | Ihr AZA Office Download ist bereit | **Inhalt (Vorlage):** ``` Guten Tag Vielen Dank fuer Ihren Kauf von AZA Office. Ihr Download: https://api.aza-medwork.ch/download/aza_desktop_setup.exe Installationsanleitung: 1. Datei herunterladen und ausfuehren 2. Installation abschliessen (ca. 2 Minuten) 3. App starten und Fachgebiet waehlen 4. Fertig – alle KI-Funktionen sind sofort verfuegbar Abo verwalten: In der App unter "Abonnement" koennen Sie Ihr Abo jederzeit verwalten oder kuendigen. Bei Fragen: info@aza-medwork.ch Freundliche Gruesse AZA MedWork ``` ### Keine Marketing-E-Mails Fuer den produktiven Start keine Newsletter oder Werbe-E-Mails. Nur transaktionale E-Mails (Kauf, Download, Kuendigung). --- ## E. TESTKAUF-CHECKLISTE ### Vor dem ersten Testkauf pruefen - [ ] WordPress-Produktseite ist online und zeigt korrekte Preise - [ ] Payment-Link-Buttons fuehren zu Stripe Checkout - [ ] Stripe ist im **Live-Modus** (oder bewusst im Testmodus fuer Testkauf) ### Testkauf-Ablauf (10 Schritte) | # | Schritt | Erwartetes Ergebnis | |---|---|---| | 1 | Produktseite auf aza-medwork.ch oeffnen | Seite laedt, AZA Office mit korrekten Preisen sichtbar | | 2 | "Jetzt abonnieren" (Basic Monatlich) klicken | Stripe Checkout oeffnet sich | | 3 | E-Mail + Kreditkarte eingeben, bezahlen | Zahlung erfolgreich | | 4 | Success-/Danke-Seite wird angezeigt | Download-Link sichtbar, Bestaetigung angezeigt | | 5 | Stripe Dashboard pruefen | Neue Subscription sichtbar, Status: active | | 6 | Admin-Panel pruefen: `GET /admin/license_customer_map` | Neue Lizenz mit korrekter E-Mail und status=active | | 7 | Download-Link klicken | `aza_desktop_setup.exe` wird heruntergeladen | | 8 | Installer ausfuehren, App starten | App laeuft im Vollmodus (nicht Testmodus) | | 9 | In Stripe: Subscription kuendigen | Webhook liefert 200 OK, Lizenz auf canceled | | 10 | App neu starten | App faellt auf Testmodus zurueck | ### Testkauf mit Stripe-Testkarte (optional vorab) Stripe auf Testmodus stellen, dann mit Testkarte `4242 4242 4242 4242` (beliebiges Datum, CVC 123) testen. ### Nach erfolgreichem Testkauf - [ ] Stripe auf Live-Modus stellen (falls noch im Testmodus) - [ ] Produktseite auf Startseite verlinken - [ ] E-Mail-Vorlage bereithalten --- ## F. ADMIN-SETUP-STAND – WordPress/WooCommerce ### Was bereits erledigt ist - [x] WordPress auf Hostpoint laeuft mit HTTPS - [x] Kadence Theme aktiv - [x] WooCommerce Plugin aktiv - [x] Stripe Live-Konto eingerichtet mit 4 Preisen - [x] Stripe Payment Links erstellt - [x] Stripe Webhook auf api.aza-medwork.ch funktional (200 OK) - [x] Hetzner-Backend live mit Lizenz-DB - [x] Admin Control Panel v2 live ### 7 Admin-Schritte in WordPress (manuell auszufuehren) **Schritt 1: WooCommerce-Grundeinstellungen korrigieren** WooCommerce → Einstellungen → Allgemein: - Land: **Schweiz** - Waehrung: **Schweizer Franken (CHF)** - Waehrungsposition: Links - Tausendertrennzeichen: `'` - Dezimaltrennzeichen: `.` **Schritt 2: Demo-Produkte loeschen** WooCommerce → Produkte → Alle Produkte: 9 Demo-Produkte auswaehlen → Massenaktion → In Papierkorb: Everest Series, Rockies Line, Kilimanjaro Set, Andes Collection, Alps Edition, Himalaya Range, Sierra Series, Fuji Line, Pyrenees Pack **Schritt 3: Produktseite erstellen** Seiten → Neu hinzufuegen: - Titel: **AZA Office – Medizinische KI fuer Ihre Praxis** - Inhalt: Produktbeschreibung + Pricing-Tabelle + Payment-Link-Buttons (Texte aus Abschnitt A dieses Dokuments verwenden) - Fuer jeden Plan einen Button mit der Stripe Payment Link URL - Veroeffentlichen **Schritt 4: Danke-Seite erstellen** Seiten → Neu hinzufuegen: - Titel: **Vielen Dank fuer Ihren Kauf** - Inhalt: ``` Ihr Download ist bereit: [AZA Office herunterladen](https://api.aza-medwork.ch/download/aza_desktop_setup.exe) Installationsanleitung: 1. Datei herunterladen und ausfuehren 2. Installation abschliessen (ca. 2 Minuten) 3. App starten und Fachgebiet waehlen 4. Fertig – alle KI-Funktionen sind sofort verfuegbar Abo verwalten: In der App unter "Abonnement". ``` - Slug: `danke` - Veroeffentlichen **Schritt 5: Stripe Payment Links aktualisieren** In Stripe Dashboard → Payment Links → jeweils After-Completion auf Redirect setzen: - URL: `https://aza-medwork.ch/danke/` **Schritt 6: Produktseite auf Startseite verlinken** Design → Menues (oder Kadence Header Builder): - Neuen Menuepunkt hinzufuegen: "AZA Office kaufen" → Link zur Produktseite - Oder: Button im Header mit Link zur Produktseite **Schritt 7: Rechtliches pruefen** Im Footer oder auf eigenen Seiten verlinken: - **Impressum** (Pflicht in der Schweiz) - **Datenschutzerklaerung** (Hinweis auf KI-Nutzung, Stripe-Zahlungsverarbeitung) - **AGB** (Subscription-Hinweis, automatische Verlaengerung, Kuendigung, digitales Produkt) --- ## Wichtige Dateien / Referenzen ### Backend / Hetzner | Datei | Zweck | |---|---| | `/root/aza-app/stripe_routes.py` | Webhook-Handler, Checkout-Session, Lizenz-DB | | `/root/aza-app/admin_routes.py` | Admin Control Panel (8 Endpunkte) | | `/root/aza-app/backend_main.py` | FastAPI-App, Success/Cancel-Seiten | | `/root/aza-app/deploy/.env` | Stripe-Keys, Domain, Secrets | | `/root/aza-app/data/stripe_webhook.sqlite` | Lizenz-Datenbank | ### Stripe Dashboard | Element | Status | |---|---| | Produkt: AzA Office | Angelegt mit 4 Preisen | | Payment Links | Erstellt fuer alle 4 Preise | | Webhook | `https://api.aza-medwork.ch/stripe/webhook` → 200 OK | | Billing Portal | Aktiviert | ### Installer / Desktop | Datei | Zweck | |---|---| | `aza_desktop_setup.exe` | Windows-Installer (ca. 40 MB) | | `release/version.json` | Versions-Info fuer Update-Check | --- ## Nicht-Ziele dieses Blocks - Kein WooCommerce-Subscriptions-Plugin (Stripe handhabt Billing direkt) - Kein WooCommerce-Stripe-Gateway (Payment Links umgehen WooCommerce-Checkout) - Kein WordPress-Kundenbereich "Mein Konto" (Stripe Billing Portal genuegt) - Kein automatisiertes E-Mail-System (manuelle E-Mail-Vorlage genuegt fuer Start) - Kein Code-Signing (kommt spaeter, SmartScreen-Warnung ist akzeptabel fuer Start) - Keine Browser-AZA-Integration (separater Block) --- ## Superseded Documents Dieses Dokument konsolidiert und ersetzt fuer den Kaufpfad: - `deploy/WORDPRESS_GOLIVE.md` (Stand 14.03.2026, teilweise veraltet) - `deploy/WOOCOMMERCE_PRODUCT.md` (AZA Desktop → AZA Office, OpenAI-Key entfernt) - `deploy/STRIPE_LIVE_SETUP.md` (Stripe-Setup ist erledigt, hier zusammengefasst) - `deploy/GO_LIVE_CHECKLIST_SHORT.md` (URLs korrigiert, Testkauf-Checkliste hier) - `billing/BILLING_FLOW.md` (generischer Platzhalter, durch realen Flow ersetzt)