← Всі статті
1 серпня 2026 р.

Платіжний шлюз для WooCommerce: як захистити дані клієнтів і відповідати вимогам PCI DSS

Більшість власників магазинів на WooCommerce дізнаються про PCI DSS лише тоді, коли банк або платіжна система блокує їм прийом оплати. Або коли трапляється витік даних карток і доводиться відповідати

Більшість власників магазинів на WooCommerce дізнаються про PCI DSS лише тоді, коли банк або платіжна система блокує їм прийом оплати. Або коли трапляється витік даних карток і доводиться відповідати по закону. Це не технічна деталь — це фінансовий ризик. За невідповідність вимогам банк може виставити штраф від 5000 до 100 000 доларів, анулювати еквайринг і додати ваш магазин до чорного списку. І це без урахування репутаційних втрат. Хороша новина: виправити ключові порушення можна самостійно за одну-дві години. Далі — точний порядок дій, перевірений на реальних сайтах. Жодних «передайте програмісту» — тільки те, що ви можете зробити самі в адмінці.

Чому ваш сайт вже зараз під ризиком

Вимоги PCI DSS стосуються будь-якого сайту, який приймає банківські картки. Навіть якщо у вас невеликий магазин і 5 замовлень на день. Банки регулярно проводять автоматичні перевірки, і одна невідповідність — SSL, застарілий плагін, форма картки, яка передає дані на ваш сервер — може спричинити стягнення штрафу або припинення співпраці. При цьому більшість українських підприємців навіть не знають, що в їхньому WooCommerce за замовчуванням можуть зберігатися дані платіжних карток у базі даних. Це найкритичніше порушення.

Типова ситуація: власник встановлює плагін оплати, який перехоплює номер картки, кладе його в таблицю WooCommerce і нічого не шифрує. Банк під час чергового аудиту бачить такий «скарбник» і одразу ставить найвищий рівень ризику. Далі — штраф або розірвання договору. Щоб цього уникнути, не потрібно переписувати сайт. Достатньо замінити спосіб прийому платежів на один із безпечних варіантів і правильно налаштувати WordPress.

Платіжний шлюз для WooCommerce: покроковий план захисту

Ці кроки підходять для будь-якого магазину на WooCommerce, тому що всі налаштування ви робите через стандартну адмінку WordPress. Вони не потребують жодного коду. Починайте з того, що відкриєте консоль вашого сайту (ваш-домен/wp-admin).

Крок 1. Оновіть WooCommerce і WordPress.

Перейдіть у розділ «Плагіни» → «Список плагінів» і подивіться, чи немає повідомлення «Доступна нова версія». Якщо є — натисніть «Оновити». Потім зробіть те саме для плагінів, які стосуються оплати та кошика. Застарілі версії мають відомі вразливості, через які зловмисники зчитують номер картки прямо з форми. Банки перевіряють версії під час аудиту. Не оновити — автоматичний провал.

Крок 2. Виберіть платіжний шлюз, який не зберігає карткові дані на вашому сервері.

Це ключове рішення. Найбезпечніший «платіжний шлюз для WooCommerce» — це той, де клієнт вводить номер картки на сторінці банку або платіжного провайдера, а ваш сайт отримує лише результат оплати. Тоді ви автоматично виводите магазин із більшої частини вимог PCI DSS.

Найпростіший варіант — офіційний плагін Stripe. Встановіть його так: «Плагіни» → «Додати новий», у полі пошуку введіть Stripe Payment Gateway for WooCommerce, натисніть «Встановити» і «Активувати». Після активації відкрийте налаштування плагіна: «WooCommerce» → «Налаштування» → «Платежі» → оберіть Stripe. Вам знадобляться два ключі: publishable_key і secret_key. Вони знаходяться в акаунті Stripe у розділі Developers → API Keys. Скопіюйте їх і вставте у відповідні поля.

У цьому ж плагіні обов’язково увімкніть опцію 3D Secure. Знайдіть її в налаштуваннях Stripe і поставте галочку. Це додатковий захист від шахрайства, і банки вимагають його для онлайн-оплат. Stripe сам надсилатиме клієнту запит на підтвердження через SMS або застосунок банку. Номер картки при цьому йде безпосередньо в Stripe, ваш сервер його навіть не бачить.

Якщо Stripe вам не підходить (наприклад, працюєте з українськими платіжними системами), обирайте будь-який шлюз із рекламованим «Hosted Payment Page». Це означає, що оплата відбувається на сайті провайдера. Уникайте плагінів, які просять налаштувати форму картки прямо у WooCommerce — це завжди підвищує ризик і вимоги до сертифікації.

