Refunds
Добавляет полный и частичный возврат средств в заказы Payload ecommerce с лимитом по позициям, опциональным возвратом на склад и неизменяемой историей.
Установка
pnpm add payload-refunds Описание
Плагин добавляет обработку полных и частичных возвратов в заказы Payload ecommerce. Он создаёт коллекцию `refunds`, где каждый возврат оформлен как обычный документ, и добавляет в коллекцию заказов поля `refundedAmount` и `refundableAmount`, которые синхронизируются с записями о возвратах. Все суммы хранятся и сравниваются как целые числа в минимальных единицах валюты (копейках, центах). Дробные значения не округляются, а отклоняются. Плагин расширяет `@payloadcms/plugin-ecommerce` и должен регистрироваться после того, как коллекция заказов уже существует. Если коллекция отсутствует, конфигурация возвращается без изменений, поэтому плагин безопасно подключать в любом проекте. `refundedAmount` пересчитывается заново из записей о возвратах при каждой записи и никогда не инкрементируется, что исключает рассогласование с историей. Возврат может включать несколько позиций заказа. Сумма возвращённых единиц по всем записям не превышает количества заказанного товара. Возврат отклоняется с ошибкой `RefundError` (HTTP 400), если сумма равна нулю, отрицательна, дробная, превышает остаток к возврату или если лимит по позиции исчерпан. Хук `onRefund` выполняется после валидации и до записи в базу. Если вызов платёжного провайдера завершится неудачей, не останется никаких следов. Возврат объекта `reference` из хука сохраняет идентификатор возврата на стороне провайдера в записи. Опциональный restock возвращает товары на склад в документ продукта или варианта через compare-and-set записи с повторными попытками, чтобы избежать перезаписи при параллельных изменениях. `updateTransactionStatus` помечает соответствующую транзакцию как `refunded` после полного возврата суммы заказа. Опция `refundedStatus` управляет статусом самого заказа: пустая строка оставляет его без изменений, что подходит для частичных возвратов. Пакет не содержит админ-компонентов и не имеет рантайм-зависимостей, включая прямые импорты `payload`, что сохраняет стабильность между минорными релизами Payload. Плагин не вычисляет цену отдельной позиции, поскольку официальный ecommerce-плагин не хранит её в строке заказа, поэтому лимиты по позициям применяются только по количеству. Запись о возврате доступна только для добавления: хук `beforeChange` отклоняет любые операции, кроме `create`, поэтому история возвратов остаётся неизменной.
О пакете
- Имя пакета
payload-refunds- Последняя версия
1.0.1- Размер
- 52 кБ
- Лицензия
- MIT
- Загрузок в неделю
- 3
- Последняя публикация
- 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.