docs: document checkout server action details in grand functions
Some checks failed
Staging Build / build (push) Has been cancelled

This commit is contained in:
DanielS
2026-07-09 21:53:45 +02:00
parent 926650d3b6
commit 0621a0be16

View File

@@ -43,15 +43,17 @@ graph TD
--- ---
### E. Multi-Kassen-Warenkorb & Checkout-Split ### E. Multi-Kassen-Warenkorb & Checkout-Split
- **Endpunkt**: `POST /api/orders/checkout` - **Endpunkt / Server Action**: `POST /api/orders/checkout` sowie Server Action `checkoutAction` in `app/actions/checkout.ts`
- **Funktionsweise**: - **Funktionsweise**:
- Empfängt ein Array von `items` (Kassenkonfigurationen). - Empfängt ein Array von `items` (Kassenkonfigurationen).
- Validiert Auth und Partner-Firma Zuweisung.
- Generiert einen `order_hash` zur Vermeidung von Doppelübermittlungen (Idempotenz-Guard).
- Teilt die Konfigurationen nach `billingInterval` / `billingType` auf (Kauf vs. Abo). - Teilt die Konfigurationen nach `billingInterval` / `billingType` auf (Kauf vs. Abo).
- Erstellt separate Orders in der Datenbank: - Erstellt separate Orders in der Datenbank:
- Typ `purchase`: Zahlungsart `invoice` (Rechnung). - Typ `purchase`: Zahlungsart `invoice` (Rechnung).
- Typ `subscription`: Zahlungsart `sepa`. - Typ `subscription`: Zahlungsart `sepa`.
- Friert für jede Order einen konsolidierten `order_snapshot` (JSONB) und `customer_snapshot` (JSONB) ein. - Friert für jede Order einen konsolidierten `order_snapshot` (JSONB) und `customer_snapshot` (JSONB) ein.
- Triggert die PDF-Rechnungserstellung und den E-Mail-Versand unabhängig für jede generierte Order. - Triggert die PDF-Rechnungserstellung und den E-Mail-Versand unabhängig für jede generierte Order (gibt Order-IDs für Post-Processing zurück).
--- ---