Square Sync

Плагин для синхронизации каталога и остатков Square с коллекциями Payload в режиме только для чтения.

Сообщество 5 57/нед MIT v1.3.0

Установка

pnpm add payloadcms-plugin-square

Описание

Плагин связывает аккаунт Square с проектом на Payload и копирует каталог Square в локальные коллекции. При запуске Payload отрабатывает хук `onInit`: сначала подтягиваются категории, затем списки модификаторов, товары с вариациями и остатки. Для данных создаются пять коллекций, доступных только для чтения, в группе `Square`: `square-categories`, `square-items`, `square-item-variations`, `square-modifier-lists`, `square-inventory`. Square остаётся единственным источником правды. Создание и удаление записей в коллекциях отключено, а синхронизированные поля помечены как read-only, поэтому редакторы не могут занести в Square расходящиеся данные. У каждой коллекции есть эндпоинт `GET /api/{slug}/refresh`, а в список админки через React client component в `beforeList` добавлена кнопка Refresh, чтобы редактор мог пересинхронизировать отдельную коллекцию вручную. Для обновлений в реальном времени плагин регистрирует эндпоинт `POST /api/square-webhook` и проверяет входящие уведомления через `WebhooksHelper.verifySignature` по сигнатурному ключу и URL из настроек. Поддерживаются события `catalog.version.updated` (ресинхронизация категорий, модификаторов и товаров) и `inventory.count.updated` (ресинхронизация остатков). Типы событий и URL вебхука должны совпадать с теми, что зарегистрированы в Square Developer Dashboard. Конфигурация задаётся одним объектом опций: `accessToken` (обязательный), `environment` (по умолчанию Sandbox), `debug`, `enabled` и опциональный блок `webhooks` с полями `signatureKey`, `url`, `events`. Плагин рассчитан на Payload 3.x с Next.js 15 и React 19, требует `square` SDK как peer dependency. Область действия ограничена каталогом и остатками: плагин не обрабатывает чекаут, платежи и заказы.

О пакете

Имя пакета
payloadcms-plugin-square
Последняя версия
1.3.0
Размер
164 кБ
Лицензия
MIT
Загрузок в неделю
57
Последняя публикация
14 окт. 2025 г.

Ещё от TheJethFX

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