Содержание
Чтобы настроить приём платежей через сайт, нужно выбрать платёжный шлюз (например, ЮKassa, Robokassa, Stripe, PayPal), получить API-ключи в его личном кабинете, добавить код или модуль на сайт и настроить обработку уведомлений о статусе платежа (webhooks). Способ настройки сильно зависит от того, на чём сделан сайт: конструктор (SitePro.by, Tilda), CMS (Joomla, WordPress) или самописное приложение. В большинстве случаев потребуется подтверждение юридического статуса (ИП или ООО) и расчётного счёта в банке.
Выбор способа приёма платежей
Прежде чем приступить к технической настройке, определите:
- Валюту и страну — российским онлайн-покупателям удобнее платить картами МИР, через SBP или Apple Pay; международные продажи — PayPal, Stripe.
- Способ оплаты — только банковские карты, электронные кошельки (ЮMoney, QIWI), рассрочка/кредит (это отдельные партнёры).
- Разовые или регулярные платежи (подписки требуют поддержки автосписания).
Самый простой путь для малого бизнеса — агрегатор платежей (ЮKassa, Robokassa, Tinkoff Pay). Они берут на себя техническое соответствие стандарту PCI DSS (безопасность карточных данных) и предоставляют готовый виджет оплаты.
| Платёжный агрегатор | Что нужно | Сложность интеграции | Подходит для |
|---|---|---|---|
| ЮKassa (Яндекс) | ИП/ООО, договор, сайт с SSL | Низкая (есть плагины для CMS) | Карты, Я.Деньги, SBP |
| Robokassa | ИП/ООО, загранпаспорт (для валюты) | Низкая/средняя | Карты, кошельки, криптовалюты (опционально) |
| Tinkoff Payment | Расчётный счёт в Тинькофф | Низкая (модули для популярных CMS) | Карты, рассрочка, Apple Pay |
| Stripe | ИП/ООО в стране из списка, подтверждённый адрес | Средняя (через API) | Карты, Google Pay, Link, идеально для международных продаж |
Пошаговая настройка для разных платформ
1. Конструкторы сайтов (SitePro.by, Tilda)
Первый из конструкторов — SitePro.by — имеет встроенные модули оплаты. Вам достаточно:
- Перейти в раздел «Интернет-магазин» → «Настройки оплаты».
- Выбрать платежную систему (ЮKassa, Robokassa, Stripe — в зависимости от тарифа).
- Вставить логин и пароль от мерчанта (выдаются агрегатором).
- В карточке товара поставить галку «Продавать онлайн».
В Tilda процесс аналогичен: есть блок «Товары» и форма оплаты через встроенный модуль. Однако возможности конструкторов для сложной логики (скидки, купоны, возвраты) ограничены.
2. CMS Joomla (и другие популярные)
Для Joomla (первой из популярных CMS) существует несколько компонентов для интернет-магазинов: VirtueMart (бесплатный), HikaShop, J2Store. Алгоритм:
- Установите компонент интернет-магазина (например, VirtueMart).
- В настройках магазина перейдите в раздел «Способы оплаты».
- Выберите «Добавить метод» — «Payment by Robokassa» или «ЮKassa» (если плагин установлен).
- Укажите ваш Merchant ID, Secret Key и другие параметры из личного кабинета платёжного шлюза.
- Обязательно настройте страницы «Успешная оплата» и «Ошибка» — обычно это стандартные материалы Joomla, которые вы создаёте заранее.
Для WordPress есть плагин WooCommerce с десятками бесплатных расширений для приёма платежей. Для Drupal — модуль Commerce Payment.
3. Собственная разработка (PHP, Python, Django)
Если сайт написан с нуля на фреймворке (Laravel, Symfony, Django), вам нужно реализовать интеграцию через API платёжного шлюза. Стандартный сценарий:
- Создайте заказ в своей базе данных с уникальным идентификатором.
- Сгенерируйте форму оплаты или перенаправьте пользователя на платёжную страницу шлюза, передав сумму, описание, callback URL.
- Настройте обработчик, который принимает HTTP-уведомления (webhook) от платёжной системы. В нём проверьте подпись (HMAC или signature), обновите статус заказа (оплачен/не оплачен).
- Реализуйте страницу возврата пользователя с подтверждением.
Никогда не доверяйте только клиентской стороне (JavaScript). Все проверки статуса платежа делайте на сервере, иначе злоумышленник сможет сымитировать успешную оплату.

