Order Numbers
Назначает заказам Payload читаемые порядковые номера вида ORD-01042 через коллекцию резервирований.
Установка
pnpm add payload-order-numbers Описание
Плагин присваивает каждому заказу Payload короткий читаемый номер, например `ORD-01042`. Собственный идентификатор документа Payload не подходит как номер заказа: MongoDB отдаёт 24-символьный ObjectId, а PostgreSQL выдаёт обычное целое число начиная с 1, по которому можно узнать общее количество заказов в магазине. Плагин форматирует порядковый номер с настраиваемым префиксом, суффиксом и дополнением нулями и сохраняет его прямо в заказе. Номера назначаются в хуке `beforeChange`, но само резервирование значения идёт через отдельную коллекцию. Перед записью заказа плагин вставляет следующее подходящее значение в коллекцию резервирований, и вставка коммитится в отдельной транзакции. Второй заказ, пришедший в тот же момент, видит резервирование и берёт следующее значение. Уникальный индекс по номеру заказа служит финальной гарантией. Автор проверил 25 одновременных заказов на Payload 3.88 с PostgreSQL и MongoDB, все номера уникальны, пропусков от этапа резервирования нет. На коллекцию заказов добавляются два поля: текстовое `orderNumber` только для чтения и скрытое числовое `orderSequence`, оба с уникальным индексом. Скрытая коллекция `order-number-reservations` хранит зарезервированные значения и закрыта для любого API-доступа (create, read, update, delete). В настройках задаются префикс, суффикс, длина дополнения, стартовое значение, имена полей, слаги коллекций и число попыток перед отказом. Плагин работает с `@payloadcms/plugin-ecommerce` и любой коллекцией с именем `orders` по умолчанию. У последовательности два ограничения. Она возрастающая и уникальная, но не безпропускная: зарезервированное значение остаётся за собой, даже если заказ потом не сохранится, так что это не бухгалтерская нумерация для счетов. На PostgreSQL вставка в резервирования открывает второе соединение, пока транзакция заказа держит первое, поэтому пул соединений нужно держать как минимум вдвое больше ожидаемого числа одновременных заказов. На MongoDB этого ограничения нет. Существующие заказы не перенумеровываются.
О пакете
- Имя пакета
payload-order-numbers- Последняя версия
1.0.1- Размер
- 15 кБ
- Лицензия
- 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.
Похожие плагины
Ещё в категории «Коммерция»Product Reviews
Плагин добавляет в Payload v3 коллекцию reviews с оценкой от 1 до 5, модерацией статусов и данными aggregateRating для Google.
Stripe
Связывает коллекции Payload с ресурсами Stripe, обрабатывает webhook-события и проксирует вызовы API.
Tpay E-commerce Payment Adapter
Платёжный адаптер Tpay для @payloadcms/plugin-ecommerce: BLIK, банковские переводы и карты с проверкой вебхуков и учётом склада.
Google Merchant Center Ecommerce Integration
Синхронизируйте продукты из Payload CMS с Google Merchant Center.