Plugin Contributor
Komanda
(@komanda)
Доброго дня!
На наступному тижні візьмемо цю задачу в роботу, тож буде реалізовано в найближчому релізі.
Plugin Contributor
Komanda
(@komanda)
Трохи затримались, але вже опублікували оновлення, яке вирішує вашу проблему. Перевірте, будь ласка.
Дякую, побачив поле в товарі id
а чи можна зробити щоб замовлення передавалось в лік пей як один товар з фіксованим id? або всім товарам призначити одне id
Займаємось фористикою і важко призначати конкретне ід твару, зазвичай з іншими системами проходить як “оплата замовлення на сайті № (номер замовлення) та завжди один код для фіскалізації
Дякую за увагу та допомогу
Plugin Contributor
Komanda
(@komanda)
@cyberpanda1310, ми надаємо фільтр “wc_liqpay_request_filter” для модифікації параметрів які надсилаються в liqpay.
Для того, щоб проставити всім продуктам однаковий ID потрібно додати такий код в functions.php вашої теми:
add_filter('wc_liqpay_request_filter', function ($params) {
if (!empty($params['rro_info']['items'])) {
foreach ($params['rro_info']['items'] as &$item) {
// Таким чином всі продукти будуть мати ID "999"
$item['id'] = '999';
}
}
return $params;
});
Це можна зробити через “файловий менеджер вашого хостингу” або за допомогою плагіна який надає зручний інтерфейс для додавання фрагментів коду в тему https://wordpress.org/plugins/code-snippets/
спробував, але вийшла помилка:
Сума оплат повинна дорівнювати сумі вартості товарів
бо додано наприклад 2 товари в кошику і система спробувала фіскалізувати обидва з одним номеро але різними суммами, чи можна зробиит так. щоб не передавався список товарів, просто передавало один товар а саме суму всього замовлення – і фіксований номер
це був би найкращий варіант. Вибичте що так прискіпливо пишу, просто інший шлюз працює з коробики а тут саме з лік пей якось важко отримати результат. Дякую за підтримку
Вийшло з допомогою ChatGPT вирішити проблему ось фільтр який працює як нам треба.
Дякую за час і увагу!
add_filter('wc_liqpay_request_filter', function ($params) {
$order_id = isset($params['order_id']) ? $params['order_id'] : '0';
$amount = isset($params['amount']) ? floatval($params['amount']) : 0;
// Кількість — 1, ціна = загальна сума, cost = також сума
$rro_item = [
'id' => 999, // 🔸 ID товару з кабінету LiqPay
'amount' => 1,
'price' => $amount,
'cost' => $amount
];
$params['rro_info'] = [
'items' => [ $rro_item ],
'delivery_emails' => ['mail@mail.ua'] // 🔸 можна додатиemail
];
return $params;
}, 10, 1);