Admin – Bestellungen & Zuweisung
Auf dieser Seite
English (summary)
Orders and manual subscription assignment are handled at /admin/orders (CMS/admin/orders.php → CMS/admin/modules/subscriptions/OrdersModule.php → CMS/admin/views/subscriptions/orders.php). Orders are stored in cms_orders, assignments in cms_user_subscriptions.
- Status filter:
pending,paid,cancelled,refunded,failed(aliasesconfirmed/completed→paid). - Actions:
assign_subscription(user, plan, cyclemonthly|yearly|lifetime),update_status,delete. - CSV export:
?export=ordersor?export=usage(respects the status filter).
Deutsch
Herkunft der Bestellungen
Bestellungen entstehen im öffentlichen Checkout CMS/orders.php (Aufruf /orders.php?plan=<id>&billing=monthly|yearly|lifetime). Der Checkout
- ist nur erreichbar, wenn die Core-Module
subscriptionsundsubscription_orderingaktiv sind (sonst Weiterleitung auf/), - lädt ausschließlich aktive Pakete,
- berechnet Netto/Steuer/Brutto aus
tax_rateundtax_included, - verlinkt AGB- und Widerrufsseite aus den Paketeinstellungen,
- prüft das CSRF-Token
checkout_processund legt die Bestellung mit Statuspendingund einer eindeutigenorder_numberan.
Die Router-Route
GET|POST /order(PublicRouter::renderOrder()) erwartet die DateiCMS/member/order_public.php, die in 3.4.00 nicht ausgeliefert wird; sie liefert daher 404. Verlinkt wird der Checkout über/orders.php.
Oberfläche
- Kennzahlen: Umsätze, offene/bezahlte Bestellungen, aktive Abos, Ressourcen-Nutzung (Experten, Unternehmen, Events, Speaker, Speicher).
- Filter:
?status=pending|paid|cancelled|refunded|failed. - Bestellliste: Bestellnummer, Kunde, Paket, Zyklus, Betrag, Status, Datum.
- Manuelle Zuweisung: Benutzer + Paket + Abrechnungszyklus → aktives Abo ohne Bestellung (z. B. für Partner, Tests, Kulanz).
Aktionen
action |
Parameter | Wirkung |
|---|---|---|
assign_subscription |
user_id, plan_id, billing_cycle (monthly, yearly, lifetime) |
SubscriptionManager::assignSubscription() – setzt ein bestehendes aktives Abo auf cancelled und legt ein neues aktives Abo an |
update_status |
id, status |
Bestellstatus ändern |
delete |
id |
Bestellung löschen |
Export
GET /admin/orders?export=orders[&status=…] bzw. ?export=usage streamt eine CSV-Datei (Bestellungen bzw. Ressourcen-Nutzung je Benutzer). Fehler beim Export werden protokolliert (orders.export_failed).
Datenmodell cms_orders
order_number, user_id, plan_id, customer_name, customer_email, amount, tax_amount, total_amount, currency (Standard EUR), status, payment_method, billing_cycle, payment_ref, notes, contact_data (JSON), Adressfelder (forename, lastname, company, email, phone, street, zip, city, country), Zeitstempel.
Verwandte Dokumente
PACKAGES.md · SUBSCRIPTION-SYSTEM.md · ../../member/MEMBER-ROUTES.md