Покупатель оформил заказ с оплатой картой и… увидел страницу «Спасибо» с маленькой кнопкой, которую легко не заметить. Он закрывает вкладку, думая, что все оплачено. Вы ждете деньги, которых не будет. Или иначе: оплата прошла, но статус заказа не изменился, потому что в настройках сервера не хватало ключа, и менеджер звонит покупателю с вопросом «вы оплатили?». Каждый такой случай — потерянная продажа или неловкий разговор. Мы в 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. Условия обслуживания и тарифы устанавливает сама платежная система — уточняйте их у нее.
Нужен ли программист, чтобы подключить оплату? Нет. Ключи, тестовый режим и основной провайдер настраиваются в админке. Разработчик понадобится, только если форма показывает предупреждение об адресе уведомлений.
Что делать, если покупатель оплатил с другого устройства? Ничего: после возврата страница «Спасибо» откроется для его заказа, а статус обновится после уведомления платежной системы.
Можно ли проверить оплату без реальных денег? Да, включите «Тестовый режим». Не забудьте выключить его перед запуском продаж.
Где посмотреть технические детали транзакции? На экране «Платежи» админки: сумма, провайдер, статус обработки и код ответа платежной системы.
Всё это уже работает в каждом магазине на платформе. Если вы только планируете создать интернет-магазин, загляните на страницу «стоимость создания интернет-магазина»: хостинг, обновления и поддержка уже входят в подписку.
Итог: что вы получаете
Мы сделали онлайн-оплату тем, что владелец настраивает сам: форма под каждую платежную систему с подсказками, скрытый секретный ключ, тестовый режим, адрес для уведомлений с кнопкой «Скопировать» и предупреждением об ошибках. Покупатель после оформления сам переходит к оплате, видит, что оплата проверяется, и может повторить попытку в один клик. Все новые возможности платформы — в разделе «Возможности».