Fulfillment

Erweitert die Bestellungen von @payloadcms/plugin-ecommerce um Versandstatus, Verlaufs- und Notizfelder sowie Tracking-Daten.

Community 1 6/Wo. MIT v1.0.1

Installation

pnpm add payload-fulfillment

Über

Erweitert die Orders Collection von @payloadcms/plugin-ecommerce um Statuswerte, die ein echter Shop zwischen Zahlung und Auslieferung braucht, und um eine Historie, die jeden Statuswechsel dokumentiert. Das offizielle Plugin vergibt vier Status (processing, completed, cancelled, refunded). Dieses Plugin hängt vier weitere an (pending-payment, on-hold, shipped, failed), ohne die bestehenden zu entfernen oder umzuordnen. Bestehende Bestellungen funktionieren weiterhin. `fulfillmentPlugin` wird nach `ecommercePlugin` im plugins-Array eingetragen. Es erweitert die konfigurierte Orders Collection, führt seine Status in das bestehende Select-Feld zusammen und fügt Array-Felder für Verlauf und Notizen sowie Felder für Tracking-Nummer und Versanddienstleister hinzu. Das Plugin hat keine Runtime-Abhängigkeit von `payload` und bringt keine Admin-Komponenten mit. Das hält es über Minor-Releases stabil. Ein beforeChange-Hook schreibt jeden Wechsel (from, to, at, by, byEmail) in das history-Feld. Dieses Feld ist für direkte API-Schreibvorgänge gesperrt (`create: false, update: false`). Kein Request kann Einträge fälschen oder nachträglich ändern. Nur der Haken kann schreiben. `guardTransitions` blockiert einen Statuswechsel, den die Transition Map nicht erlaubt, und antwortet mit HTTP 400. Die zugehörige `InvalidTransitionError` ist exportiert und trägt `status` und `isPublic`. Die Standard-Map deckt alle acht Status ab. Wer `transitions` übergibt, ersetzt sie vollständig. Ein Status, der nicht als Key in der Map enthalten ist, wird nie abgelehnt, sodass eigene Status den Shop nicht blockieren. `carriers` macht das Versanddienstleister-Feld zu einem Select. `trackingStates` steuert, bei welchen Status im Admin-Panel die Tracking-Felder sichtbar sind (Standard: shipped und completed). `internalAccess` verweigt standardmäßig dem Kunden der eigenen Bestellung den Zugriff, lässt aber Personal durch. Die Historie liegt als Array auf dem Order-Dokument statt in einer eigenen Collection, da der Eintrag innerhalb derselben Schreiboperation und Transaktion wie die Bestellungsänderung angelegt wird. Die Tracking-Felder sind über `admin.condition` ausgeblendet, bleiben aber in der Datenbank und der API-Antwort erhalten. Das Plugin wurde gegen Payload 3.88 und @payloadcms/plugin-ecommerce 3.88.0 gebaut und getestet. Die Peer-Range ist `payload >=3.50 <4`.

Paketinformationen

Paketname
payload-fulfillment
Neueste Version
1.0.1
Entpackte Größe
32 kB
Lizenz
MIT
Wöchentliche Downloads
6
Zuletzt veröffentlicht
21. Aug. 2026

Mehr von Poseidonas

Profil ansehen

Ähnliche Plugins

Mehr in Commerce