- Bestellung auf der Portal-Startseite: Zusammenfassung, AGB- und Vorab-Leistungs-Zustimmung, Button 'Zahlungspflichtig bestellen', danach Stripe Checkout (Abo, Kleinunternehmer-Fusszeile) - Stripe-Webhook /api/abo/webhook spiegelt Abos nach Appwrite (subscriptions) und schreibt je bezahlter Rechnung 60 min gut (hourCredits, idempotent ueber Invoice-ID, 12 Monate gueltig) - Stundenkonto: FIFO-Verbrauch aus Worksheets mit countsToPlan, 15-Minuten-Takt, Mehraufwand separat ausgewiesen - Stripe-Kundenportal fuer Zahlungsart/Rechnungen/Kuendigung - Oeffentlicher Kuendigungsbutton (§ 312k) und Widerrufsbutton (§ 356a) mit Eingangsbestaetigung per Mail - Abo-Bedingungen inkl. Leistungsbeschreibung und Widerrufsbelehrung, als Anhang der Vertragsbestaetigung Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
658 B
JSON
26 lines
658 B
JSON
{
|
||
"name": "webklar-kundenbereich",
|
||
"version": "1.0.0",
|
||
"description": "Webklar Kundenportal – zentrale Ticketsystem-Appwrite-DB",
|
||
"type": "module",
|
||
"main": "server/index.js",
|
||
"scripts": {
|
||
"start": "node server/index.js",
|
||
"dev": "node --watch server/index.js",
|
||
"setup:check": "node scripts/portal-setup.mjs --check",
|
||
"setup:link": "node scripts/portal-setup.mjs --link"
|
||
},
|
||
"engines": {
|
||
"node": ">=18"
|
||
},
|
||
"dependencies": {
|
||
"cookie-parser": "^1.4.7",
|
||
"dotenv": "^16.4.7",
|
||
"express": "^4.21.2",
|
||
"jose": "^6.0.11",
|
||
"node-appwrite": "^14.1.0",
|
||
"nodemailer": "^9.0.3",
|
||
"stripe": "^19.3.0"
|
||
}
|
||
}
|