Опишите, какие покупки и платежи должен поддерживать сайт
Кнопка оплаты открывает страницу сервиса, тестовая операция проходит, и подключение кажется готовым. Но покупатель может закрыть окно, вернуться позже, нажать дважды или выбрать способ с другим порядком подтверждения. Приёмка должна охватывать весь путь: от известного состава заказа до правильного состояния в системе и понятного сообщения клиенту.
Начните с перечня сценариев: разовая покупка, оплата ранее созданного заказа, частичная оплата или другие действительно необходимые варианты. Не включайте сложные режимы на всякий случай. Каждый дополнительный сценарий требует правил учёта, интерфейса и испытаний. Способы оплаты и банковские тарифы выбираются отдельно; здесь проверяется их техническое соединение с магазином.
Для каждого сценария определите, когда создаётся заказ, когда фиксируется его сумма и какое событие разрешает дальнейшее исполнение. Если перед списанием требуется проверить наличие, это должно быть частью процесса. Двухстадийный платёж, когда авторизация и списание разделены, отличается от немедленного списания; нужный вариант согласуют с провайдером и ответственными за заказ.
Составьте короткую карту участников: сайт, платёжный сервис, учётная система, менеджер и покупатель. Укажите, где каждый видит результат и кто разбирает расхождение. Интеграция платёжной системы с сайтом не заканчивается внешним экраном: магазину нужен подтверждённый ответ для собственных действий.
Назначьте источник каждого состояния
Состояние заказа и состояние операции следует хранить так, чтобы сотрудник мог их различить. Заказ может быть создан, проверен, собран или отменён; платёж — ожидать действия, завершиться либо быть отменённым. Не пытайтесь передать все сочетания одной общей надписью «в работе». Она скрывает, можно ли исполнять заказ и требуется ли участие клиента.
За подтверждение платёжной операции отвечает информация провайдера, полученная предусмотренным интеграцией способом. Переход браузера на красивую страницу успеха не должен сам по себе менять заказ на оплаченный. Клиент может вернуться по старой ссылке или не вернуться вовсе, поэтому интерфейс и серверный учёт проверяют отдельно.
В описании процесса ЮKassa различаются промежуточные и финальные состояния, в том числе ожидание списания при двухстадийной оплате. Это пример устройства конкретного сервиса. В задании используйте его действующие значения и переводите их в понятные состояния магазина, не создавая собственные трактовки по похожему названию.
Согласуйте, какие действия разрешены после каждого подтверждённого результата. Отправка письма, запуск комплектации и передача заказа в другую систему могут иметь разные условия. Правила исполнения подробно рассмотрены в статье о статусах заказа; при подключении оплаты важно, чтобы платёжное событие запускало именно согласованное действие.
Разные сведения отвечают на разные вопросы
Заказ
Что выбрал клиент и на каких условиях магазин готов это исполнить.
Платёжная операция
Что подтверждено сервисом для конкретной суммы и попытки оплаты.
Сообщение клиенту
Что известно сейчас и какое действие доступно дальше.
Сохраните связь заказа, суммы и попыток оплаты
У заказа и операции должны быть устойчивые идентификаторы. Один заказ может иметь несколько попыток, поэтому связь нельзя строить только по сумме и времени. Попросите разработчика показать, как сотрудник найдёт операцию из карточки заказа и как по операции будет найден соответствующий заказ.
Определите момент, после которого сумма для конкретной попытки считается зафиксированной. Если клиент меняет количество, скидку или доставку, система должна пересчитать условия предусмотренным способом и не продолжать оплату по устаревшей сумме незаметно для человека. Особенно тщательно это проверяют при возвращении к ранее открытой странице.
Защитите повторные действия от лишних операций. Двойное нажатие, повторная отправка запроса или восстановление связи после ожидания не должны приводить к бесконтрольному созданию новых попыток и повторному исполнению. Как именно это реализовать, определяет разработчик по API провайдера; заказчик принимает наблюдаемое поведение.
Условный пример: человек нажал оплату, не увидел ответа и нажал снова. Хороший результат проверки — система понимает состояние уже начатой попытки и показывает дальнейший путь, сохраняя корректную связь. Недостаточный результат — на экране всё выглядит нормально, но в кабинете появились две независимые операции, о которых менеджер ничего не знает.
Подготовьте понятные экраны для успеха, ожидания и отказа
Для каждого результата напишите сообщение заранее. При подтверждённом успехе покажите номер заказа и следующий шаг магазина. При ожидании объясните, что результат ещё уточняется, и дайте безопасный способ вернуться к состоянию заказа. При отказе сообщите доступное действие без требования непременно повторить ту же операцию.
Не показывайте клиенту внутреннюю ошибку без перевода на понятный язык. Сотрудникам нужна подробная диагностическая запись, посетителю — что произошло с его заказом и куда обратиться. Не утверждайте, что деньги точно не списаны, если состояние не удалось получить. Неопределённый ответ сервиса нужно сначала сверить.
Предусмотрите закрытие вкладки, возврат через кнопку браузера и повторное открытие письма со ссылкой. Ссылка должна приводить к актуальному состоянию доступного этому пользователю заказа. Она не должна раскрывать чужие заказы или сохранять вечный экран успеха независимо от последующих изменений.
На телефоне проверьте переключение в банковское приложение, возвращение на сайт, видимость суммы и возможность найти номер заказа. Конкретный путь зависит от способа оплаты. Нельзя считать мобильную проверку выполненной по одному скриншоту платёжной страницы на компьютере: переход между приложениями меняет условия взаимодействия.
Проверьте получение результата независимо от страницы покупателя
Серверное уведомление сообщает магазину о событии у провайдера. Разработчик должен настроить его приём, проверку подлинности и обработку, а также показать связь с заказом. В документации ЮKassa по уведомлениям описаны подтверждение получения и проверка актуальности. Для приёмки нужны доказательства конкретного события, а не только включённая настройка.
Испытайте повторную доставку одного результата. Платёжная отметка может остаться той же, но связанные действия тоже должны быть защищены: второй комплект документов, письмо, задача или отгрузка не должны появиться только из-за повторного сообщения. Отдельно проверьте, как система обнаруживает уведомление, которое не смогла применить.
Предусмотрите сверку при задержке или пропуске сообщения. Магазин не должен бесконечно ждать, пока клиент пожалуется. Специалист предлагает подходящий способ проверки незавершённых операций и список исключений для ответственного сотрудника. Частота и механизм зависят от сервиса и нагрузки; не назначайте произвольный интервал без их учёта.
Журнал должен позволять найти время, операцию, заказ и результат обработки, сохраняя необходимый минимум данных. Секретные ключи и полные платёжные реквизиты не должны попадать в обычный отчёт приёмки. Доступы к настройкам и журналам передают тем сотрудникам, которым они нужны для обслуживания.
Составьте матрицу испытаний до начала интеграции
Тестирование оплаты на сайте становится проверяемым, когда у каждого случая есть входные данные и ожидаемый итог. В таблице укажите не только экран покупателя, но и записи в системах. Тогда результат можно принять даже при смене подрядчика: другой специалист повторит сценарий и увидит, что должно получиться.
| Сценарий | Что проверить у покупателя | Что проверить у магазина |
|---|---|---|
| Успешная попытка | Понятное подтверждение и номер заказа | Одна корректная связь с успешной операцией |
| Отмена или отказ | Доступное дальнейшее действие | Нет ложной отметки об успешной оплате |
| Закрытие страницы до возврата | Состояние доступно при повторном входе | Результат получен без участия браузера |
| Повторное событие | Нет противоречивых сообщений | Нет повторного исполнения |
| Изменение состава перед оплатой | Показана актуальная сумма | Сумма операции согласована с заказом |
Добавьте случаи, которые нужны именно вашему проекту: двухстадийная оплата, истёкшее время попытки, частичное списание или возврат. Не заявляйте поддержку сложного сценария только потому, что провайдер умеет его в принципе. Он должен быть предусмотрен магазином, разрешён условиями подключения и проверен в используемой интеграции.
Если в процессе есть отправка данных в кассовую или учётную систему, выделите её в самостоятельные проверки по утверждённому сценарию. Состав документов и правовые требования определяют профильные специалисты для конкретной компании. Техническая успешность платежа не подтверждает автоматически корректность всех связанных документов.
Разведите тестовые операции и реальные продажи
Используйте предусмотренный провайдером тестовый режим и данные для проверки. Возможности такой среды ограничены. Например, инструкция ЮKassa по тестированию отдельно перечисляет доступные способы и тестовые платёжные данные. Нельзя обещать, что любой способ оплаты будет полностью проверен в одной и той же тестовой среде.
Тестовые события не должны запускать настоящую комплектацию, сообщения покупателям и изменения рабочего учёта. Согласуйте отдельные адреса уведомлений и правила распознавания тестовых данных. Если проверку проводят на копии магазина, убедитесь, что она не использует рабочие доступы и не отправляет события в действующие внешние системы.
Для сценария, недоступного в тестовой среде, заранее определите отдельный контролируемый порядок проверки с ответственными со стороны компании и провайдера. Реальное финансовое действие не должно возникать случайно в конце приёмки. Зафиксируйте, что проверено полностью, что проверено частично и какой подтверждённый этап ещё нужен перед доступностью способа покупателям.
Сохраните ограничения теста. Успешная имитация ответа не подтверждает все особенности банка, устройства или внешней системы. Она проверяет определённую часть обработки. Честный протокол позволяет понимать остаточную неопределённость, а не объявлять всю интеграцию готовой по одной зелёной отметке.
Проверьте переход к рабочему подключению
Перед запуском специалист сверяет режим, идентификатор магазина, доступы, адреса уведомлений и страницы возврата. Владелец подтверждает доступные способы оплаты и порядок обслуживания заказов. Не оставляйте переключение тестовых параметров неявной последней задачей: оно должно быть отдельной строкой плана с проверкой результата.
Убедитесь, что сотрудники знают, где увидеть состояние и как передать расхождение. Подготовьте короткую инструкцию с номерами заказа и операции, без технических секретов. Если клиент говорит, что платёж прошёл, а заказ не оплачен, команда следует порядку сверки расхождения, а не предлагает повторную оплату наугад.
После запуска регулярно сравнивайте завершённые операции с отметками заказов и очередью исполнения. Назначьте того, кто проверяет исключения и доступен при сбое. Не требуется вручную разбирать каждое штатное событие бесконечно; нужен способ заметить несовпадение и довести его до результата.
Условия готовности к приёму оплаты
Сценарии согласованы
Определены сумма, состояния, последствия и исключения.
Испытания подтверждены
Зафиксированы результаты и ограничения доступных тестов.
Рабочие параметры сверены
Подключён нужный магазин, проверены адреса и режим.
Поддержка готова
Есть порядок сверки, ответственный и доступ к необходимым данным.
Принимайте платёжный путь, а не факт установки модуля
Итог приёмки удобно оформить списком сценариев с результатами, идентификаторами контролируемых операций и замечаниями. Приложите схему состояний, порядок обработки исключений и сведения о доступах для обслуживания. Список подключённых кнопок не показывает, что заказ и платёж согласованы.
Отдельно обозначьте неподдерживаемые возможности, чтобы менеджеры не обещали их покупателям. Если возврат, доплата или определённый способ ещё не включены, это должно быть видно в инструкции. Последующее добавление такого сценария проходит собственную проверку, а не считается автоматически покрытым первоначальным тестом.
После обновления магазина, платёжного модуля или изменения оформления повторяйте затронутые сценарии. Особенно важны сумма, связь с заказом и получение результата при закрытом браузере. Сохранённая матрица позволяет сделать такую проверку предметной, без пересказа всей истории подключения.
Для обсуждения интеграции с ШТАБ ИТ подготовьте список покупок, способов оплаты и систем, которые должны получить результат. Тогда объём определяется реальными сценариями. Подключение можно считать принятым, когда покупатель понимает состояние, магазин имеет подтверждённую операцию, а дальнейшие действия выполняются один раз и по согласованным правилам.
Источники и полезные ссылки
Интерфейсы и возможности сервисов могут меняться. Перед настройкой сверяйтесь с актуальной документацией.


