Покупець оформив замовлення з оплатою карткою і… побачив сторінку «Дякуємо» з маленькою кнопкою, яку легко не помітити. Він закриває вкладку, думаючи, що все оплачено. Ви чекаєте гроші, яких не буде. Або інакше: оплата пройшла, але статус замовлення не змінився, бо в налаштуваннях сервера бракувало ключа, і менеджер дзвонить покупцеві з питанням «ви оплатили?». Кожен такий випадок — це втрачений продаж або незручна розмова. Ми в Turboshop переробили онлайн-оплату так, щоб її налаштовував сам власник в адмінці, а покупець доходив до оплати без зусиль.
Чому ми перенесли налаштування оплати в адмінку
Раніше частина налаштувань платіжних систем жила у файлах сервера. Змінити ключ чи вимкнути тестовий режим без розробника було неможливо, а коли файл був заповнений не до кінця, оплата LiqPay підписувалася без ключа, і сповіщення про оплату не змінювали статус замовлення. Ми бачили, як через це магазини тижнями приймали оплати «наосліп». Тому зробили простий принцип: усе, що потрібно для прийому онлайн-оплат — ключі, тестовий режим, який провайдер основний, — налаштовується в розділі «Інтеграції → Сервіси оплати», без участі розробника.
Список сервісів оплати
У таблиці видно всі підключені платіжні системи: ключ провайдера, назву, хто з них основний, чи увімкнений і чи працює в тестовому режимі. Основним може бути лише один провайдер — саме через нього проходять онлайн-оплати на оформленні замовлення.

Форма підлаштовується під платіжну систему
Під час створення провайдера ви спершу обираєте платіжну систему в полі «Ключ», і форма одразу показує лише потрібні поля з підказкою, де взяти дані. Ми зробили це, бо кожна система називає реквізити по-своєму, і найчастіша помилка — вставити ключ не в те поле.
LiqPay — «Публічний ключ» і «Приватний ключ». Обидва беруться в кабінеті LiqPay: Налаштування → API.

monobank — лише поле «Токен» з кабінету monobank для бізнесу. Окремого ID мерчанта тут немає, бо для monobank він не потрібен.

Fondy і WayForPay — «ID (логін) мерчанта» і «Секретний ключ мерчанта» з особистого кабінету відповідної системи.


Секретний ключ не видно навіть адміністратору
Приватний ключ, токен чи секретний ключ мерчанта ми зберігаємо в базі в зашифрованому вигляді й не показуємо в списках. У формі редагування це поле завжди порожнє з підказкою «Ключ збережено й приховано». Залишили порожнім — ключ не зміниться, вписали нове значення — замінили. Так ключ не «засвітиться» на скриншоті чи під час демонстрації екрана.

Тестовий режим: перевірте весь шлях без реальних грошей
Перемикач «Тестовий режим» є у формі кожного провайдера і окремою колонкою в таблиці. У LiqPay тестові платежі проходять увесь шлях і позначають замовлення сплаченим, хоча гроші не списуються, — так ви побачите те саме, що побачить покупець. Для Fondy і WayForPay використовується вбудований тестовий мерчант системи. Для monobank у поле «Токен» вписується тестовий токен. Головне правило: перед запуском продажів тестовий режим треба вимкнути, і форма нагадує про це підказкою.
Адреса для сповіщень про оплату
Статус «Сплачений» з'являється в замовленні автоматично, коли платіжна система надсилає магазину сповіщення. Для цього в неї має бути правильна адреса. Ми передаємо її автоматично з кожним платежем, але деякі кабінети просять вказати Service URL, Callback URL чи Webhook вручну. Тому у формі провайдера є блок «Адреса для сповіщень про оплату» з кнопкою «Скопіювати».

Якщо адреса не на HTTPS або не збігається з доменом сайту, форма одразу попередить: платіжна система не зможе надіслати статус оплати. Ми додали це попередження, бо така проблема тихо «ламає» оплату: гроші приходять, а замовлення лишаються неоплаченими.

Що бачить покупець: автоперехід до оплати
Онлайн-оплату покупець обирає на оформленні через метод «Оплата онлайн» — у нього в довіднику методів увімкнений перемикач «Онлайн-оплата».

Коли основний провайдер — LiqPay або monobank, ми не змушуємо покупця шукати кнопку. Сторінка «Дякуємо» показує відлік «Переходимо до оплати через 3 с…» і кнопку «Перейти до оплати зараз». Не натиснув — через три секунди перехід відбудеться сам.


