
🚫 Чистимо чекаут WooCommerce: прибираємо непотрібні способи оплати за країною, сумою та роллю
Покупець заповнив кошик, дійшов до оформлення і бачить п’ять платіжних методів, з яких працюють два. Третій ви тестували місяць тому й забули вимкнути, четвертий не приймає платежі з його країни, а п’ятий висить мертвим вантажем після деактивації старого плагіна. Знайомо?
Кожен зайвий шлюз на чекауті — це тертя. Покупець витрачає зайві секунди на вибір, а якщо обере неробочий метод, кидає кошик. За даними Baymard Institute, 22% користувачів ідуть із чекауту саме через складний або заплутаний процес оформлення.
Нижче, три способи навести лад у платіжних методах WooCommerce: від вбудованої панелі для швидкого чищення до порядкового коду під будь-які умови. Кожен перевірено на живому магазині, з конкретними прикладами та підводними каменями.
Що треба знати до вимкнення
💡 Швидкий огляд:
- Спосіб 1: WooCommerce → Settings → Payments, два кліки, вимикає шлюз для всіх покупців одразу
- Спосіб 2: фільтр
woocommerce_available_payment_gatewaysуfunctions.php, умови за країною, сумою кошика, роллю користувача - Спосіб 3: безплатний плагін Conditional Payments for WooCommerce, візуальний конструктор, жодного рядка коду
Перед будь-якими змінами, повний бекап. Безплатний UpdraftPlus закриває задачу: пара кліків, і копія сайту лежить у хмарі. Після вимкнення шлюзів обов’язково пройдіть тестове замовлення від кошика до «дякуємо», переконайтеся, що решта методів приймають оплату без помилок.
І головне: ніколи не вимикайте ВСІ шлюзи одночасно. Залиште хоча б один робочий спосіб оплати, інакше покупці просто не зможуть завершити замовлення, а ви дізнаєтеся про це з дзвінкої тиші в пошті.
Спосіб 1: Панель WooCommerce, два кліки, нуль ризику
Найпростіший і найбезпечніший шлях. Підходить, якщо треба прибрати конкретний шлюз для ВСІХ покупців без жодних умов.
Відкрийте WooCommerce → Settings у бічному меню адмінки та перейдіть на вкладку Payments. Перед вами, таблиця всіх зареєстрованих платіжних методів із колонкою Enabled. Активні шлюзи підсвічені фіолетовим, вимкнені, сірим.

Щоб вимкнути метод, клацніть по тоглу в колонці Enabled, він стане сірим. Усе. Шлюз миттєво зникає з чекауту. Жодного коду, жодних плагінів.

Альтернативний шлях до того самого результату: клацніть по назві методу в списку, зніміть позначку Enable this payment gateway і збережіть.

Що цей спосіб НЕ вміє
Обмеження рівно одне, але суттєве: ви вимикаєте шлюз глобально. Якщо магазин працює на кілька країн або вам потрібно приховувати метод лише за певних умов (сума замовлення нижче порогу, товар із категорії «цифрові», покупець із ЄС), панель не допоможе. Для умовної логіки переходьте до способів 2 і 3.
Спосіб 2: Код, фільтр woocommerce_available_payment_gateways
WooCommerce надає хук woocommerce_available_payment_gateways. Він спрацьовує безпосередньо перед виводом списку методів на чекауті та дає змогу прибирати шлюзи за десятком різних умов: країна, сума кошика, роль користувача, категорія товару в замовленні.
Код додається у functions.php дочірньої теми або через плагін Code Snippets. Якщо дочірньої теми ще немає, створіть її до правок, інакше все злетить при першому ж оновленні батьківської теми.
2.1. Сховати всі платіжні методи разом
Іноді потрібно повністю прибрати форму оплати: наприклад, сайт у режимі обслуговування, а ви тестуєте кошик. Один рядок у functions.php:

1 add_filter( 'woocommerce_cart_needs_payment', '__return_false' );
Фільтр каже WooCommerce: «оплата не потрібна». Платіжна форма зникає з чекауту повністю. Натисніть Update file і не забудьте видалити рядок після тестів, інакше жодне реальне замовлення не пройде.
2.2. Вимкнути шлюз для конкретної країни
Припустімо, ви приймаєте замовлення зі США та Європи. Покупці зі Штатів платять через PayPal, а європейцям він ні до чого, у них локальні шлюзи. Код нижче прибирає PayPal для платіжної адреси в США:
1 add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_payment_gateway_disable_country' ); 2 function quadlayers_payment_gateway_disable_country( $available_gateways ) { 3 if ( is_admin() ) return $available_gateways; 4 if ( isset( $available_gateways['paypal'] ) && WC()->customer->get_billing_country() === 'US' ) { 5 unset( $available_gateways['paypal'] ); 6 } 7 return $available_gateways; 8 }
Ключовий момент, gateway ID. У кожного шлюзу він свій: paypal (PayPal), stripe (Stripe), bacs (прямий переказ) і cod (післяплата). Якщо не знаєте ID, відкрийте WooCommerce → Settings → Payments, клацніть правою кнопкою за назвою методу та виберіть «Inspect», у розмітці знайдіть атрибут data-gateway_id:

Після додавання коду перевірте чекаут: із платіжною адресою в США PayPal зникає, для решти країн залишається.