Настройка сертификата SSL и хостинга
Для приёма платежей обязателен HTTPS-протокол (зашифрованное соединение). Платежные системы не будут перенаправлять данные на сайт без действующего SSL-сертификата. Большинство современных хостингов (например, hostpro и другие) предоставляют бесплатные сертификаты Let's Encrypt. Проверьте, что ваш сайт доступен по https://, а на страницах оплаты не смешанное содержимое (http-элементы).
На хостинге также должна быть разрешена функция отправки HTTP-запросов (curl или file_get_contents с allow_url_fopen) для обратного вызова.
Технические тонкости (webhooks, тестовый режим)
Все платёжные шлюзы предоставляют тестовый режим (sandbox), где используются фиктивные карты. Перед запуском обязательно:
- Проведите несколько тестовых оплат с разными суммами и валютами.
- Имитируйте неудачную оплату (недостаточно средств, неправильный CVV).
- Проверьте, что webhook обрабатывает дублирующиеся уведомления (идиопотентность).
- Убедитесь, что после успешной оплаты покупателю приходит письмо, а в вашей CRM создаётся заказ (если есть интеграция).
Для отладки webhook используйте сервисы типа ngrok или requestbin — они показывают, какие данные отправляет платёжная система.
Частые проблемы и их решение
- «Ошибка подписи» — проверьте, что вы используете правильный секретный ключ и одинаковый алгоритм (MD5, SHA-256). Настройте обработку в том же порядке параметров, что требует шлюз.
- Платеж прошёл, но статус не обновился — вероятно, не принимаются webhook-уведомления. Проверьте, что URL доступен из интернета и не требует авторизации, а ваш обработчик не выдаёт ошибку 500.
- Сайт не работает после установки модуля оплаты — конфликт версий PHP (шлюзы требуют 7.4+), или модуль несовместим с вашей CMS. Обновите ядро Joomla или WordPress до актуальной версии.
- Не отображаются способы оплаты в корзине — забыли включить нужную валюту или регион в настройках шлюза.
Безопасность приёма платежей
Никогда не храните на сервере номера карт или CVV-коды — это запрещено стандартом PCI DSS. Используйте платёжные шлюзы, которые полностью берут на себя хранение чувствительных данных. Если вы интегрируетесь через API напрямую, удостоверьтесь, что ваша система имеет сертификат PCI DSS (это сложно и дорого для малого бизнеса).
Регулярно обновляйте плагины оплаты в своей CMS (Joomla, WordPress) — старые версии могут содержать уязвимости. Установите ограничения на сумму платежа и количество попыток в минуту для защиты от автоматического подбора.
После настройки оплаты: тестирование и запуск
Когда всё настроено, не забудьте:
- Переключиться из тестового режима в боевой (live mode).
- Провести реальный платёж на минимальную сумму (например, 1 рубль) и убедиться, что деньги приходят на ваш расчётный счёт.
- Проверить автоматическое создание заказа в вашей CRM (если используется) или отправку уведомления на почту.
- Настроить автоматический возврат — если товара нет в наличии, клиенту должна быть возможность отменить заказ и вернуть деньги.
В конструкторах (SitePro.by, Tilda) процесс сводится к включению опции, в CMS — требует 30–60 минут на установку и настройку модуля, в самописном проекте — от двух дней до недели.
Резюме от эксперта
Настройка оплаты через сайт перестала быть сложной инженерной задачей. Сегодня она доступна даже начинающему предпринимателю через конструкторы или готовые модули для CMS. Главное — правильно выбрать платёжного агрегатора, оформить юридический статус и протестировать все сценарии. Начните с минимально работающего варианта (форма оплаты через самого популярного агрегатора), а по мере роста добавляйте новые методы (рассрочка, оплата через соцсети). Ошибки в настройках оплаты стоят реальных денег, поэтому не стесняйтесь привлекать разработчика или техподдержку шлюза на этапе интеграции.