Після оплати покупець повертається на «Дякуємо» і бачить «Очікуємо підтвердження оплати…». Сторінка оновлюється сама, поки платіжна система не підтвердить платіж. Це працює навіть тоді, коли покупець оплачував в іншому браузері чи в застосунку банку.

Якщо оплата не пройшла, покупець не губиться: бачить «Оплата не пройшла. Спробуйте ще раз.» і кнопку «Спробувати ще раз». Автоперехід спрацьовує один раз на замовлення, тож оновлення сторінки не відкриває оплату повторно. Для Fondy і WayForPay оплата, як і раніше, відкривається у вікні поверх сайту.

Надійність і безпека, яких не видно

- Сторінка «Дякуємо» не позначає замовлення сплаченим. Статус змінюється лише після сповіщення від платіжної системи.
- Сплачене не «відкочується». Пізнє сповіщення про попередню невдалу спробу не скасує успішну оплату; скасувати її може лише повернення того самого платежу.
- Захист від підробки. Тестові сповіщення Fondy і WayForPay приймаються лише для основного й увімкненого провайдера, а неперевірені чи пошкоджені запити отримують відмову — як у LiqPay і monobank.
- Окремі журнали без секретів. Для Fondy і WayForPay ведуться власні журнали прийнятих і відхилених сповіщень. Підписів, ключів, номера картки, email і телефону платника в них немає; записи зберігаються 30 днів.
Як підключити онлайн-оплату
- Відкрийте «Інтеграції → Сервіси оплати». Якщо потрібна система вже є в таблиці, відкрийте її кнопкою редагування; ні — натисніть «Створити».
- У полі «Ключ» оберіть платіжну систему, заповніть назву й реквізити за підказкою під полями.
- Увімкніть «Тестовий режим» і пройдіть оплату на сайті як покупець.
- Якщо кабінет платіжної системи просить Callback URL, скопіюйте адресу з блоку «Адреса для сповіщень про оплату».
- Позначте провайдера основним, вимкніть тестовий режим і перевірте, що в методу «Оплата онлайн» увімкнений перемикач «Онлайн-оплата».
Кому це дає найбільше

- Магазин подарунків і квітів. Покупець часто оплачує з телефона на ходу: автоперехід і повернення з застосунку банку прибирають зайві кроки.
- Цифрові товари й послуги. Без оплати замовлення не має сенсу: що менше кроків до оплати, то менше покинутих замовлень.
- Магазин, що зменшує частку накладеного платежу. Якщо ви хочете менше відмов від посилки, зробіть онлайн-оплату простою. Як вести оплату при отриманні, ми розповіли в статті про накладений платіж.
- Власник без технічної команди. Змінити ключ чи платіжну систему можна за п'ять хвилин в адмінці.
FAQ
Які платіжні системи підтримуються? LiqPay, monobank, Fondy і WayForPay. Умови обслуговування й тарифи встановлює сама платіжна система — уточнюйте їх у неї.
Чи потрібен програміст, щоб підключити оплату? Ні. Ключі, тестовий режим і основний провайдер налаштовуються в адмінці. Розробник знадобиться, лише якщо форма показує попередження про адресу сповіщень.
Що робити, якщо покупець оплатив з іншого пристрою? Нічого: після повернення сторінка «Дякуємо» відкриється для його замовлення, а статус оновиться після сповіщення платіжної системи.
Чи можна перевірити оплату без реальних грошей? Так, увімкніть «Тестовий режим». Не забудьте вимкнути його перед запуском продажів.
Де подивитися технічні деталі транзакції? На екрані «Платежі» адмінки: сума, провайдер, статус обробки й код відповіді платіжної системи.
Усе це вже працює в кожному магазині на платформі. Якщо ви тільки плануєте створити інтернет-магазин, зазирніть на сторінку «вартість створення інтернет-магазину»: хостинг, оновлення й підтримка вже входять у підписку.
Підсумок: що ви отримуєте
Ми зробили онлайн-оплату тим, що власник налаштовує сам: форма під кожну платіжну систему з підказками, прихований секретний ключ, тестовий режим, адреса для сповіщень з кнопкою «Скопіювати» й попередженням про помилки. Покупець після оформлення сам переходить до оплати, бачить, що оплата перевіряється, і може повторити спробу в один клік. Усі нові можливості платформи — у розділі «Можливості».