2.3. Вимкнути шлюз за сумою кошика
Деякі платіжні процесори беруть фіксовану комісію, яка з’їдає маржу на дрібних замовленнях. Скажімо, при сумі до 200 $ ви хочете залишити тільки прямий банківський переказ, а PayPal підключати для більших чеків:
1 add_filter( 'woocommerce_available_payment_gateways', 'quadlayers_disable_paypal_below_threshold' ); 2 function quadlayers_disable_paypal_below_threshold( $available_gateways ) { 3 $threshold = 200; 4 if ( WC()->cart->total < $threshold ) { 5 unset( $available_gateways['paypal'] ); 6 } 7 return $available_gateways; 8 }
Логіка проста: якщо сума кошика нижча за $threshold, PayPal вирізається зі списку. Значення порогу замініть на своє.

Спосіб 3: Плагін Conditional Payments, візуальний конструктор
Якщо лізти в functions.php не хочеться, те саме завдання вирішує плагін Conditional Payments for WooCommerce. Станом на липень 2026: версія 1.16.5, активні встановлення, сумісність з останніми WordPress і WooCommerce. Оновлювався 11 липня 2025.
Встановлення стандартне: Plugins → Add New, введіть «Conditional Payments for WooCommerce» у пошук, натисніть Install Now та Activate.

Налаштування умов
Після активації в меню WooCommerce з’являється пункт Conditional Payment Methods. Зайдіть у нього, переконайтеся, що прапорець «Enable conditions» активний, і натисніть Add condition.

На сторінці, що відкрилася, задайте чотири параметри:
- Title, назва умови, наприклад «Немає PayPal для дрібних замовлень».
- Action, виберіть Disable the payment method(s).
- Payment methods, позначте прапорцями шлюзи, які потрібно вимкнути (можна кілька).
- Conditions, логіка спрацювання. Наприклад: «Cart total < сума порогу» → PayPal вимикається.

Натисніть Publish, умова працює одразу. Перевірте чекаут із сумою нижче та вище порогу.
Безкоштовна версія оперує умовами: сума кошика, підсумок і підсумок без податків. Доступні оператори AND/OR, можна зібрати правило «вимкнути PayPal, якщо сума більша за X І менша за Y».
Premium-версія додає фільтрацію за країною, містом, роллю, категорією товару, валютою та десятком інших параметрів. На практиці, однак, безкоштовного функціоналу вистачає більшості магазинів.

⁉️🤔 Часті запитання
Як вимкнути платіжний метод для всіх покупців одразу?
Відкрийте WooCommerce → Settings → Payments і клацніть по перемикачу в колонці Enabled. Перемикач стане сірим, метод зникне з чекауту для всіх без винятку. Десять секунд, нуль ризиків.
Чи можна приховати шлюз лише для певної категорії товарів?
Безкоштовна версія Conditional Payments цього не вміє. Premium-версія фільтрує за категоріями, продуктами й атрибутами. Альтернатива, код на
woocommerce_available_payment_gatewaysіз перевіркоюWC()->cart->get_cart()на наявність товарів із потрібної категорії.
Чи вплине вимкнення шлюзу на вже оформлені замовлення?
Ні. Наявні замовлення не зачіпаються. Зміна стосується лише майбутніх чекаутів, усі попередні транзакції залишаються в історії без змін.
Що робити, якщо вимкнений шлюз однаково висить на чекауті?
Очистіть кеш сайту та браузера. Якщо встановлено плагін кешування (WP Rocket, W3 Total Cache), скиньте його кеш. Потім тимчасово вимкніть решту плагінів по одному та перевірте чекаут, можливо, конфлікт.
Чи можна повернути вимкнений метод назад?
Так, будь-якої миті. Спосіб 1: знову клацніть по перемикачу в Payments. Спосіб 2: видаліть або закоментуйте доданий код. Спосіб 3: деактивуйте умову в Conditional Payment Methods.
Чи обов’язково створювати дочірню тему перед редагуванням functions.php?
Наполегливо рекомендується. Без дочірньої теми правки злетять під час оновлення батьківської. Плагін Code Snippets, безпечна альтернатива: зберігає код у базі та не залежить від теми.
Підсумки: що обрати під вашу задачу
Три способи закривають три різні сценарії. Обирайте під свою ситуацію:
- Просто прибрати непотрібний шлюз для всіх → Спосіб 1, панель WooCommerce. Десять секунд, жодних ризиків.
- Потрібна логіка: за країною, сумою, роллю → Спосіб 2 (код) або Спосіб 3 (плагін). Код безплатний і не додає залежностей. Плагін дає візуальний інтерфейс і страхує від одруківок у
functions.php. - Тестуєте сайт, потрібно тимчасово приховати оплату → один рядок
add_filter( 'woocommerce_cart_needs_payment', '__return_false' )із розділу 2.1. Не забудьте видалити після тестів.
На практиці ми радимо почати з панелі WooCommerce для базового очищення, а для умовної логіки встановити Conditional Payments. Безплатної версії вистачає для більшості сценаріїв, а візуальний конструктор виключає людську помилку в коді. Коли умов стає більше пʼяти і магазин активно зростає, переходьте на код: один раз написали в functions.php і забули.


