Как редактировать поля чека только для одного товара: Юкасса wordpress?
Ссылка скопирована
Сейчас ситуация такая: как в плагине юкасса для woocommerce сделать предмет расчёта и способ расчёта только для одного товара? В карточке редактирования товара - в блоке "данные товара" нет вкладки.
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
Аккумуляторные батареи
Почему при зарядке автостарта слышен писк, где искать причину?
1 ответ


В YooKassa для WooCommerce предмет расчёта и способ расчёта обычно задаются либо глобально в настройках плагина, либо на уровне товара, если версия плагина поддерживает такие поля. Если в карточке товара нет вкладки или полей YooKassa, сначала проверьте версию плагина и включён ли вывод фискальных настроек для товаров.
Если нужно изменить параметры только для одного товара, самый надёжный путь — фильтр плагина YooKassa или WooCommerce перед формированием чека. Конкретное имя фильтра зависит от версии YooKassa, поэтому сначала откройте файлы плагина и поищите:
grep -R "payment_subject|payment_mode|apply_filters" wp-content/plugins/yookassa*
Логика должна быть такая: при формировании позиции чека проверяете ID товара и подменяете значения только для него.
add_filter('yookassa_receipt_item_data', function ($item_data, $order_item, $order) { $product = $order_item->get_product(); if (!$product) { return $item_data; } if ((int) $product->get_id() === 123) { $item_data['payment_subject'] = 'service'; $item_data['payment_mode'] = 'full_payment'; } return $item_data; }, 10, 3);
Это пример структуры, а не гарантированное имя фильтра: у вашей версии плагина оно может отличаться. Нужно ориентироваться по коду установленного плагина.
Если фильтра нет, можно хранить нужные значения в метаполях товара и дорабатывать формирование чека через hook, который плагин предоставляет для receipt/items. Не правьте файлы YooKassa напрямую: после обновления всё пропадёт.
Также проверьте тип товара. Для вариативного товара чек может формироваться по variation ID, а настройки Вы ищете у родительского товара. В таком случае нужно проверять и variation ID, и parent ID:
$product_id = $product->get_id(); $parent_id = $product->is_type('variation') ? $product->get_parent_id() : 0;
Итог: если UI-полей нет, задача решается через фильтр формирования позиций чека. Найдите актуальный hook в вашей версии YooKassa и подменяйте предмет/способ расчёта только для нужного product ID.