Якось я працював з інтернет-магазином, де сталася підміна оплати: під час оформлення замовлення хтось замінив спосіб оплати. Покупець бачив звичну сторінку і думав, що платить магазину. Насправді його дані або гроші йшли не туди. Я прибрав підміну, не розбираючи її до кінця, тому механізм того випадку не відтворюю і не вигадую.
Але загальна картина відома зі звітів дослідників безпеки, і перед Black Friday (27 листопада) її варто знати кожному власнику магазину на WooCommerce, PrestaShop чи Shopify.
Немає часу розбиратися?
Якщо є підозра на підміну, знайду й приберу чужий код і закрию шлях, яким він потрапив на сайт. Лікування сайту від вірусів від 100 € HT. Якщо хочете зробити самі, нижче все покроково.
Підміна оплати в інтернет-магазині: два різновиди
Фальшива форма картки
На сторінці оплати з’являється чужий скрипт (невелика програма на JavaScript, яка працює в браузері покупця). Він копіює номер картки, строк дії та CVV (три цифри на звороті) і надсилає зловмисникові. Такий скрипт називають скімером (як накладку на банкомат), а техніку - Magecart. Гроші за замовлення при цьому зазвичай надходять вам, а картку потім використовують деінде.
Чужі реквізити
Змінюють те, куди йдуть гроші: IBAN для оплати переказом, адресу PayPal, посилання або кнопку оплати. Покупець платить повністю й чесно, але не вам. Ви бачите замовлення в статусі очікування оплати, а клієнт упевнений, що заплатив.
Масштаб першого різновиду вимірюють. За звітом Recorded Future (лютий 2026), у 2025 році було активно понад 10 500 заражень такими скімерами, з них понад 7 300 нових, і через них, за оцінкою компанії, скомпрометовано щонайменше 23 мільйони покупок. Щодо другого різновиду загальної статистики немає.
Як потрапляє чужий код, видно з випадків 2026 року:
- вразливий плагін. У травні Sansec описав діру в плагіні Funnel Builder для WooCommerce (встановлено в понад 40 000 магазинах): без жодного пароля зловмисник вписував у налаштування зовнішніх скриптів підробний «Google Tag Manager», а той завантажував скімер на кожну сторінку оплати;
- шаблон теми. У лютому PrestaShop розіслав магазинам попередження про шкідливий скрипт і радив перевірити файли теми;
- сторонній скрипт. У жовтні зламали спільний файл аналітики бразильської платформи інтернет-магазинів, і скімер опинився на сторінках оплати її магазинів;
- викрадений пароль до адмінки, хостингу або FTP: тоді змінити можна все, зокрема реквізити.
Чому власник цього не бачить
Ви відкриваєте свій магазин, усе на місці. Саме для цього скімер і створений:
- спрацьовує лише на сторінці оплати. Скімер, який Sucuri знайшов у базі даних WordPress у січні 2025 року, перевіряв адресу сторінки і вмикався тільки на оформленні замовлення;
- ховається від адміністратора. Скрипт із кампанії, яку описала Silent Push (січень 2026, активна щонайменше з 2022 року), видаляв себе, якщо бачив панель адміністратора WordPress, тобто вас;
- «помилка оплати». Покупець вводить картку у фальшиву форму, скрипт забирає дані й показує помилку. Людина думає, що помилилася, вводить картку ще раз, уже в справжню форму, і оплата проходить. У вас звичайне замовлення, у покупця через кілька тижнів чужі списання. Sansec називає це «double-tap» і в лютому 2026 знайшов таку схему у великої торговельної мережі на PrestaShop;
- маскується. Дані йдуть на адреси, схожі на лічильники відвідувань, а код може лежати в базі, де сканер файлів його не бачить.

Ознаки, які варто сприйняти серйозно
- клієнти пишуть про чужі списання з картки після покупки у вас. Одна скарга може бути збігом, дві-три за короткий час - привід перевірити;
- клієнти скаржаться на «помилку оплати», після якої з другого разу все пройшло;
- замовлення чекають оплати, а клієнти надсилають підтвердження переказу;
- у налаштуваннях оплати або в листах-підтвердженнях інший IBAN, інша адреса PayPal;
- в адмінці нові адміністратори, яких ви не створювали;
- у налаштуваннях додаткового коду чи зовнішніх скриптів, у віджетах або темі з’явилися скрипти, про які ви не знаєте;
- лист про ваш сайт від банку, платіжного сервісу чи дослідника безпеки: не видаляйте його як спам.
Як знизити ризик заздалегідь
Спосіб оплати. Найнадійніше, коли картку вводять не на вашому сайті: покупець натискає «Оплатити» і потрапляє на сторінку банку, Stripe Checkout чи PayPal. Форма картки тоді не у вас, і скрипти вашого сайту до неї не дотягуються. Переспрямування не знімає ризику повністю: підмінити можна й саму кнопку чи посилання на оплату, але місць, де можна підмінити оплату, стає набагато менше.
Якщо форма картки вбудована у вашу сторінку (так часто працюють модулі Stripe та інших провайдерів), на неї впливає все, що завантажується на цій сторінці. Для таких магазинів стандарт безпеки платіжних карток PCI DSS 4.0.1 (його дотримуються всі, хто приймає картки) з весни 2025 року вимагає вести облік скриптів на сторінці оплати і стежити за їхніми змінами. Від тих, хто відправляє покупця на сторінку провайдера, Рада PCI (організація, яка веде стандарт) у роз’ясненні від лютого 2025 року цієї перевірки на власному сайті не вимагає.

Оновлення. CMS, тема, плагіни та модулі оплати. Але оновлення закриває діру, а не прибирає те, що через неї вже записали: після оновлення Funnel Builder Sansec радив відкрити налаштування зовнішніх скриптів і видалити все незнайоме.
Доступи. Унікальні паролі до адмінки, хостингу й пошти, двофакторний вхід (код із телефона на додачу до пароля), раз на місяць переглядати список адміністраторів і видаляти зайвих.
Менше чужого коду на оформленні замовлення. Кожен лічильник, чат і рекламний піксель на сторінці оплати - ще один скрипт, якому ви довіряєте картки клієнтів. Stripe у посібнику з безпеки радить уникати JavaScript з інших сайтів на платіжних сторінках.
Стеження за змінами. Плагіни та сервіси моніторингу вміють повідомляти, коли змінюються файли сайту або набір скриптів на сторінці оплати. Якщо сайт у мене на обслуговуванні, я раз на добу перевіряю його вибрані сторінки власним моніторингом, на двох рівнях: вихідний код сторінки і те, що бачить відвідувач у браузері. Для магазину до цього переліку варто додати сторінки оформлення замовлення й оплати: якщо там змінилося бодай одне слово або з’явився новий скрипт, я дізнаюся про це щонайпізніше за 24 години.
Тестове замовлення як покупець. Раз на тиждень, особливо в листопаді, оформіть замовлення з телефона, не входячи в адмінку, у приватному вікні. Платіть не основною карткою, а віртуальною з банківського застосунку (у Франції e-Carte Bleue та аналоги) з невеликим лімітом, або дійдіть до форми оплати й уважно її роздивіться, не вводячи картку. Замовлення потім скасуйте і поверніть гроші. Дивіться: форма та сама, що завжди? Немає «помилки» з повторним введенням? Ті самі реквізити в листі-підтвердженні? Адміністраторові скімер може не показатися, звичайному відвідувачеві - покажеться. Докладніше про підготовку магазину до розпродажів - у статті «Інтернет-магазин перед Black Friday і Різдвом: технічний чекліст».
Якщо підозрюєте підміну: порядок дій
- Зупиніть приймання оплати. Вимкніть спосіб оплати або переведіть магазин у режим обслуговування (плагіном режиму обслуговування або попросивши хостинг закрити сайт). Кожна година роботи - нові картки клієнтів.
- Збережіть копію як доказ до очищення: файли, базу даних, журнали сервера (логи), скриншоти сторінки оплати. Так радить cybermalveillance.gouv.fr (французька державна платформа допомоги в разі кіберзагроз).
- Знайдіть і приберіть чуже. Налаштування зовнішніх скриптів і додаткового коду, віджети, тема, модулі оплати, реквізити в налаштуваннях і в шаблонах листів. У WordPress почніть з розділу віджетів (Вигляд > Віджети, якщо він є у вашій темі): блоки «HTML код» (у класичних віджетах «Власний HTML»), саме там Sucuri знайшов скімер. Потім налаштування теми й плагінів, які вставляють код у шапку і підвал. Скімер може лежати в базі, а не у файлах. Про перші ознаки злому WordPress докладніше в статті «Сайт WordPress зламали: перші ознаки».
- Закрийте вхід. Оновіть усе, змініть паролі до адмінки, хостингу, FTP і пошти, видаліть незнайомих адміністраторів, увімкніть двофакторний вхід. Інакше код повернеться.
- Повідомте платіжний сервіс і банк, який приймає для вас картки: у них свої процедури на випадок витоку даних карток.
- CNIL. Номери карток та імена покупців - персональні дані, а їхній витік - порушення захисту персональних даних (violation de données). Згідно зі статтею 33 GDPR (у Франції RGPD) про нього повідомляють CNIL (французький орган із захисту персональних даних) без невиправданої затримки і, за можливості, не пізніше ніж через 72 години після того, як ви про нього дізналися, крім випадків, коли порушення навряд чи створить ризик для прав і свобод людей, а покупців попереджають, якщо ризик для них високий (стаття 34). Якщо є сумнів, CNIL радить повідомити, вона підкаже, чи потрібно писати людям. Я не юрист, звіртеся зі сторінкою CNIL (французькою).
- Попередьте покупців за підозрілий період: попросіть їх перевірити виписки і, якщо є сумнів, зателефонувати в банк і заблокувати картку (faire opposition).
- Подайте заяву (plainte) до поліції чи жандармерії, онлайн (французькою) або у відділенні, і додайте збережені копії.
Якщо не знаєте, з чого почати, є державна онлайн-допомога 17Cyber, а на cybermalveillance.gouv.fr є список фахівців.
Чек-лист перед розпродажами
- оплата карткою відбувається на сторінці банку чи платіжного сервісу, або ви знаєте, які скрипти стоять на вашій сторінці оплати;
- CMS, тема, плагіни та модулі оплати оновлені;
- у налаштуваннях зовнішніх скриптів і додаткового коду немає незнайомого;
- IBAN і адреса PayPal у налаштуваннях і листах ваші;
- в адмінці лише ваші адміністратори, у всіх двофакторний вхід;
- зі сторінки оплати прибрано зайві лічильники й чати;
- тестове замовлення з телефона без входу в адмінку пройшло без «помилки», реквізити правильні;
- є свіжа копія сайту і зрозуміло, кому дзвонити, якщо щось не так.
Де краще зупинитися
Перевірити реквізити, адміністраторів і зробити тестове замовлення може будь-який власник магазину за пів години. А шукати без досвіду скімер, який ховається від адміністратора і лежить у базі, довго й ризиковано: можна видалити видиму частину і залишити ту, що поверне все назад.
Якщо час дорожчий
Знайти й прибрати чужий код, перевірити реквізити і закрити шлях, яким він потрапив на сайт, я можу взяти на себе: лікування сайту від вірусів від 100 € HT. А якщо хочете, щоб оплату, замовлення й оновлення магазину хтось перевіряв регулярно, є тариф Zen E-commerce від 199 € HT на місяць, умови на сторінці тарифів.
Джерела (перевірено 31.10.2026): Annual Payment Fraud Intelligence Report: 2025, Recorded Future, лютий 2026 (англійською); Funnel Builder vulnerability exploited, Sansec, 14.05.2026 (англійською); Global retailer PrestaShop store hacked, Sansec, 20.02.2026 (англійською); Silent Push Uncovers New Magecart Network, Silent Push, 13.01.2026 (англійською); PrestaShop security alert, 202-ecommerce, лютий 2026 (лист PrestaShop від 12.02.2026, англійською); Hackers hijack Convertr analytics script to steal payment card data, BleepingComputer, 27.10.2026, за даними Sansec (англійською); Stealthy credit card skimmer targets WordPress checkout pages, Sucuri, січень 2025 (англійською); FAQ clarifies new SAQ A eligibility criteria, PCI Security Standards Council, 28.02.2025 (англійською); Integration security guide, Stripe (англійською); Fiche réflexe Défiguration de site Internet, cybermalveillance.gouv.fr (французькою); Notifier une violation de données personnelles, CNIL (французькою); назви пунктів меню WordPress за translate.wordpress.org.
Не хочете розбиратися самі?
Опишіть задачу кількома словами. Відповім протягом робочого дня: що потрібно зробити, скільки це коштує і скільки триватиме.