Описать проблему ↗

Оплата и оформление

Не работает оплата на сайте: как определить этап сбоя

Покупатель не может оплатить заказ — но причины до списания денег и после него совершенно разные. Поможем определить этап, с которого начинать проверку.

Редакция «починимсайт» · Обновлено · 3 мин. чтения

Что происходит и с чего начать

Путь покупки состоит из оформления заказа, создания платежа, действий покупателя в банке и подтверждения результата магазину. Ошибка на любом участке выглядит как неработающая оплата. Начните с двух фактов: появился ли заказ и есть ли операция в кабинете платёжного провайдера. Это важнее общего текста ошибки на странице. Если деньги уже списаны, сначала разберите существующую операцию; повторная покупка может лишь добавить ещё один заказ и ещё один спорный платёж.

Что можно проверить самостоятельно

  1. Найдите заказ и запишите его номер, сумму и время попытки. Сравните их с операцией в кабинете провайдера, не ориентируясь только на уведомление покупателя из банка.
  2. Определите последний доступный экран: корзина, оформление, банковская форма или возврат в магазин. Сохраните точный текст ошибки и способ оплаты, на котором она появилась.
  3. Проверьте, затронуты ли все покупки или только один сценарий: телефон, конкретная доставка, валюта, карта либо СБП. Для проверки используйте предусмотренный системой тестовый режим.

Как понять результаты проверки

Если заказа нет, платёжные уведомления пока не являются главным подозреваемым: нужно восстановить оформление. Если заказ есть, но платёжная форма не открылась, проверяют создание операции и переход к провайдеру. Если операция оплачена, а магазин этого не знает, изучают серверное уведомление — сообщение от платёжной системы непосредственно сайту. Такая последовательность экономит время и не требует угадывать неисправность по слову «ошибка». Для обращения в поддержку полезна связка номера заказа, идентификатора платежа и времени.

Что проверяет разработчик

Для этой части понадобятся доступ к настройкам, журналам ошибок или коду. Её можно передать специалисту вместе с результатами предыдущих шагов.

  1. Проверьте, появился ли заказ до перехода к оплате. Если заказа нет, изучайте оформление и валидацию, а не уведомления платёжной системы.
  2. Если заказ создан, найдите запрос создания платежа и ответ провайдера. Сверьте сумму, валюту, магазин и режим работы без вывода секретных ключей.
  3. Если деньги уже списаны, сопоставьте идентификатор операции с заказом и входящим уведомлением. Не предлагайте покупателю платить повторно до проверки статуса.

На что обратить внимание

Возврат браузера на страницу успеха и серверное подтверждение платежа — независимые события. Покупатель может закрыть вкладку, а подтверждение должно быть обработано без его участия.

Как исправляют причину

Исправьте конкретную границу: данные заказа, авторизацию API, перенаправление или обработчик уведомления. Для временного отказа нужен понятный статус, позволяющий продолжить оплату без создания неопределённого количества заказов.

Как убедиться, что проблема решена

В тестовом режиме пройдите успешную оплату, отказ и закрытие вкладки. В каждом случае сравните статус у провайдера и на сайте; успешный платёж должен учитываться один раз.

Принимать исправление стоит по нескольким исходам: успешная покупка, отказ и незавершённая попытка. Во всех случаях должны сохраняться понятные статусы без лишних заказов. Отдельно проверяется повторное уведомление об уже учтённой оплате. Если речь о реальных списаниях, сверка и возвраты выполняются отдельно после подтверждения статуса, а не автоматически ради теста сайта.