Logo

7. Частые вопросы и ошибки

Bad signature

Проверьте совпадение API_SECRET на сайте и в плагинах.

Плагины не видят сайт

Убедитесь, что сервер имеет доступ к SITE_URL (лучше HTTPS), и время сервера не сильно отличается.

Выдача частично не выполнена

Проверьте корректность delivery_json, наличие shortname предметов, групп и команд.

Не загружаются иконки предметов

Если в админке или на сайте не отображаются иконки предметов:

  1. Зайдите в редактирование любого товара.
  2. Нажмите кнопку «Обновить» в блоке «Каталог предметов с иконками».
  3. Дождитесь окончания загрузки (система скачает свежие иконки в assets/img/items/).

Также убедитесь, что папка assets/img/items/ доступна для записи.

Настройки в админке не сохраняются

Если вы меняете настройки (Название сайта, Иконки, Режим обслуживания), они применяются визуально, но после обновления страницы сбрасываются на старые значения — проблема в формате файла config/local.php.

Админ-панель дописывает новые значения в конец файла. Чтобы они работали, старые значения должны быть обернуты в проверку if (!defined(...)). Иначе PHP использует первое (старое) значение.

Неправильно:

define('SITE_NAME', 'Old Name'); // Всегда будет использоваться это значение

Правильно:

if (!defined('SITE_NAME')) define('SITE_NAME', 'Old Name'); // Будет пропущено, если ниже есть новое значение

Убедитесь, что все константы в начале файла config/local.php имеют такую проверку.

Undefined constant / методы оплаты не отображаются

Если шаблоны или линтер сообщают об «Undefined constant», убедитесь, что используется безопасная проверка констант:

if (defined('PAYMENTS_ENABLED') && constant('PAYMENTS_ENABLED')) { ... }

Флаги включения провайдеров (YOOMONEY_ENABLED, UNITPAY_ENABLED, FREEKASSA_ENABLED, ENOT_ENABLED) сохраняются в config/local.php через админку (/admin/payments). В config/config.php по умолчанию они равны false, чтобы шаблоны не падали без local.php.

На странице Checkout предусмотрен резерв: при выключенных флагах, но заполненных ключах провайдера, метод может отобразиться. На странице Order список формируется строго по флагам.

CSP блокирует внешние ресурсы/провайдеры

Включена политика Content Security Policy (CSP) для продакшн-окружения. При добавлении новых платёжных провайдеров или CDN проверьте, что их домены разрешены в заголовке CSP в разделе безопасности.