Нет, так не получается, исходно так и сделал, но такое число шишек набил… В чем проблема, в описанной Вами схеме - она не работает, в случае, если по каким-то причинам статус заказа в CS-Cart не изменился. К сожалению, это не редкость. Самый распространенный пример - в случае, если пользователь закрыл страницу эквайринга, до редиректа в магазин. В этой ситуации статус у заказа не меняется, он зависает в подвешенном состоянии и требует внимания менеджера. Проблема в том, что менеджеры - люди и работают в рабочее время. Соответственно, легко может оказаться что заказ с оплатой оформлен вчера вечером, статус у него не изменился, модуль Атол не отработал, а менеджеры вышли на работу сегодня, или в понедельник… статус изменили, НО! Чек сформировался то уже не то что другим временем, а даже другой датой. Так нельзя, может привести к проблемам с налоговой. Чек должен формироваться тут же, при получении оплаты, а не позже, или вообще в другой день. А еще сам модуль Атол Онлайн может по разным причинам не отработать совсем, или, что еще хуже - не отработать корректно. Так же сталкивался - сайт столкнулся с повышенной нагрузкой, еле работал, были серьезные проблемы с производительностью от большого трафика. И ладно бы заниматься только этой проблемой - так еще из-за проблем с БД и модуль Атол Онлайн дел натворил. Т.е. как только что-то идет не так, возникает вместо одной проблемы сразу несколько.
По этой причине вариант иной использован, благо, банки предоставили такую возможность. В интернет-эквайринг передается полная информация о составе заказа, банк принимает деньги и тут же за счет собственной интеграции с онлайн-кассой, на своей стороне отправляет запрос на формирование чека в онлайн-кассу. Выходит - тот же банк, та же онлайн-касса, но маршрут не CS-Cart-> эквайринг, через какое-то время CS-Cart-Онлайн-касса, а CS-Cart-Интернет-эквайринг-Онлайн-касса-ОФД. Банк не косячит, всё работает отлично, независимо от того, в какой момент пользователь закрыл страницу эквайринга. Он отрабатывает по факту совершения операции. Онлайн-касса же, в свою очередь, так же имеет собственную интеграцию с ОФД и так же отправляет данные без какого-либо нашего участия.
Еще одна проблема модуля Атол Онлайн и в целом подхода формирования чеков на стороне магазина по статусу заказа. В случае, если менеджер косякнул и произвольному заказу, по ошибке, поставил статус соответствующий оплаченному заказу - формируется чек в онлайн-кассе, по заказу, деньги по которому не получались. Тоже неприятно выходит, на ровном месте. И хорошо если менеджер знающий и сообщил сразу о косячке. А если промолчал, не подумал? Бухгалтерия такие ошибки выявляет далеко не сразу и не сказать что в восторге от них.
В случае с онлайн-продажей товара с маркировкой, по-хорошему, маркировка товара должна быть сразу загружена в магазин. Иначе не прикрутить выходит онлайн-оплату. А тут уже… пусть расскажут о своём видении те, кто реализовал. Как мне видится - реестр маркировок товаров надо загружать в магазин. Трудоёмко и не для всех реализуемо… интересно тоже узнать, как кто делает.