Bitrix — переопределяем метод отправки чека пользователю OnPrintableCheckSend

CMS Bitrix отлично сочетается с Федеральным законом 54 (ФЗ-54). И встроенные механизмы позволяют связывать ККТ с интернет магазином.

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

Рассмотрим следующий пример:

1. У нас есть ККТ АТОЛ 30Ф и он синхронизирован с интернет магазином на Битрикс.

2. ККТ передаёт данные в ОФД «Ярус»

3. Битрикс отправляет чеки покупателю через Email

В версии Битрикс «Управление сайтом» 17.0.10 не может формировать корректную ссылку на чек для ОФД «Ярус», клиенту приходит письмо с заголовком «Ссылка на чек», но ссылки там нет(в теле письма).

Если заглянуть в исходники «Битрикс», то действительно там и намёка нет на то что бы была возможность получить ссылку от текущего ОФД. Для решения задачи можно взять и переопределить событие связанное с печатью чека.

Из документации «OnPrintableCheckSendСобытие позволяет переопределить стандартный механизм отправки уведомления о печати чека. » и в качестве примера указан следующий код

Что на практике получается для переопределения метода отправки:

На самом деле в функцию zixnruYarusOfdSent можно передать два параметра, это объект оплаты order и данные о чеке check. Но в текущем примере выбран не рациональный метод с дополнительными запросами в классе CheckYarusOFD которые дублируют параметр check. Такой метод сделан для наглядности.

Код класса CheckYarusOFD:

Так же для формирования ссылки на чек для Ярус ОФД есть отличное API которое можно получить по почте при запросе в ТК ОФД. Тогда вашим клиентам не придётся вводить на странице чека номер ККТ и признак фискального документа что бы определить подлинность самого чека.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *