Оплата, заказ и чек описывают разные события

Интеграцию онлайн-кассы с сайтом принимают по составу покупки и судьбе чека, а не по надписи об успешной оплате. Для магазина с оплатой на сайте и последующей доставкой нужно связать полученные деньги с товарами, которые покупатель заказал, и объяснить, что произойдёт при передаче покупки. Разберём этот путь на связке магазина, ЮKassa и сторонней онлайн-кассы. Налоговые признаки определяет кассовый специалист вместе с бухгалтером, который отвечает за учёт продавца, а владелец магазина оценивает передачу покупки: узнаёт каждую позицию, сравнивает оплаченную сумму и находит относящийся к ней документ.

Деньги уже получены. Чек ещё может ожидать обработки.

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

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

Что именно магазин передаёт для чека

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

В документации ЮKassa товарные позиции передаются отдельными элементами списка. Для заказчика отсюда следует практический ориентир: сравнивать каждую позицию с оформленной покупкой, которую сотрудник открыл рядом, чтобы за совпавшим итогом не пропустить потерянное исполнение, лишнее количество или название, которое покупатель не узнает. В сведениях о расчёте есть также данные покупателя. Без контакта нет адресата. Исполнитель объясняет, откуда берётся контакт для чека и как магазин обрабатывает его отсутствие до начала оплаты.

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

СведенияС чем сопоставитьПочему это влияет на приёмку
Название и исполнениеСтрока оформленного заказаПокупатель узнаёт купленный вариант
Количество и ценаРасчёт после применения скидкиОплата относится к фактически предложенной сумме
Контакт покупателяДанные, введённые до оплатыЕсть адресат электронного документа
Ссылка на платёжОперация в платёжном сервисеМожно разобрать конкретное расхождение

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

Скидка меняет строки, а не только итог

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

Для арифметической иллюстрации возьмём два товара стоимостью 800 и 1 200 рублей до скидки. Купон уменьшает покупку на 200 рублей. Если скидку распределили пропорционально стоимости, к оплате за первый товар приходится 720 рублей, за второй — 1 080 рублей. Это образец расчёта, а конкретный способ распределения и округления магазин согласует со своим кассовым специалистом.

Одного совпавшего итога недостаточно. Разница проявится при частичном возврате.

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

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

Кто определяет налоговые признаки

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

Не выбирайте ставку по старому снимку экрана. Она может относиться к другому периоду.

В актуальном справочнике параметров есть ставка НДС 22 %. Выбор ставки для вашего продавца отсюда не следует: список поддерживаемых значений шире одного варианта. Дата расчёта и налоговое положение организации имеют значение, поэтому перенос готового значения из чужого магазина — плохая экономия на постановке задачи.

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

Платёж принят: когда появляется чек?

Момент формирования чека определяется выбранным способом обмена. В ЮKassa предусмотрены три сценария: передача одновременно с платежом, до платежа или после него. Название сценария стоит записать в задании, потому что от него зависит поведение при недоступности кассы. Если подрядчик обещает одинаковый результат для любого подключения, попросите объяснить последовательность событий именно вашего магазина.

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

Задержка требует видимого статуса. Молчание системы оставляет сотрудника без следующего действия.

В описании чеков при платежах есть конкретное условие для сценария, где сначала регистрируют чек: если ответ от онлайн-кассы не придёт за пять минут, ЮKassa отменит платёж. Это правило этого сценария, а не общий срок для любого чека. Его полезно знать сотруднику поддержки, чтобы объяснить покупателю отмену и не предлагать повторную оплату без выяснения судьбы первой операции.

Один набор документов для приёмки

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

  • Покупка без скидки: названия, исполнения, количества и итог узнаваемы в заказе и чеке.
  • Покупка с уменьшением цены: оплаченная сумма распределена по строкам, разница округления объяснена.
  • Доставка за плату: видна её отдельная роль в расчёте и выбранный признак.
  • Оплата с задержкой кассового ответа: сотрудник видит состояние и знает, кому передать проблему.
  • Передача оплаченного товара: определено, какое событие запускает нужный документ.
  • Отказ от части покупки: способ оформления возврата связан с исходными строками.

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

Результат приёмки храните рядом с заданием. Снимок экрана без номера заказа быстро теряет ценность.

В истории платежей ЮKassa открываются детали операции, история событий и чеки. Это помогает связать замечание с конкретным платежом. В рабочий перечень можно записать номер заказа, идентификатор операции, ожидаемое содержание и найденное расхождение, не прикладывая открыто сведения покупателя. Разработчик тогда получает воспроизводимую проблему вместо сообщения, что касса работает неправильно.

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

Состав покупки остаётся опорой после запуска

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

На стороне магазина назначьте владельца кассовых вопросов, а изменения ассортимента и способа оплаты обсуждайте с ним до обновления сайта. Новая строка — повод вернуться к расчёту. Добавление услуги или нового способа доставки меняет содержание расчёта. Для доработки интеграции интернет-магазина передайте исполнителю выбранный сценарий обмена, правила строк и примеры документов, чтобы он мог проследить судьбу покупки от сохранения состава на сайте до ответа кассы, а сотрудник магазина — найти ошибку после запуска. Такое задание позволит продолжить работу со связкой, когда первоначальное подключение уже забыто.

Источники и полезные ссылки

  1. ЮKassa: сценарии отправки данных в стороннюю онлайн-кассу ↗
  2. ЮKassa: чеки при платежах и зачёт предоплаты ↗
  3. ЮKassa: значения признаков расчёта и ставок НДС ↗
  4. ЮKassa: история операции и просмотр чеков ↗

Интерфейсы и возможности сервисов могут меняться. Перед настройкой сверяйтесь с актуальной документацией.

Игорь Крещенко

Руководитель ШТАБ ИТ. Занимается управлением проектами, веб-разработкой, рекламой и PR. Подробнее об авторе →