diff --git a/.agents/skills/grand-functions/references/processes.md b/.agents/skills/grand-functions/references/processes.md index cd2a026..4089eaa 100644 --- a/.agents/skills/grand-functions/references/processes.md +++ b/.agents/skills/grand-functions/references/processes.md @@ -43,15 +43,17 @@ graph TD --- ### 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**: - 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). - Erstellt separate Orders in der Datenbank: - Typ `purchase`: Zahlungsart `invoice` (Rechnung). - Typ `subscription`: Zahlungsart `sepa`. - 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). ---