WP Manifestindependent plugin directory
manifest / ecommerce / ycp-yandex-commerce-woocommerce

Perfinn YCP Checkout для Яндекса

Плагин WordPress для интеграции WooCommerce с Яндекс Чекаутом по протоколу YCP. Реализует все 10 обязательных эндпоинтов: warehouses, basket/check, delivery, pickup_points, checkout, placed, cancel, order, order/cancel, order/delivered. Заказы автоматически создаются в WooCommerce. Поддержка HPOS, Bearer-токен, идемпотентность по session_id.

by Perfinn · github.com/perfinn/ycp-yandex-commerce-woocommerce · website

8stars
44release downloads
1forks

Install

The author publishes release zips, so WP-CLI can install straight from GitHub:

wp plugin install https://github.com/perfinn/ycp-yandex-commerce-woocommerce/releases/download/v1.0.3/perfinn-ycp-checkout-1.0.3.zip

Readme

Perfinn YCP Checkout для Яндекса

Неофициальная интеграция WooCommerce с Яндекс Чекаутом по протоколу Yandex Commerce Protocol (YCP). Покупатель оформляет заказ в виджете Яндекса — заказ автоматически создаётся в вашей WooCommerce.

⚠️ Этот плагин разработан независимым разработчиком Perfinn и не связан с компанией Yandex / Яндекс.


✨ Возможности

  • 🔌 Все 10 эндпоинтов YCP v1 — полная поддержка протокола, никаких «заглушек»
  • 🛒 Автоматическое создание заказов в WooCommerce из Яндекс Чекаута
  • 🔐 Bearer-токен авторизация (с fallback на X-API-Key)
  • 🔁 Идемпотентность по session_id — один заказ на сессию, безопасно при ретраях
  • 💾 HPOS-совместимость — работает с новым хранилищем заказов WooCommerce
  • 📦 Габариты по умолчанию — товары без указанных размеров получают разумные дефолты для расчёта СДЭК
  • 📧 Письма с корректной суммой — флоу checkout-draft → pending, без писем «Новый заказ на 0 ₽»
  • 📊 Лог последних 100 запросов прямо в админке — отладка одной кнопкой
  • ⚙️ Все настройки склада из админки — никакого хардкода

🚀 Установка

Способ 1: ZIP-архив

  1. Скачайте свежий ZIP из Releases
  2. WordPress Admin → Плагины → Добавить новый → Загрузить плагин → выберите ZIP
  3. Активируйте

Способ 2: git clone

cd wp-content/plugins/
git clone https://github.com/perfinn/YCP-Yandex-Commerce-Woocommerce.git yandex-ycp-woo

Активируйте плагин в админке.

⚙️ Настройка

После активации перейдите в Инструменты → YCP Yandex Commerce:

  1. Получите Bearer-токен в кабинете Яндекс Чекаута → «Настройки интеграции → URL для API и токен доступа».
  2. Вставьте токен в поле «Bearer-токен от Яндекса» → Сохранить.
  3. Заполните данные склада (название, адрес, телефон).
  4. Скопируйте «URL для Яндекса» (вида https://ваш-сайт.ru/ycp/) и вставьте его в кабинете Яндекса в поле «URL для API».
  5. Нажмите в Яндексе «Проверить подключение» — должен получить 200 OK.

📋 Реализованные эндпоинты

Метод Путь Назначение
GET /api/v1/warehouses список складов магазина
POST /api/v1/checkout/basket/check проверка корзины (цены, наличие, габариты)
POST /api/v1/checkout/delivery/options варианты доставки (курьер/ПВЗ)
GET /api/v1/checkout/delivery/pickup_points список собственных ПВЗ
POST /api/v1/checkout создание сессии чекаута → создаётся WC-заказ
POST /api/v1/checkout/placed подтверждение оформления (online/COD)
POST /api/v1/checkout/cancel отмена сессии
GET /api/v1/order история статусов доставки
POST /api/v1/order/cancel отмена оформленного заказа
POST /api/v1/order/delivered отметка о доставке

🧪 Тестирование вручную

# Healthcheck
curl -H "Authorization: Bearer ВАШ_ТОКЕН" https://ваш-сайт.ru/ycp/

# Список складов
curl -H "Authorization: Bearer ВАШ_ТОКЕН" \
     https://ваш-сайт.ru/ycp/api/v1/warehouses

# Проверка корзины
curl -X POST -H "Authorization: Bearer ВАШ_ТОКЕН" \
     -H "Content-Type: application/json" \
     -d '{"items":[{"id":"123","quantity":1}],"locality":"Москва"}' \
     https://ваш-сайт.ru/ycp/api/v1/checkout/basket/check

🔧 Технические детали

  • Совместимость: WordPress 5.8+, WooCommerce 6.0+, PHP 7.4+
  • HPOS: работает с обоими хранилищами заказов
  • Rewrite-правила создаются при активации, единоразовый flush
  • Кэширование: ответы помечены nocache_headers()
  • Логи: хранятся в опции ycpy_log, ротация по последним 100 записям

🧩 Маппинг товаров

Плагин ищет товар в WooCommerce в таком порядке:

  1. По SKU (поле «Артикул»)
  2. По ID товара (если ID числовой)

В Яндексе как offerId/id указывайте либо SKU, либо WC product ID — оба варианта поддержаны.

🐛 Отладка

Если заказ не оформляется:

  1. Откройте Инструменты → YCP Yandex Commerce → Лог последних запросов
  2. Найдите запись с типом EXCEPTION — там полное сообщение об ошибке
  3. Тело запроса от Яндекса там же — увидите, что именно прислали

📬 Поддержка

По техническим вопросам, кастомным доработкам и сопровождению:

📧 info@perfinn.ru

В письме указывайте версию WordPress, WooCommerce, версию плагина и фрагмент лога из админки плагина.

📜 Лицензия

GPL-2.0 — см. LICENSE.txt.

🤝 Вклад в проект

PR'ы, issue, фичреквесты — добро пожаловать. Создавайте issue или присылайте pull request.


Полезный плагин? Поставьте звезду на GitHub!

Read the full README on GitHub →

Releases

TagPublishedAssetDownloads
v1.0.3 Jul 27, 2026 perfinn-ycp-checkout-1.0.3.zip 19
v1.0.2 Jul 27, 2026 perfinn-ycp-checkout-1.0.2.zip 3
v1.0.1 Jul 27, 2026 perfinn-ycp-checkout-1.0.1.zip 1
v1.0.0 Jun 9, 2026 perfinn-ycp-checkout-1.0.0.zip 21