Чеки онлайн и оплата через Сбербанк

Подскажите, что не так и как поправить? Установил последнюю версию модуля Сбербанк Онлайн(вырезал из свежего дистрибутива). Однако в чеках нет товаров. В Сбербанке(в личном кабинете самого Сбера) настроена интеграция с Атол Онлайн, данные в Атол Онлайн попадают напрямую из Сбербанка. В чеках вместо перечня конкретных товаров при этом значится “Товар” и общая сумма.

@imac Прошу обратить внимание. У вас коммерческий продукт, который уже более месяца не соответствует актуальному законодательству(это обязательно с 1 июля). Однако модуль оплаты не отдает эквайрингу список товаров, соответственно пробиваются неправильные чеки(не смотря на то что эквайринг свою работу выполняет и данные в онлайн-кассу передает, которая в свою очередь отправляет в ОФД некорректные чеки, которые очень рада будет рассмотреть поближе налоговая). Работы тут не много. Поправить надо очень срочно(по-хорошему надо было это сделать очень давно, закон принят в 2017, если не раньше, и новостью не является). При этом в модуле Сбербанка поправить то надо всего несколько строк. В остальных скорее всего так же.

Что значит “вырезали”? Модуль из свежей версии накатили на старую версию? В этом случае нужно делать полный аудит всех используемых хуков, так как то, что используется в новой версии ядра, может отсутствовать в старой версии.

Зачем? Контроллер передающий данные в Сбер в одном файле и там ничего не изменялось сто лет, сверил - одно и то же, в функции отдающей данные Сберу передается лишь общая сумма. Модуль эквайринга Сбера очень простой, в нем даже не зная php понять что к чему не проблема.

    public function register($order_info, $protocol = 'current')
{
    $order_total = $this->convertSum($order_info['total']);
    $order_id = $order_info['order_id'];
    $orderNumber = $order_id . '_' . substr(md5($order_id . TIME), 0, 3);

    $data = array(
        'userName' => $this->_login,
        'password' => $this->_password,
        'orderNumber' => $orderNumber,
        'amount' => $order_total * 100,
        'returnUrl' => fn_url("payment_notification.return?payment=sberbank&ordernumber=$order_id", AREA, $protocol),
        'failUrl' => fn_url("payment_notification.error?payment=sberbank&ordernumber=$order_id", AREA, $protocol),
    );

    $this->_response = Http::post($this->_url . 'register.do', $data);
    $this->_response = json_decode($this->_response, true);

    if (!empty($this->_response['errorCode'])) {
        $this->_error_code = $this->_response['errorCode'];
        $this->_error_text = $this->_response['errorMessage'];
    }

    return $this->_response;
}

Нет решения?

У Вас эквайринг от Сбера нормально работает?
Хочу перейти к ним из Яндекс.Кассы, комиссия существенно меньше (около 2% против 3,6% у Яндекса). Яндекс пугает что процент успешных платежей снизится с нынешних 90% до 70%.
Реально?

Сложно сказать. Определенные проблемы есть, не у всех получается оформить заказ и оплатить. В кабинете Сбера очень большое количество транзакций со статусом Отклонен. Но я не могу точно сказать что с ними. Может, у людей не получилось оплатить на Сбере. Может, они и не планировали оплачивать - просто решили посмотреть что будет. А может в интеграции CS-Cart с кабинетом Сбера что-то не так и в каких-то случаях что-то косячится. У меня нет возможности объективно проверить и качественно протестировать всю связку чтобы найти все возможные ошибки и недоработки. Когда я сам пробую и оплачиваю всё ок, без проблем всё проходит и оплачивается. Ну и в целом, вроде как, работает… до недавнего времени оборот с оплатами через эквайринг был существенный. Будет ли лучше при эквайринге Яндекса - не знаю. Но мне так не кажется, мне кажется что они просто в край обнаглели с такими комиссиями. И 2% - это слишком много. На некоторые категории товаров у людей ВСЯ маржа 7%. А они хотят за эквайринг 3,5.

У меня сейчас Яндекс, поэтому вопрос - не будет ли хуже… Щас в личном кабинете неудачных транзакций нет вообще.
Ну, можно ведь два эквайринга иметь, посмотреть как будет.
Спасибо.

Ну, тут момент - Сбер показывает вообще все переходы на страницу эквайринга по которым не произведена оплата как неудачные. Если этого он бы не делал(что может делать Яндекс), то и неудачных операций бы не было.

а PayAnyWay показывает в таком случае Оплата не завершена, статус в системе у них меняется с Активен на Оплата не завершена

Добрый день!
У Вас решился вопрос с пробросом корзины в Сбер?
С 1/02 вообще номенклатуру в чеках под лупой смотрят(((

Добрый день!

Решился, самым неожиданным способом. Оказывается, у Сбербанка есть модуль собственной разработки. Так вот он как раз умеет передавать данные. И вместе с тем решилась проблема с чеками - подключив фискализацию Атол на стороне Сбербанка. Теперь всегда без проблем пробиваются чеки корректные(не зависимо, тормознул сайт или еще что случилось - всегда при поступлении денег формируется чек), во-вторых очень стало удобно делать возвраты в случае чего - потому как правильно формируется чеки возврата, причем реально удобно. Модуль прикрепил - но к нему нужна инструкция, найти не могу. Обратитесь в поддержку эквайринга Сбера с просьбой дать модуль и инструкцию - мне в течении часа всё предоставили.

cs-cart_4.6.x_rbspayment_2.3.0s.zip (16,5 КБ)

2 лайка

А, нашел кстати, ответ их поддержки:
Плагин для CS-Cart досутупен по ссылке: https://securepayments.sberbank.ru/wiki/doku.php/integration:cms:cs_cart:start
Чтобы в чек передавалось наименование товарных позиций, необходимо в настройках плагина выставить “Отправка корзины на шлюз”.

Документация по подключению Атол: https://securepayments.sberbank.ru/wiki/doku.php/other:54_fz:atol:checklist

Получить краткую консультацию или уточнить статус вопроса Вы можете у наших операторов по номеру 8-800-35-00-123 (или 0123 с мобильного)

Я писал про него тут…

Добрый день!
Вдруг (да и такое случается) выяснилось, что стандартная связка Сбербанк-Атол не оправляет чек покупателю. Даже если он указывает в форме для ввода данных карты свою почту. Скажите, у вас получается как-то отправить покупателю чек при оплате через Сбербанк?

Всегда ОФД отправляет чек, автоматически, ничего не настраивалось

Ок, а куда он их отправляет? В почту клиенту?

Да, на почту.

1 лайк