@Snatch87
Битриксоид по принуждению

Как правильно указать тип оплачиваемой продукции Услуга?

Всем привет.

При настройке оплаты с сайта и печати чеков столкнулся с проблемой:
в чеках печатается тип оплачиваемой продукции, как Товар, хотя в настройках платежной системы указано, что это будет услуга.
Формат фискальных данных стоит 1.05
Для платежной системы использоуется модуль сбербанка sberbank.ecom

Общение с ТП сбербанка не принесло каких-либо результатов.

Может кто сталкивался с такой проблемой.
Скриншот настройки платежной системы 5c88b85bc3120879275413.jpeg
  • Вопрос задан
  • 1102 просмотра
Решения вопроса 1
@Snatch87 Автор вопроса
Битриксоид по принуждению
Как бы не было удивительно, но верный ответ на мой вопрос, дала ТП битрикса. Ну не то, чтобы верный, но проблема таким образом решается:
Добрый день!

С версии 18.5.10 модуля интернет-магазин, в обработчике события OnSaleCheckPrepareData у товаров и доставки, в поле PAYMENT_OBJECT можно изменить тип предмета расчета
https://dev.1c-bitrix.ru/api_d7/bitrix/sale/events...

Возможные значения поля PAYMENT_OBJECT:
\Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_COMMODITY // товар
\Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_EXCISE // акциз
\Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_JOB // работа
\Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE // услуга
\Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_PAYMENT // платеж

И действительно, запил обработчик, в нем для все товаров проставил Тип услуга \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE
/**
     * @param array $a
     * @param string $type
     * @return array
     */
    public static function courseCheckPrepareDataHandler(array $a, string $type) : array{

        if(!empty($a['PRODUCTS'])){
            foreach($a['PRODUCTS'] as $key => $product){
                $a['PRODUCTS'][$key]['PAYMENT_OBJECT'] = \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE;
            }
        }

        return $a;
    }


И в чеке появляется долгожданная надпись Услуга.
Надеюсь, что мой опыт будет кому-нибудь полезен.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sivll
а с чего начать?
нам битрикс тоже написал:
"... нужно добавить обработку события OnSaleCheckPrepareData"

а как его добавить, не знаю.. подскажите

Это надо делать в каждой платежной системе, установленной на сайте? Возможно ли вывести возможность выбора Товар-Услуга в свойство товара? Так как есть часть готовых товаров, остальные выставлены для примера и будут изготавливаться на заказ по размерам покупателя
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы