Fulfillment

Добавляет статусы выполнения заказа, историю переходов, внутренние заметки и поля для трекинга в коллекцию заказов Payload ecommerce.

Сообщество 1 6/нед MIT v1.0.1

Установка

pnpm add payload-fulfillment

Описание

Пакет расширяет коллекцию заказов из `@payloadcms/plugin-ecommerce` новыми статусами, которые нужны между оплатой и доставкой, а также фиксирует как заказ переходит из одного состояния в другое. Официальный плагин дает заказу четыре статуса: processing, completed, cancelled, refunded. Этот пакет добавляет еще четыре (pending-payment, on-hold, shipped, failed) после базовых, не удаляя и не меняя их местами, поэтому существующие заказы продолжают работать. Функция `fulfillmentPlugin` ставится после `ecommercePlugin` в массиве плагинов и расширяет найденную коллекцию заказов: объединяет свои состояния с существующим status select и добавляет массивы для истории и заметок, плюс поля tracking number и carrier. Пакет не зависит от `payload` на этапе выполнения и не содержит React-компонентов для админки, что сохраняет стабильность между минорными релизами. Хук `beforeChange` записывает каждую смену статуса (from, to, at, by, byEmail) в поле history. Это поле закрыто для прямого API-взаимодействия (`create: false`, `update: false`), поэтому ни один запрос не может подделать или изменить запись. Доступ на запись есть только у хука. Опция `guardTransitions` запрещает смену статуса, которую не разрешает карта переходов, и возвращает HTTP 400 через экспортируемый `InvalidTransitionError` с полями `status` и `isPublic`. Карта по умолчанию покрывает все восемь статусов. Передача `transitions` заменяет ее полностью, а статус, не являющийся ключом в карте, никогда не отклоняется, поэтому пользовательские состояния не блокируют работу магазина. Опция `carriers` превращает поле carrier в select. `trackingStates` управляет тем, в каких статусах поля трекинга отображаются в админ-панели (по умолчанию shipped и completed). `internalAccess` по умолчанию запрещает доступ заказчику к заказу, но разрешает его сотрудникам. История хранится как массив в документе заказа, а не в отдельной коллекции. Запись добавляется в той же транзакции и запросе на запись, что и обновление заказа. Поля трекинга скрыты через `admin.condition`, но остаются в базе данных и в ответе API. Пакет собран и протестирован на Payload 3.88 и `@payloadcms/plugin-ecommerce` 3.88.0, peer range: `payload >=3.50 <4`.

О пакете

Имя пакета
payload-fulfillment
Последняя версия
1.0.1
Размер
32 кБ
Лицензия
MIT
Загрузок в неделю
6
Последняя публикация
21 авг. 2026 г.

Ещё от Poseidonas

Профиль автора

Barcodes

Добавляет штрихкоды Code 128, EAN-13 и QR в коллекции товаров Payload с печатью этикеток и опциональными кнопками в админке.

AI Manager

Плагин Payload для автогенерации товарных описаний, заголовков, атрибутов и переводов через Claude, ChatGPT, Gemini или Kimi с пропуском уже сгенерированного контента.

EU VAT

Рассчитывает НДС ЕС для магазинов на Payload и записывает разбивку по каждому заказу: ставки, реверсивный заряд, проверку VIES и отчёт OSS.

Stock Reservation

Проверяет наличие варианта и цену до оплаты, резервирует остатки до подтверждения и закрывает пробелы чекаута в официальном плагине Payload ecommerce.

Stock Alerts

Отправляет письмо при падении остатков товара или варианта ниже порога, с поддержкой бэкордера и публичным полем статуса.

Shipping Rates

Добавляет зоны доставки, расчет стоимости и endpoint для quoted в магазинах на @payloadcms/plugin-ecommerce.