Интеграция онлайн-оплаты на сайте: как это работает
Интеграция оплаты — это не кнопка. Это обмен между тремя сторонами: сайтом, платёжным провайдером и банком покупателя. Сайт создаёт платёж, провайдер проводит его, банк подтверждает, провайдер сообщает сайту результат, и только после этого заказ у вас меняет статус. Всё, что делает эту цепочку автоматической, и есть интеграция.
Разберём по шагам: что видит покупатель, что происходит внутри, откуда берётся чек и как работает возврат.
Что видит покупатель
Со стороны человека всё просто и должно оставаться простым:
- Складывает товары в корзину и оформляет заказ.
- Выбирает способ оплаты: карта или СБП.
- Попадает на страницу оплаты — форму карты или QR-код и переход в приложение банка.
- Подтверждает платёж.
- Возвращается на сайт и видит, что заказ оплачен.
- Получает чек и уведомление о заказе.
Шестой шаг важен: покупатель должен увидеть подтверждение на сайте, а не гадать, прошли деньги или нет. Возврат на страницу «спасибо» с номером заказа снимает половину обращений в поддержку.
Что происходит между сайтом и банком
Теперь то же самое изнутри.
- Сайт создаёт платёж. Отправляет провайдеру сумму, номер заказа и состав корзины. В ответ получает ссылку на оплату и идентификатор платежа.
- Покупатель платит. Данные карты вводятся на стороне провайдера или банка — на ваш сайт они не попадают. Это важная деталь: хранить карты у себя не нужно и не следует.
- Банк подтверждает или отклоняет. Проверка средств, подтверждение от банка покупателя.
- Провайдер сообщает сайту результат. Это отдельный запрос от провайдера на ваш сайт — уведомление о статусе платежа.
- Сайт меняет статус заказа. Оплачен — заказ уходит в работу. Отклонён — заказ остаётся ждать оплаты, покупателю можно предложить попробовать снова.
Четвёртый шаг — сердце интеграции. Именно уведомление от провайдера делает статусы честными.
Плохо: считать заказ оплаченным потому, что покупатель вернулся на страницу «спасибо». Он мог вернуться назад кнопкой браузера или закрыть вкладку до подтверждения. Хорошо: менять статус только по уведомлению от провайдера, а страницу «спасибо» использовать только для человека.
Кнопка оплаты и настоящая интеграция
Разница видна на одном вопросе: что происходит с заказом, когда деньги пришли.
Кнопка оплаты. Ссылка на форму платежа. Деньги приходят, но сайт об этом не знает. Кто-то открывает личный кабинет эквайера, сверяет суммы с заказами и вручную ставит «оплачено». На десяти заказах в месяц терпимо. На ста — это отдельный человек.
Интеграция. Платёж привязан к конкретному заказу. Результат приходит автоматически, статус меняется сам, оплаченный заказ появляется в работе у склада, покупателю уходит уведомление.
Что даёт интеграция сверх удобства:
- Видно, какие заказы созданы, но не оплачены, — их можно догонять.
- Видно, где платежи срываются: на каком шаге и как часто.
- Не бывает заказа, оплаченного дважды или отгруженного без оплаты.
- Заказ и платёж связаны, поэтому сверка занимает минуты, а не день.
Это часть общей логики магазина: заказ → оплата → сборка → отправление → статус. Подробно про всю цепочку — в статье про разработку интернет-магазина.
Карта и СБП
Два базовых способа, и они устроены по-разному со стороны покупателя.
- Карта. Привычная форма, реквизиты вводятся на стороне провайдера, подтверждение — по правилам банка покупателя.
- СБП. Оплата по QR-коду или переходом в приложение банка, без ввода реквизитов карты.
Для логики сайта разницы нет: оба способа создают платёж, оба возвращают результат, оба меняют статус заказа. Оба подключаются через одного провайдера. Условия по каждому способу — вопрос к банку-эквайеру, а не к разработчику.
Откуда берётся чек
При онлайн-оплате покупателю уходит чек. Формирует его не сайт: сайт передаёт состав заказа — позиции, количество, цены — в сервис, который отвечает за фискализацию, а тот отправляет чек покупателю.
Поэтому важно, чтобы состав заказа на сайте был корректным: чек собирается из тех же позиций, что и заказ. Общую механику и то, что стоит уточнить у бухгалтера и эквайера, разбираем в статье про онлайн-кассу и 54-ФЗ.
Как устроен возврат
Возврат — это тоже операция через провайдера, а не перевод со своего счёта.
По шагам:
- Покупатель просит вернуть деньги — целиком или частично.
- Сотрудник инициирует возврат в админке, по конкретному заказу.
- Сайт отправляет провайдеру запрос на возврат с суммой и идентификатором исходного платежа.
- Деньги возвращаются на тот же способ оплаты, которым платили.
- Статус заказа меняется, оформляется чек возврата.
Ключевое: возврат должен делаться в вашей админке, из карточки заказа, а не в личном кабинете эквайера. Иначе система не знает, что заказ возвращён, и данные снова расходятся.
Что нужно подготовить со своей стороны
- Договор с банком-эквайером или платёжным провайдером. Оформляется дольше, чем пишется код, — начинайте сразу.
- Реквизиты и документы организации или ИП.
- Решение по фискализации чеков — обсудить с бухгалтером и эквайером.
- Список нужных способов оплаты: карта, СБП, счёт для юрлиц.
- Понимание, кто и как делает возвраты.
Технически интеграция — обозримая работа. Проект чаще тормозит на первом пункте.
Коротко
- Оплата — это обмен между сайтом, провайдером и банком, а не одна кнопка.
- Статус заказа надо менять по уведомлению от провайдера, а не по возврату покупателя на страницу «спасибо».
- Карта и СБП различаются для покупателя, но одинаковы для логики заказа.
- Чек формирует не сайт: сайт передаёт состав заказа в сервис фискализации.
- Возвраты нужно делать из админки, из карточки заказа, иначе данные расходятся.
Обсудить проект
Подключим оплату так, чтобы статусы заказов менялись сами, а сверка занимала минуты. Расскажите про свой магазин в телеграм @artem_sergeevic.
Первый разговор — разбор задачи: нужна ли вам система или хватит одной страницы. Без обязательств и без счёта.
Частые вопросы
Чем кнопка оплаты отличается от полноценной интеграции?
Кнопка просто уводит человека платить. Интеграция дополнительно принимает от банка ответ о результате платежа и сама меняет статус заказа. В первом случае сверять оплаты приходится вручную, во втором заказ переходит в работу автоматически.
Нужно ли подключать и карты, и СБП?
Обычно да. Это разные привычки: одним удобнее ввести карту, другим — оплатить по QR или из приложения банка. Оба способа подключаются через одного провайдера и оба возвращают сайту результат платежа, так что для логики заказа разницы нет.
Сколько занимает подключение оплаты?
Техническая часть — сравнительно небольшая часть проекта. Дольше всего идёт оформление договора с эквайером и проверка сайта на его стороне. Поэтому мы советуем начинать оформление в первый день проекта, а не после сдачи сайта.
Те, что не помогают, мы переписываем — по этой кнопке и решаем, какие именно.
Ещё по теме
Что малому бизнесу от CRM реально нужно, чем готовая система отличается от своей внутри сайта и по каким признакам выбирать между ними.
тем, кто заказывает CRM купили, а работать в ней не стали: разбор причинШесть ошибок, из-за которых оплаченная CRM превращается в пустую базу, и что делать с каждой, пока подписка ещё действует.
тем, кто заказывает Freedom Gym: клубная система с абонементами и расписаниемИстория одного проекта: как из журнала на ресепшене выросла клубная система с абонементами, расписанием и правами тренеров, и что пошло не так.
тем, кто заказывает