Крок 3. Увімкніть HTTPS та приберіть попередження про небезпечну сторінку.

Без SSL-сертифіката банки не пропустять ваш сайт. Більшість хостингів сьогодні дають безкоштовний сертифікат Let’s Encrypt. Перейдіть у панель вашого хостингу (cPanel або аналог), знайдіть розділ SSL/TLS Status і натисніть «Activate» для вашого домену. Якщо не знаєте, де це — зверніться у техпідтримку хостингу, але це швидко. Після активації зайдіть в адмінку WordPress: «Налаштування» → «Загальні», змініть «Адреса сайту» та «Адреса WordPress» з http:// на https://. Збережіть зміни.

Щоб автоматично перенаправляти відвідувачів із незахищеної версії на захищену, встановіть плагін Really Simple SSL. «Плагіни» → «Додати новий» → пошук → встановити → активувати. Плагін сам налаштує перенаправлення та виправить змішані ресурси. Після цього в браузері клієнта має з’явитися замок. Це також показник для банку, що сайт захищений.

Додаткові налаштування WooCommerce, які часто забувають

За замовчуванням WooCommerce дозволяє зберігати дані карток для повторних покупок. Якщо ви не впевнені, що це зберігання реалізоване через токенізацію платіжного провайдера (а в більшості випадків воно звичайне), — вимкніть це.

Відкрийте «WooCommerce» → «Налаштування» → «Акаунт та конфіденційність». Зніміть галочку з пункту «Дозволити клієнтам зберігати дані картки для наступних покупок». Це миттєво прибере з вашого сайту найбільш ризиковані дані. Якщо у вас вже накопичилися збережені номери в базі — видаліть їх. Це можна зробити через плагін WP-Optimize (заснований на очищенні тимчасових даних), але найбезпечніший спосіб — звернутися за консультацією до хостингу, щоб видалити таблицю оплат з даними карток. Після цього переконайтеся, що жоден плагін форми оплати не зберігає дані в сесії. Перевірити це просто: зробіть тестове замовлення, оплатіть карткою і подивіться на свою пошту — якщо у листі з новим замовленням є повний номер картки, у вас серйозна проблема. Терміново замініть шлюз на Hosted Payment Page.

Як перевірити, чи все зроблено правильно

Тепер, коли основні налаштування зроблені, потрібна незалежна перевірка. Встановіть плагін безпеки Wordfence Security. «Плагіни» → «Додати новий» → пошук → встановити → активувати. Після активації перейдіть у меню Wordfence і запустіть сканер. Він покаже наявність вразливих компонентів, відкриті файли, змінені файли ядра. Якщо є червоні попередження — уважно подивіться на «Критичні» і виправте за допомогою автоматичного оновлення або замініть проблемний плагін.

Далі перевірте системний статус WooCommerce: «WooCommerce» → «Статус». Якщо на вкладках «Стан системи» видно помаранчеві або червоні пункти (наприклад, застарілий PHP-код або невидалені файли з минулих оновлень), спробуйте оновити PHP у панелі хостингу або видалити файли вручну через FTP. Але це вже менш критично.

Остання дія — організуйте регулярні резервні копії. Встановіть UpdraftPlus — це плагін, який щодня (або щотижня) зберігає повну копію сайту в Google Drive або Dropbox. У налаштуваннях UpdraftPlus оберіть розклад «щодня» для бази даних і «щотижня» для файлів. Назвіть ці бэкапи так, щоб легко було знайти. Якщо щось піде не так і сайт зламають, ви відновите його за п’ять хвилин без втрати замовлень.

Що робити далі, якщо ви не зовсім впевнені

Після виконання цих кроків ваш «платіжний шлюз для WooCommerce» стає значно безпечніше: дані карток не зберігаються, SSL увімкнено, плагіни оновлені. Але є тонкі нюанси, які не видно без технічної експертизи: налаштування серверних заголовків, обмеження прав користувачів, коректна токенізація в специфічних шлюзах. Якщо ви спробували кроки вище, але відчуваєте, що щось не так — або просто не хочете розбиратися самостійно — ось тоді DevCev Digital може допомогти. Одна коротка перевірка зі звітом і ви точно знатимете, що ваш магазин відповідає вимогам PCI DSS.

Потрібна допомога з цим?

DevCev Digital спеціалізується саме на таких задачах. Розкажіть що потрібно — відповімо протягом кількох годин.

Безкоштовна діагностика →Всі послуги
← Назад до блогуЄ проєкт? Поговоримо →